[applet] Port to Kirigami.PlaceholderMessage
This new Kirigami component was just introduced with https://phabricator.kde.org/D29057. ref T13021
This commit is contained in:
parent
02b38f56f6
commit
a9d0cb64b7
3 changed files with 50 additions and 69 deletions
|
@ -6,7 +6,7 @@ if (SAILFISHOS)
|
|||
set(KF5_MIN_VERSION "5.36.0")
|
||||
set(QT_MIN_VERSION "5.6.0")
|
||||
else()
|
||||
set(KF5_MIN_VERSION "5.64.0")
|
||||
set(KF5_MIN_VERSION "5.70.0")
|
||||
set(QT_MIN_VERSION "5.10.0")
|
||||
endif()
|
||||
set(QCA_MIN_VERSION "2.1.0")
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick 2.4
|
||||
import QtQuick.Controls 2.4
|
||||
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
|
||||
|
@ -26,6 +27,8 @@ import org.kde.kdeconnect 1.0 as KdeConnect
|
|||
import QtQuick.Layouts 1.9
|
||||
import org.kde.kquickcontrolsaddons 2.0
|
||||
|
||||
import org.kde.kirigami 2.12 as Kirigami
|
||||
|
||||
Item {
|
||||
id: kdeconnect
|
||||
property alias devicesModel: devicesView.model
|
||||
|
@ -38,69 +41,6 @@ Item {
|
|||
displayFilter: KdeConnect.DevicesModel.Paired
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
spacing: units.smallSpacing
|
||||
visible: devicesView.count == 0
|
||||
anchors.fill: parent
|
||||
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
PlasmaExtras.Heading {
|
||||
id: heading
|
||||
Layout.fillWidth: true
|
||||
visible: pairedDevicesModel.count >= 0
|
||||
level: 3
|
||||
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
|
||||
}
|
||||
|
||||
PlasmaExtras.Heading {
|
||||
Layout.fillWidth: true
|
||||
visible: allDevicesModel.count == 0
|
||||
level: 3
|
||||
text: i18n("Install KDE Connect on your Android device to integrate it with Plasma!")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
PlasmaComponents.Button {
|
||||
Layout.leftMargin: units.largeSpacing
|
||||
Layout.rightMargin: units.largeSpacing
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.fillWidth: true
|
||||
visible: allDevicesModel.count == 0
|
||||
text: i18n("Install from Google Play")
|
||||
onClicked: Qt.openUrlExternally("https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp")
|
||||
}
|
||||
|
||||
PlasmaComponents.Button {
|
||||
Layout.leftMargin: units.largeSpacing
|
||||
Layout.rightMargin: units.largeSpacing
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.fillWidth: true
|
||||
visible: allDevicesModel.count == 0
|
||||
text: i18n("Install from F-Droid")
|
||||
onClicked: Qt.openUrlExternally("https://f-droid.org/en/packages/org.kde.kdeconnect_tp/")
|
||||
}
|
||||
|
||||
PlasmaComponents.Button {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
text: pairedDevicesModel.count == 0 ? i18n("Pair a Device...") : i18n("Configure...")
|
||||
iconName: pairedDevicesModel.count == 0 ? "list-add" : "configure"
|
||||
onClicked: KCMShell.open("kcm_kdeconnect")
|
||||
visible: KCMShell.authorize("kcm_kdeconnect.desktop").length > 0
|
||||
}
|
||||
|
||||
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
//Startup arguments
|
||||
PlasmaComponents.Label {
|
||||
|
@ -113,12 +53,56 @@ Item {
|
|||
PlasmaExtras.ScrollArea {
|
||||
id: dialogItem
|
||||
anchors.fill: parent
|
||||
visible: devicesView.count > 0
|
||||
|
||||
ListView {
|
||||
id: devicesView
|
||||
anchors.fill: parent
|
||||
delegate: DeviceDelegate { }
|
||||
|
||||
Kirigami.PlaceholderMessage {
|
||||
// For optimal label and button sizing
|
||||
width: units.gridUnit * 20
|
||||
anchors.centerIn: parent
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.margins: units.largeSpacing
|
||||
|
||||
visible: devicesView.count == 0
|
||||
|
||||
text: {
|
||||
if (pairedDevicesModel.count >= 0) {
|
||||
return pairedDevicesModel.count == 0 ? i18n("No paired devices") : i18np("Paired device is unavailable", "All paired devices are unavailable", pairedDevicesModel.count)
|
||||
} else if (allDevicesModel.count == 0) {
|
||||
return i18n("Install KDE Connect on your Android device to integrate it with Plasma!")
|
||||
}
|
||||
}
|
||||
helpfulAction: Action {
|
||||
text: pairedDevicesModel.count == 0 ? i18n("Pair a Device...") : i18n("Configure...")
|
||||
icon.name: pairedDevicesModel.count == 0 ? "list-add" : "configure"
|
||||
onTriggered: KCMShell.open("kcm_kdeconnect")
|
||||
enabled: KCMShell.authorize("kcm_kdeconnect.desktop").length > 0
|
||||
}
|
||||
|
||||
PlasmaComponents.Button {
|
||||
Layout.leftMargin: units.largeSpacing * 3
|
||||
Layout.rightMargin: units.largeSpacing * 3
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.fillWidth: true
|
||||
visible: allDevicesModel.count === 0
|
||||
text: i18n("Install from Google Play")
|
||||
onClicked: Qt.openUrlExternally("https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp")
|
||||
}
|
||||
|
||||
PlasmaComponents.Button {
|
||||
Layout.leftMargin: units.largeSpacing * 3
|
||||
Layout.rightMargin: units.largeSpacing * 3
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.fillWidth: true
|
||||
visible: allDevicesModel.count === 0
|
||||
text: i18n("Install from F-Droid")
|
||||
onClicked: Qt.openUrlExternally("https://f-droid.org/en/packages/org.kde.kdeconnect_tp/")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,9 +26,6 @@ import org.kde.kdeconnect 1.0
|
|||
|
||||
Item
|
||||
{
|
||||
width: units.gridUnit * 20
|
||||
height: units.gridUnit * 32
|
||||
|
||||
DevicesModel {
|
||||
id: connectDeviceModel
|
||||
displayFilter: DevicesModel.Paired | DevicesModel.Reachable
|
||||
|
|
Loading…
Reference in a new issue