This commit adds a plugin that currently reports cpu usage but it can be extended to
report more information in the future, it also added the needed code for it to be accessed
from QML.
Details
Details
- Reviewers
- None
- Group Reviewers
KDE Connect
Diff Detail
Diff Detail
- Repository
- R224 KDE Connect
- Branch
- applauncher (branched from master)
- Lint
Lint OK - Unit
No Unit Test Coverage - Build Status
Buildable 5332 Build 5350: arc lint + arc unit
Comment Actions
To test you can apply
diff --git a/plasmoid/package/contents/ui/DeviceDelegate.qml b/plasmoid/package/contents/ui/DeviceDelegate.qml index 8640f651..9170aa1c 100644 --- a/plasmoid/package/contents/ui/DeviceDelegate.qml +++ b/plasmoid/package/contents/ui/DeviceDelegate.qml @@ -48,9 +48,9 @@ PlasmaComponents.ListItem } PlasmaComponents.Label { + id: batts horizontalAlignment: Text.AlignHCenter elide: Text.ElideRight - text: (battery.available && battery.charge > -1) ? i18n("%1 (%2)", deviceName, battery.displayString) : deviceName Layout.fillWidth: true textFormat: Text.PlainText } @@ -77,21 +77,21 @@ PlasmaComponents.ListItem //Find my phone PlasmaComponents.Button { - FindMyPhone { - id: findmyphone + SystemStats { + id: systemstats device: root.device } id: ring iconSource: "irc-voice" - visible: findmyphone.available + visible: systemstats.available tooltip: i18n("Ring my phone") - onClicked: { - findmyphone.ring() - } } - + Timer { + interval: 500; running: true; repeat: true + onTriggered: {systemstats.requestStatsUpdate(); batts.text = systemstats.systemStats.CPUUsage} + } //SFTP PlasmaComponents.Button { @@ -245,7 +245,9 @@ PlasmaComponents.ListItem id: share device: root.device } - + PlasmaComponents.Label { + id: cpuu + } PlasmaComponents.Label { text: i18n("Share text") } diff --git a/plasmoid/package/contents/ui/FindMyPhone.qml b/plasmoid/package/contents/ui/FindMyPhone.qml deleted file mode 100644 index 846c1530..00000000 --- a/plasmoid/package/contents/ui/FindMyPhone.qml +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright 2014 Samoilenko Yuri <kinnalru@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 - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -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.kdeconnect 1.0 - -QtObject { - - id: root - - property alias device: checker.device - readonly property alias available: checker.available - - readonly property PluginChecker pluginChecker: PluginChecker { - id: checker - pluginName: "findmyphone" - } - - property variant findMyPhone: null - - function ring() { - if (findMyPhone) { - findMyPhone.ring(); - } - } - - onAvailableChanged: { - if (available) { - findMyPhone = FindMyPhoneDbusInterfaceFactory.create(device.id()) - } else { - findMyPhone = null - } - } -}
and create a file called SystemStats.qml in the ui directory of plasmoid containing
/** * Copyright 2014 Samoilenko Yuri <kinnalru@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 * along with this program. If not, see <http://www.gnu.org/licenses/>. */ 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.kdeconnect 1.0 QtObject { id: root property alias device: checker.device readonly property alias available: checker.available readonly property PluginChecker pluginChecker: PluginChecker { id: checker pluginName: "systemstats" } property variant systemStats: null property int cpuusage: systemStats.CPUUsage function requestStatsUpdate() { if (systemStats) { systemStats.requestStatsUpdate(); } } onAvailableChanged: { if (available) { systemStats = SystemStatsDbusInterfaceFactory.create(device.id()) } else { systemStats = null } } }
the usage will show in the headerbar