2013-08-22 02:21:08 +01:00
/ * *
* Copyright 2013 Albert Vaca < albertvaka @ gmail . com >
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation ; either version 2 of
* the License or ( at your option ) version 3 or any later version
* accepted by the membership of KDE e . V . ( or its successor approved
* by the membership of KDE e . V . ) , which shall act as a proxy
* defined in Section 14 of version 3 of the license .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2019-03-23 16:29:26 +00:00
* along with this program . If not , see < https: //www.gnu.org/licenses/>.
2013-08-22 02:21:08 +01:00
* /
2014-06-18 01:35:48 +01:00
import QtQuick 2.1
import org . kde . plasma . core 2.0 as PlasmaCore
import org . kde . plasma . components 2.0 as PlasmaComponents
import org . kde . plasma . extras 2.0 as PlasmaExtras
2013-08-22 02:21:08 +01:00
import org . kde . kdeconnect 1.0 as KdeConnect
2019-06-22 11:12:48 +01:00
import QtQuick . Layouts 1.9
2019-09-19 17:46:21 +01:00
import org . kde . kquickcontrolsaddons 2.0
2013-08-22 02:21:08 +01:00
Item {
id: kdeconnect
2015-03-12 23:56:25 +00:00
property alias devicesModel: devicesView . model
2013-08-22 02:21:08 +01:00
2019-09-20 00:29:23 +01:00
KdeConnect . DevicesModel {
id: allDevicesModel
}
2020-03-04 17:21:06 +00:00
KdeConnect . DevicesModel {
id: pairedDevicesModel
displayFilter: KdeConnect . DevicesModel . Paired
}
2019-09-20 00:29:23 +01:00
2019-06-22 11:12:48 +01:00
ColumnLayout {
2020-03-04 17:21:06 +00:00
spacing: units . smallSpacing
2019-06-22 11:12:48 +01:00
visible: devicesView . count == 0
2019-09-19 17:39:45 +01:00
anchors.fill: parent
2019-06-22 11:12:48 +01:00
2020-03-04 17:21:06 +00:00
Item {
Layout.fillHeight: true
}
2019-06-22 11:12:48 +01:00
PlasmaExtras . Heading {
id: heading
Layout.fillWidth: true
2020-03-04 17:21:06 +00:00
visible: pairedDevicesModel . count >= 0
2019-06-22 11:12:48 +01:00
level: 3
2020-03-04 17:21:06 +00:00
enabled: false
text: pairedDevicesModel . count == 0 ? i18n ( "No paired devices" ) : i18np ( "Paired device is unavailable" , "All paired devices are unavailable" , pairedDevicesModel . count )
horizontalAlignment: Text . AlignHCenter
wrapMode: Text . WordWrap
2019-06-22 11:12:48 +01:00
}
2020-03-04 17:21:06 +00:00
PlasmaExtras . Heading {
2019-06-22 11:12:48 +01:00
Layout.fillWidth: true
2019-09-20 00:29:23 +01:00
visible: allDevicesModel . count == 0
2020-03-04 17:21:06 +00:00
level: 3
2019-06-22 11:12:48 +01:00
text: i18n ( "Install KDE Connect on your Android device to integrate it with Plasma!" )
horizontalAlignment: Text . AlignHCenter
wrapMode: Text . WordWrap
}
PlasmaComponents . Button {
2019-09-19 17:39:45 +01:00
Layout.leftMargin: units . largeSpacing
Layout.rightMargin: units . largeSpacing
2019-06-22 11:12:48 +01:00
Layout.alignment: Qt . AlignHCenter
2019-09-19 17:39:45 +01:00
Layout.fillWidth: true
2019-09-20 00:29:23 +01:00
visible: allDevicesModel . count == 0
2019-06-22 11:12:48 +01:00
text: i18n ( "Install from Google Play" )
onClicked: Qt . openUrlExternally ( "https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp" )
}
PlasmaComponents . Button {
2019-09-19 17:39:45 +01:00
Layout.leftMargin: units . largeSpacing
Layout.rightMargin: units . largeSpacing
2019-06-22 11:12:48 +01:00
Layout.alignment: Qt . AlignHCenter
2019-09-19 17:39:45 +01:00
Layout.fillWidth: true
2019-09-20 00:29:23 +01:00
visible: allDevicesModel . count == 0
2019-06-22 11:12:48 +01:00
text: i18n ( "Install from F-Droid" )
onClicked: Qt . openUrlExternally ( "https://f-droid.org/en/packages/org.kde.kdeconnect_tp/" )
}
2019-09-19 17:46:21 +01:00
PlasmaComponents . Button {
Layout.alignment: Qt . AlignHCenter
2020-03-04 17:21:06 +00:00
text: pairedDevicesModel . count == 0 ? i18n ( "Pair a Device..." ) : i18n ( "Configure..." )
iconName: pairedDevicesModel . count == 0 ? "list-add" : "configure"
2019-09-19 17:46:21 +01:00
onClicked: KCMShell . open ( "kcm_kdeconnect" )
visible: KCMShell . authorize ( "kcm_kdeconnect.desktop" ) . length > 0
}
2019-06-22 11:12:48 +01:00
Item {
Layout.fillHeight: true
}
2013-08-22 02:21:08 +01:00
}
2013-11-15 16:41:33 +00:00
/ *
//Startup arguments
PlasmaComponents . Label {
visible: ( startupArguments . length > 0 )
text: ( "" + startupArguments )
anchors.fill: parent
}
* /
2013-08-22 02:21:08 +01:00
PlasmaExtras . ScrollArea {
id: dialogItem
anchors.fill: parent
2019-06-22 11:12:48 +01:00
visible: devicesView . count > 0
2013-08-22 02:21:08 +01:00
2014-06-27 14:29:53 +01:00
ListView {
2013-08-22 02:21:08 +01:00
id: devicesView
anchors.fill: parent
delegate: DeviceDelegate { }
}
}
}