78 lines
2.6 KiB
QML
78 lines
2.6 KiB
QML
import QtQuick 2.2
|
|
import QtQuick.Layouts 1.1
|
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
|
import org.kde.plasma.plasmoid 2.0
|
|
import org.kde.kquickcontrolsaddons 2.0
|
|
import org.kde.kirigami 2.20 as Kirigami
|
|
|
|
PlasmoidItem {
|
|
id: syncthingApplet
|
|
|
|
// FIXME: adding title causes plasmawindowed to segfault
|
|
//Plasmoid.title: "Syncthing"
|
|
Plasmoid.icon: "syncthing"
|
|
// FIXME: not sure whether assigning switchWidth/switchHeight like this works
|
|
switchWidth: fullRepresentationItem ? fullRepresentationItem.Layout.minimumWidth : -1
|
|
switchHeight: fullRepresentationItem ? fullRepresentationItem.Layout.minimumHeight : -1
|
|
preferredRepresentation: fullRepresentation
|
|
compactRepresentation: CompactRepresentation {}
|
|
fullRepresentation: FullRepresentation {
|
|
Layout.minimumWidth: Kirigami.Units.gridUnit * Plasmoid.size.width
|
|
Layout.minimumHeight: Kirigami.Units.gridUnit * Plasmoid.size.height
|
|
}
|
|
toolTipMainText: Plasmoid.statusText
|
|
toolTipSubText: Plasmoid.additionalStatusText
|
|
toolTipItem: ToolTipView {}
|
|
|
|
Plasmoid.contextualActions: [
|
|
PlasmaCore.Action {
|
|
text: qsTr("Open Syncthing")
|
|
icon.name: "syncthing"
|
|
onTriggered: Plasmoid.showWebUI()
|
|
},
|
|
PlasmaCore.Action {
|
|
text: qsTr("Rescan all folders")
|
|
icon.name: "folder-sync"
|
|
onTriggered: Plasmoid.connection.rescanAllDirs()
|
|
},
|
|
PlasmaCore.Action {
|
|
text: qsTr("Show own device ID")
|
|
icon.name: "view-barcode-qr"
|
|
onTriggered: Plasmoid.showOwnDeviceId()
|
|
},
|
|
PlasmaCore.Action {
|
|
text: qsTr("Restart Syncthing")
|
|
icon.name: "system-reboot"
|
|
onTriggered: Plasmoid.connection.restart()
|
|
},
|
|
PlasmaCore.Action {
|
|
text: qsTr("Log")
|
|
icon.name: "text-x-generic"
|
|
onTriggered: Plasmoid.showLog()
|
|
},
|
|
PlasmaCore.Action {
|
|
text: qsTr("Internal errors")
|
|
icon.name: "data-error"
|
|
onTriggered: Plasmoid.showInternalErrorsDialog()
|
|
visible: Plasmoid.hasInternalErrors
|
|
},
|
|
PlasmaCore.Action {
|
|
text: qsTr("About")
|
|
icon.name: "help-about"
|
|
onTriggered: Plasmoid.showAboutDialog()
|
|
}
|
|
]
|
|
|
|
PlasmaCore.Action {
|
|
id: configureAction
|
|
text: qsTr("Settings")
|
|
icon.name: "configure"
|
|
onTriggered: Plasmoid.showSettingsDlg()
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
Plasmoid.initEngine(this)
|
|
Plasmoid.setInternalAction("configure", configureAction)
|
|
}
|
|
}
|