Warning, /system/kup/plasmoid/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2020 Simon Persson <simon.persson@mykolab.com>
0002 //
0003 // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004
0005 import QtQuick 2.0
0006 import org.kde.plasma.plasmoid 2.0
0007 import org.kde.plasma.core 2.0 as PlasmaCore
0008 import org.kde.plasma.plasma5support as Plasma5Support
0009 import org.kde.kquickcontrolsaddons 2.0 as KQCAddons
0010 import org.kde.kirigami 2.15 as Kirigami
0011
0012 PlasmoidItem {
0013 readonly property bool inPanel: (Plasmoid.location === PlasmaCore.Types.TopEdge
0014 || Plasmoid.location === PlasmaCore.Types.RightEdge
0015 || Plasmoid.location === PlasmaCore.Types.BottomEdge
0016 || Plasmoid.location === PlasmaCore.Types.LeftEdge)
0017
0018 function symbolicizeIconName(iconName) {
0019 const symbolicSuffix = "-symbolic";
0020 if (iconName.endsWith(symbolicSuffix)) {
0021 return iconName;
0022 }
0023 return iconName + symbolicSuffix;
0024 }
0025
0026 switchWidth: Kirigami.Units.gridUnit * 10
0027 switchHeight: Kirigami.Units.gridUnit * 10
0028 toolTipMainText: getCommonStatus("tooltip title", "Error")
0029 toolTipSubText: getCommonStatus("tooltip subtitle", "No connection")
0030
0031 Plasmoid.icon: inPanel
0032 ? symbolicizeIconName( getCommonStatus("tooltip icon name", "kup"))
0033 : getCommonStatus("tooltip icon name", "kup")
0034
0035 Plasmoid.status: getCommonStatus("tray icon active", false)
0036 ? PlasmaCore.Types.ActiveStatus
0037 : PlasmaCore.Types.PassiveStatus
0038
0039 Plasma5Support.DataSource {
0040 id: backupPlans
0041 engine: "backups"
0042 connectedSources: sources
0043
0044 onSourceAdded: {
0045 disconnectSource(source);
0046 connectSource(source);
0047 }
0048 onSourceRemoved: {
0049 disconnectSource(source);
0050 }
0051 }
0052
0053
0054 function getCommonStatus(key, def){
0055 var result = backupPlans.data["common"][key];
0056 if(result === undefined) {
0057 result = def;
0058 }
0059 return result;
0060 }
0061
0062 function action_configure() {
0063 KQCAddons.KCMShell.openSystemSettings("kcm_kup");
0064 }
0065
0066 function action_reloadKup() {
0067 var service = backupPlans.serviceForSource("daemon");
0068 var operation = service.operationDescription("reload");
0069 service.startOperationCall(operation);
0070 }
0071
0072 property int planCount: backupPlans.data["common"]["plan count"]
0073
0074 fullRepresentation: FullRepresentation {}
0075
0076 Component.onCompleted: {
0077 plasmoid.removeAction("configure");
0078 plasmoid.setAction("configure", i18nd("kup", "&Configure Kup..."), "configure");
0079
0080 plasmoid.setAction("reloadKup", i18nd("kup", "&Reload backup plans"), "view-refresh");
0081 }
0082 }