diff --git a/applets/systemmonitor/CMakeLists.txt b/applets/systemmonitor/CMakeLists.txt
--- a/applets/systemmonitor/CMakeLists.txt
+++ b/applets/systemmonitor/CMakeLists.txt
@@ -1,15 +1,10 @@
-install(DIRECTORY common/ DESTINATION ${PLASMA_DATA_INSTALL_DIR}/plasmoids/org.kde.plasma.systemmonitor.net)
-plasma_install_package(net org.kde.plasma.systemmonitor.net)
+add_subdirectory(systemmonitor)
-install(DIRECTORY common/ DESTINATION ${PLASMA_DATA_INSTALL_DIR}/plasmoids/org.kde.plasma.systemmonitor.cpu)
+# Systemmonitor presets
+plasma_install_package(coreusage org.kde.plasma.systemmonitor.cpucore)
plasma_install_package(cpu org.kde.plasma.systemmonitor.cpu)
-
-install(DIRECTORY common/ DESTINATION ${PLASMA_DATA_INSTALL_DIR}/plasmoids/org.kde.plasma.systemmonitor.diskactivity)
-plasma_install_package(diskactivity org.kde.plasma.systemmonitor.diskactivity)
-
-install(DIRECTORY common/ DESTINATION ${PLASMA_DATA_INSTALL_DIR}/plasmoids/org.kde.plasma.systemmonitor.memory)
plasma_install_package(memory org.kde.plasma.systemmonitor.memory)
-
-install(DIRECTORY common/ DESTINATION ${PLASMA_DATA_INSTALL_DIR}/plasmoids/org.kde.plasma.systemmonitor.diskusage)
plasma_install_package(diskusage org.kde.plasma.systemmonitor.diskusage)
+plasma_install_package(diskactivity org.kde.plasma.systemmonitor.diskactivity)
+plasma_install_package(net org.kde.plasma.systemmonitor.net)
diff --git a/applets/systemmonitor/common/contents/config/main.xml b/applets/systemmonitor/common/contents/config/main.xml
deleted file mode 100644
--- a/applets/systemmonitor/common/contents/config/main.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 2000
-
-
-
-
-
-
-
- 1
-
-
-
-
diff --git a/applets/systemmonitor/common/contents/ui/Applet.qml b/applets/systemmonitor/common/contents/ui/Applet.qml
deleted file mode 100644
--- a/applets/systemmonitor/common/contents/ui/Applet.qml
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright 2014 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-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
-
-Item {
- id: rootItem
-
- signal sourceAdded(string source)
- property Component delegate
-
- width: units.gridUnit * 10
- height: units.gridUnit * 10
- Plasmoid.preferredRepresentation: plasmoid.fullRepresentation
- Layout.minimumWidth: units.gridUnit * 12 * (plasmoid.formFactor === PlasmaCore.Types.Horizontal ? sourcesModel.count : 1)
- Layout.minimumHeight: units.gridUnit * 4 * (plasmoid.formFactor === PlasmaCore.Types.Vertical ? sourcesModel.count : 1)
-
- Layout.preferredHeight: Layout.minimumHeight
-
- function addSource(source1, friendlyName1, source2, friendlyName2) {
- var found = false;
- for (var i = 0; i < sourcesModel.count; ++i) {
- var obj = sourcesModel.get(i);
- if (obj.source1 === encodeURIComponent(source1) &&
- obj.source2 === encodeURIComponent(source2)) {
- found = true;
- break;
- }
- }
- if (found) {
- return;
- }
-
- smSource.connectSource(source1);
- if (source2) {
- smSource.connectSource(source2);
- }
-
- sourcesModel.append(
- {"source1": encodeURIComponent(source1),
- "friendlyName1": friendlyName1,
- "source2": encodeURIComponent(source2),
- "friendlyName2": friendlyName2,
- "dataSource": smSource});
- }
-
- function showSource(source) {
- if (plasmoid.configuration.sources && plasmoid.configuration.sources.length > 0) {
- return plasmoid.configuration.sources.indexOf(encodeURIComponent(source)) !== -1;
- } else {
- return sourceDefaultEnable(source);
- }
- }
-
- function sourceDefaultEnable(source) {
- return true;
- }
-
- ListModel {
- id: sourcesModel
- }
-
- Component.onCompleted: {
- for (var i in smSource.sources) {
- smSource.sourceAdded(smSource.sources[i]);
- }
- }
-
- PlasmaCore.DataSource {
- id: smSource
-
- engine: "systemmonitor"
- interval: plasmoid.configuration.updateInterval
- onSourceAdded: {
- if (showSource(source)) {
- rootItem.sourceAdded(source);
- }
- }
- onSourceRemoved: {
- for (var i = sourcesModel.count - 1; i >= 0; --i) {
- var obj = sourcesModel.get(i);
- if (obj.source1 === source || obj.source2 === source) {
- sourcesModel.remove(i);
- }
- }
- smSource.disconnectSource(source);
- }
- }
- Connections {
- target: plasmoid.configuration
- onSourcesChanged: {
- if (plasmoid.configuration.sources.length === 0) {
- for (var i in smSource.sources) {
- var source = smSource.sources[i];
- smSource.sourceAdded(source);
- }
-
- } else {
- var sourcesToRemove = [];
-
- for (var i = sourcesModel.count - 1; i >= 0; --i) {
- var obj = sourcesModel.get(i);
-
- if (plasmoid.configuration.sources.indexOf(encodeURIComponent(obj.source1)) === -1) {
- sourcesToRemove.push(obj.source1);
- }
- }
-
- for (i = 0; i < sourcesToRemove.length; ++i) {
- smSource.sourceRemoved(sourcesToRemove[i]);
- }
-
-
- for (var i in plasmoid.configuration.sources) {
- var source = decodeURIComponent(plasmoid.configuration.sources[i]);
- smSource.sourceAdded(source);
- }
- }
- }
- }
-
- PlasmaExtras.Heading {
- id: heading
- width: parent.width
- level: 2
- text: plasmoid.title
- visible: plasmoid.formFactor !== PlasmaCore.Types.Horizontal && plasmoid.formFactor !== PlasmaCore.Types.Vertical
- }
-
- GridLayout {
- rows: 1
- columns: 1
- flow: plasmoid.formFactor !== PlasmaCore.Types.Horizontal ? GridLayout.LeftToRight : GridLayout.TopToBottom
- anchors {
- top: heading.visible ? heading.bottom : parent.top
- bottom: parent.bottom
- }
- width: parent.width
-
- Repeater {
- model: sourcesModel
- delegate: rootItem.delegate
- }
- }
-}
diff --git a/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml b/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml
deleted file mode 100644
--- a/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- *
- * 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) any later version.
- *
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.5
-import QtQuick.Controls 2.5 as QQC2
-import QtQuick.Layouts 1.3
-
-import org.kde.kirigami 2.5 as Kirigami
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-
-Item {
- id: iconsPage
- width: childrenRect.width
- height: childrenRect.height
- implicitWidth: formLayout.implicitWidth
- implicitHeight: formLayout.implicitHeight
-
- property var cfg_sources: []
-
- function sourcesChanged() {
- if (! cfg_sources) { cfg_sources = [] }
- if (cfg_sources.length == 0) {
- for (var i in dataSourcesColumn.children) {
- var child = dataSourcesColumn.children[i];
- if (child.checked !== undefined) {
- child.checked = sourceDefaultEnable(child.source);
- }
- }
- } else {
- for (var i in dataSourcesColumn.children) {
- var child = dataSourcesColumn.children[i];
- if (child.checked !== undefined) {
- child.checked = cfg_sources.indexOf(child.source) !== -1;
- }
- }
- }
- }
-
- function sourceDefaultEnable(source) {
- return true;
- }
-
- onCfg_sourcesChanged: {
- sourcesChanged();
- }
-
- property int cfg_updateInterval
-
- signal sourceAdded(string source)
-
- function addSource(source, friendlyName) {
- var found = false;
- for (var i = 0; i < sourcesModel.count; ++i) {
- var obj = sourcesModel.get(i);
- if (obj.source === source) {
- found = true;
- break;
- }
- }
- if (found) {
- return;
- }
-
- sourcesModel.append(
- {"source": encodeURIComponent(source),
- "friendlyName": friendlyName});
- }
-
- PlasmaCore.DataSource {
- id: smSource
-
- engine: "systemmonitor"
-
- onSourceAdded: {
- iconsPage.sourceAdded(source);
- }
- onSourceRemoved: {
- for (var i = sourcesModel.count - 1; i >= 0; --i) {
- var obj = sourcesModel.get(i);
- if (obj.source === source) {
- sourcesModel.remove(i);
- }
- }
- }
- }
-
- Component.onCompleted: {
- for (var i in smSource.sources) {
- var source = smSource.sources[i];
- iconsPage.sourceAdded(source);
- }
- sourcesChanged();
- }
-
- ListModel {
- id: sourcesModel
- }
-
- Kirigami.FormLayout {
- id: formLayout
-
- anchors.left: parent.left
- anchors.right: parent.right
-
- QQC2.SpinBox {
- id: updateIntervalSpinBox
- Kirigami.FormData.label: i18n("Update interval:")
- from: 100
- stepSize: 100
- to: 1000000
- editable: true
- validator: DoubleValidator {
- bottom: spinbox.from
- top: spinbox.to
- }
- textFromValue: function(value) {
- var seconds = value / 1000
- return i18ncp("SpinBox text", "%1 second", "%1 seconds", seconds.toFixed(1))
- }
- valueFromText: function(text) {
- return parseFloat(text) * 1000
- }
- value: cfg_updateInterval
- onValueModified: cfg_updateInterval = value
- }
-
- Item {
- Kirigami.FormData.isSection: true
- }
-
-
- ColumnLayout {
- id: dataSourcesColumn
- Kirigami.FormData.label: i18n("Show:")
- Kirigami.FormData.buddyFor: children[1] // 0 is the Repeater
-
- Repeater {
- id: repeater
- model: sourcesModel
- QQC2.CheckBox {
- id: checkBox
- text: model.friendlyName
- property string source: model.source
- onCheckedChanged: {
- if (checked) {
- if (cfg_sources.indexOf(model.source) == -1) {
- cfg_sources.push(model.source);
- }
- } else {
- var idx = cfg_sources.indexOf(model.source);
- if (cfg_sources.length !== 1) { // This condition prohibits turning off the last item from the list.
- if (idx !== -1) {
- cfg_sources.splice(idx, 1);
- }
- }
- }
- cfg_sourcesChanged();
- }
- }
- }
- }
- }
-}
diff --git a/applets/systemmonitor/common/contents/ui/DoublePlotter.qml b/applets/systemmonitor/common/contents/ui/DoublePlotter.qml
deleted file mode 100644
--- a/applets/systemmonitor/common/contents/ui/DoublePlotter.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-KQuickAddons.Plotter {
- id: plotter
- property string sensorName: model.friendlyName1
-
- Layout.fillWidth: true
- Layout.fillHeight: true
- horizontalGridLineCount: 0
-
- function cycle(color, degrees) {
- var min = Math.min(color.r, Math.min(color.g, color.b));
- var max = Math.max(color.r, Math.max(color.g, color.b));
- var c = max - min;
- var h;
-
- if (c === 0) {
- h = 0
- } else if (max === color.r) {
- h = ((color.g - color.b) / c) % 6;
- } else if (max === color.g) {
- h = ((color.b - color.r) / c) + 2;
- } else if (max === color.b) {
- h = ((color.r - color.g) / c) + 4;
- }
- var hue = (1/6) * h + (degrees/360);
- var saturation = c / (1 - Math.abs(2 * ((max+min)/2) - 1));
- var lightness = (max + min)/2;
-
- return Qt.hsla(hue, saturation, lightness, 1.0);
- }
-
- property string downloadColor: theme.highlightColor
- property string uploadColor: cycle(theme.highlightColor, -90)
-
- dataSets: [
- KQuickAddons.PlotData {
- color: downloadColor
- },
- KQuickAddons.PlotData {
- color: uploadColor
- }
- ]
-
- PlasmaComponents.Label {
- id: nameLabel
- anchors {
- left: parent.left
- top: parent.top
- }
- }
-
- PlasmaComponents.Label {
- id: speedLabel
- wrapMode: Text.WordWrap
- visible: plasmoid.formFactor !== PlasmaCore.Types.Vertical
- anchors {
- right: parent.right
- }
- }
-
- Connections {
- target: model.dataSource
- onNewData: {
- if (sourceName.indexOf(decodeURIComponent(model.source1)) !== 0 && sourceName.indexOf(decodeURIComponent(model.source2)) !== 0) {
- return;
- }
-
- var data1 = model.dataSource.data[decodeURIComponent(model.source2)];
- var data2 = model.dataSource.data[decodeURIComponent(model.source1)];
-
- if (data1 === undefined || data1.value === undefined ||
- data2 === undefined || data2.value === undefined) {
- return;
- }
-
- plotter.addSample([data1.value, data2.value]);
-
- if (plasmoid.formFactor !== PlasmaCore.Types.Vertical) {
- nameLabel.text = plotter.sensorName
- speedLabel.text = i18n("⬇ %2 | ⬆ %4",
- downloadColor,
- formatData(data1),
- uploadColor,
- formatData(data2))
- } else {
- nameLabel.text = plotter.sensorName+ "\n" + formatData(data1) + "\n" + formatData(data2)
- speedLabel.text = ""
- }
- }
- }
-}
diff --git a/applets/systemmonitor/common/contents/ui/SinglePlotter.qml b/applets/systemmonitor/common/contents/ui/SinglePlotter.qml
deleted file mode 100644
--- a/applets/systemmonitor/common/contents/ui/SinglePlotter.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-
-KQuickAddons.Plotter {
- id: plotter
- property string sensorName: model.friendlyName1
-
- Layout.fillWidth: true
- Layout.fillHeight: true
- //FIXME: doesn't seem to properly fill otherwise
- Layout.preferredHeight: parent.height
- horizontalGridLineCount: 0
-
- dataSets: [
- KQuickAddons.PlotData {
- color: theme.highlightColor
- }
- ]
-
- PlasmaComponents.Label {
- id: nameLabel
- anchors {
- left: parent.left
- top: parent.top
- }
- }
-
- PlasmaComponents.Label {
- id: speedLabel
- wrapMode: Text.WordWrap
- visible: plasmoid.formFactor !== PlasmaCore.Types.Vertical
- anchors {
- right: parent.right
- }
- }
-
- Connections {
- target: model.dataSource
- onNewData: {
- if (sourceName.indexOf(decodeURIComponent(model.source1)) !== 0) {
- return;
- }
-
- var data1 = model.dataSource.data[decodeURIComponent(model.source1)];
-
- if (data1 === undefined || data1.value === undefined) {
- return;
- }
-
- plotter.addSample([data1.value]);
-
- if (plasmoid.formFactor !== PlasmaCore.Types.Vertical) {
- nameLabel.text = plotter.sensorName
- speedLabel.text = formatData(data1)
- } else {
- nameLabel.text = plotter.sensorName+ "\n" + formatData(data1)
- speedLabel.text = ""
- }
- }
- }
-}
-
diff --git a/applets/systemmonitor/coreusage/contents/config/faceproperties b/applets/systemmonitor/coreusage/contents/config/faceproperties
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/coreusage/contents/config/faceproperties
@@ -0,0 +1,11 @@
+[Config]
+chartFace=org.kde.ksysguard.barchart
+highPrioritySensorIds=cpu/cpu*/TotalLoad
+totalSensor=cpu/system/TotalLoad
+textOnlySensorIds=cpu/system/loadavg1,cpu/system/loadavg5
+
+[FaceConfig]
+rangeAuto=false
+rangeFrom=0
+rangeTo=100
+
diff --git a/applets/systemmonitor/coreusage/metadata.desktop b/applets/systemmonitor/coreusage/metadata.desktop
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/coreusage/metadata.desktop
@@ -0,0 +1,23 @@
+[Desktop Entry]
+Name=Individual Core Usage
+Name[de]=Einzelne Prozessorkernbelastung
+Comment=System monitor Widget that shows usage of individual CPU cores
+Type=Service
+Icon=ksysguardd
+X-KDE-ServiceTypes=Plasma/Applet
+
+X-Plasma-API=declarativeappletscript
+X-Plasma-MainScript=ui/main.qml
+X-Plasma-Provides=org.kde.plasma.systemmonitor
+X-Plasma-RootPath=org.kde.plasma.systemmonitor
+
+X-KDE-PluginInfo-Author=Kai Uwe Broulik
+X-KDE-PluginInfo-Email=kde@privat.broulik.de
+X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor.cpucore
+X-KDE-PluginInfo-Version=1.0
+X-KDE-PluginInfo-Website=kde.org
+X-KDE-PluginInfo-Depends=
+X-KDE-PluginInfo-License=GPL-2.0+
+X-KDE-PluginInfo-EnabledByDefault=true
+X-KDE-PluginInfo-Category=System Information
+
diff --git a/applets/systemmonitor/cpu/Messages.sh b/applets/systemmonitor/cpu/Messages.sh
deleted file mode 100644
--- a/applets/systemmonitor/cpu/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` `find ../common -name \*.qml` -o $podir/plasma_applet_org.kde.plasma.systemmonitor.cpu.pot
diff --git a/applets/systemmonitor/cpu/contents/config/config.qml b/applets/systemmonitor/cpu/contents/config/config.qml
deleted file mode 100644
--- a/applets/systemmonitor/cpu/contents/config/config.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- *
- * 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) any later version.
- *
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("CPUs")
- icon: "cpu"
- source: "cpuConfig.qml"
- }
-}
diff --git a/applets/systemmonitor/cpu/contents/config/faceproperties b/applets/systemmonitor/cpu/contents/config/faceproperties
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/cpu/contents/config/faceproperties
@@ -0,0 +1,11 @@
+[Config]
+chartFace=org.kde.ksysguard.piechart
+highPrioritySensorIds=cpu/system/TotalLoad
+totalSensor=cpu/system/TotalLoad
+lowPrioritySensorIds=cpu/system/processors,cpu/system/cores
+
+[FaceConfig]
+rangeAuto=false
+rangeFrom=0
+rangeTo=100
+
diff --git a/applets/systemmonitor/cpu/contents/ui/cpu.qml b/applets/systemmonitor/cpu/contents/ui/cpu.qml
deleted file mode 100644
--- a/applets/systemmonitor/cpu/contents/ui/cpu.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-Applet {
- id: root
-
- onSourceAdded: {
- var match = source.match(/^cpu\/(\w+)\/TotalLoad/);
- if (match) {
- root.addSource(source, match[1]);
- }
- }
-
- function sourceDefaultEnable(source) {
- return source.match(/^cpu(\/|%2F)system(\/|%2F)TotalLoad/);
- }
-
- delegate: SinglePlotter {
- autoRange: false
- rangeMin: 0
- rangeMax: 100
- function formatData(data) {
- //i18nc("CPU usage: %1 is the value, %2 the unit datatype", "%1 %2")
- //return i18n("%1 %2", Math.round(data.value), data.units);
- return i18nc("CPU usage: %1 is the value, %2 the unit datatype", "%1 %2", Math.round(data.value), data.units);
- }
- }
-}
diff --git a/applets/systemmonitor/cpu/metadata.desktop b/applets/systemmonitor/cpu/metadata.desktop
--- a/applets/systemmonitor/cpu/metadata.desktop
+++ b/applets/systemmonitor/cpu/metadata.desktop
@@ -1,110 +1,22 @@
[Desktop Entry]
-Name=CPU Load Monitor
-Name[ar]=مرقاب حِمل المعالج
-Name[ca]=Monitor de càrrega de la CPU
-Name[ca@valencia]=Monitor de càrrega de la CPU
-Name[cs]=Monitor zatížení CPU
-Name[da]=Overvågning af CPU-belastning
-Name[de]=Monitor für Prozessor-Last
-Name[el]=Επόπτης φόρτου ΚΜΕ
-Name[en_GB]=CPU Load Monitor
-Name[es]=Monitor de carga de la CPU
-Name[et]=Protsessori koormuse jälgija
-Name[eu]=PUZ zamaren begiralea
-Name[fi]=Suoritinkäyttö
-Name[fr]=Surveillance du processeur
-Name[gl]=Vixilante da carga da CPU
-Name[he]=מנטר מעבד
-Name[hu]=Processzorfigyelő
-Name[ia]=Monitor de carga de CPU
-Name[id]=Pemantau Muatan CPU
-Name[is]=Eftirlit með notkun örgjörva
-Name[it]=Monitor del carico del processore
-Name[ja]=CPU 負荷モニタ
-Name[ko]=CPU 사용량 모니터
-Name[lt]=Procesoriaus apkrovos prižiūryklė
-Name[lv]=CPU slodzes monitors
-Name[ml]=സിപിയു നിരീക്ഷണോപാധി
-Name[nl]=Monitor voor CPU-gebruik
-Name[nn]=Prosessorlast-overvaking
-Name[pa]=CPU ਲੋਡ ਲਈ ਨਿਗਰਾਨ
-Name[pl]=Monitor obciążenia procesora
-Name[pt]=Monitor de Carga do CPU
-Name[pt_BR]=Monitor de carga da CPU
-Name[ru]=Монитор нагрузки процессора
-Name[sk]=Monitor zaťaženia CPU
-Name[sl]=Nadzornik obremenitve procesorja
-Name[sr]=надзор оптерећења процесора
-Name[sr@ijekavian]=надзор оптерећења процесора
-Name[sr@ijekavianlatin]=nadzor opterećenja procesora
-Name[sr@latin]=nadzor opterećenja procesora
-Name[sv]=Övervakning av processorlast
-Name[tg]=Назорати боршавии CPU
-Name[tr]=İşlemci Yükü İzleyici
-Name[uk]=Використання процесорів
-Name[x-test]=xxCPU Load Monitorxx
-Name[zh_CN]=CPU 负载监视器
-Name[zh_TW]=CPU 負載監視器
-Comment=Monitor the load of the CPUs
-Comment[ar]=راقِب حِمل المعالجات لديك
-Comment[ast]=Supervisa la carga de les CPUs
-Comment[ca]=Controla la càrrega de les CPU
-Comment[ca@valencia]=Controla la càrrega de les CPU
-Comment[cs]=Monitorovat zatížení procesor(ů)
-Comment[da]=Overvåg belastningen af CPU'erne
-Comment[de]=Überwacht die Auslastung der Prozessoren
-Comment[el]=Παρακολούθηση του φόρτου των ΚΜΕ
-Comment[en_GB]=Monitor the load of the CPUs
-Comment[es]=Monitoriza la carga de las CPU
-Comment[et]=Protsessorite koormuse jälgimine
-Comment[eu]=Gainbegiratu PUZen zama
-Comment[fi]=Seuraa suoritinten kuormaa
-Comment[fr]=Surveille la charge des processeurs
-Comment[gl]=Vixiar a carga das CPU.
-Comment[he]=צג שימוש במעבד
-Comment[hu]=A processzorterhelés monitorozása
-Comment[id]=Pemantau muatan CPU
-Comment[is]=Fylgjast með álagi á örgjörva
-Comment[it]=Indica il carico dei processori
-Comment[ja]=CPU の負荷を監視します
-Comment[ko]=CPU 사용량 모니터
-Comment[lt]=Stebėti procesorių apkrovą
-Comment[ml]=സിപിയുകളുടെ പ്രവര്ത്തനഭാരം നിരീക്ഷിക്കുക
-Comment[nl]=Het gebruik van de CPU's monitoren
-Comment[nn]=Overvaking av prosessorbruk
-Comment[pa]=CPU ਦੇ ਲੋਡ ਦੀ ਨਿਗਰਾਨੀ
-Comment[pl]=Monitoruje obciążenie procesora
-Comment[pt]=Vigia a carga dos CPU's
-Comment[pt_BR]=Monitora a carga das CPUs
-Comment[ru]=Мониторинг степени загрузки процессоров
-Comment[sk]=Kontrola zaťaženia CPU
-Comment[sl]=Nadzor nad obremenitvijo procesorjev
-Comment[sr]=Надгледајте оптерећење процесора
-Comment[sr@ijekavian]=Надгледајте оптерећење процесора
-Comment[sr@ijekavianlatin]=Nadgledajte opterećenje procesora
-Comment[sr@latin]=Nadgledajte opterećenje procesora
-Comment[sv]=Övervaka processorernas last
-Comment[tr]=İşlemcilerin yüklerini izleyin
-Comment[uk]=Монітор навантаження на процесори
-Comment[x-test]=xxMonitor the load of the CPUsxx
-Comment[zh_CN]=监视 CPU 负载
-Comment[zh_TW]=監視 CPU 的負載
-
+Name=Total CPU Use
+Name[de]=Gesamte Prozessorauslastung
+Comment=System monitor Widget that shows the total CPU usage
Type=Service
Icon=cpu
-
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/cpu.qml
-X-Plasma-StandAloneApp=true
+X-Plasma-MainScript=ui/main.qml
+X-Plasma-Provides=org.kde.plasma.systemmonitor
+X-Plasma-RootPath=org.kde.plasma.systemmonitor
-X-KDE-PluginInfo-Author=Marco Martin
-X-KDE-PluginInfo-Email=mart@kde.org
+X-KDE-PluginInfo-Author=Kai Uwe Broulik
+X-KDE-PluginInfo-Email=kde@privat.broulik.de
X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor.cpu
X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=https://kde.org/plasma-desktop
-X-KDE-PluginInfo-Category=System Information
+X-KDE-PluginInfo-Website=kde.org
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL-2.0+
-X-KDE-FormFactors=tablet,mediacenter,desktop
+X-KDE-PluginInfo-EnabledByDefault=true
+X-KDE-PluginInfo-Category=System Information
diff --git a/applets/systemmonitor/diskactivity/Messages.sh b/applets/systemmonitor/diskactivity/Messages.sh
deleted file mode 100644
--- a/applets/systemmonitor/diskactivity/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` `find ../common -name \*.qml` -o $podir/plasma_applet_org.kde.plasma.systemmonitor.diskactivity.pot
diff --git a/applets/systemmonitor/diskactivity/contents/config/config.qml b/applets/systemmonitor/diskactivity/contents/config/config.qml
deleted file mode 100644
--- a/applets/systemmonitor/diskactivity/contents/config/config.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- *
- * 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) any later version.
- *
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Disk activity")
- icon: "drive-harddisk"
- source: "diskactivityConfig.qml"
- }
-}
diff --git a/applets/systemmonitor/diskactivity/contents/config/faceproperties b/applets/systemmonitor/diskactivity/contents/config/faceproperties
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/diskactivity/contents/config/faceproperties
@@ -0,0 +1,8 @@
+[Config]
+chartFace=org.kde.ksysguard.linechart
+highPrioritySensorIds=disk/all/write,disk/all/read
+
+[FaceConfig]
+rangeAuto=true
+lineChartStacked=true
+
diff --git a/applets/systemmonitor/diskactivity/contents/ui/diskactivityConfig.qml b/applets/systemmonitor/diskactivity/contents/ui/diskactivityConfig.qml
deleted file mode 100644
--- a/applets/systemmonitor/diskactivity/contents/ui/diskactivityConfig.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-ConfigGeneral {
- id: root
-
- onSourceAdded: {
- var match = source.match(/^disk\/([^\/]+)\/Rate\/wblk/);
- if (match) {
- root.addSource(source, match[1]);
- }
- }
-}
diff --git a/applets/systemmonitor/diskactivity/metadata.desktop b/applets/systemmonitor/diskactivity/metadata.desktop
--- a/applets/systemmonitor/diskactivity/metadata.desktop
+++ b/applets/systemmonitor/diskactivity/metadata.desktop
@@ -1,127 +1,24 @@
[Desktop Entry]
-Name=Hard Disk I/O Monitor
-Name[ar]=مراقب د/خ القرص الصلب
-Name[bs]=Hard Disk I/O Monitor
-Name[ca]=Monitor d'E/S de disc dur
-Name[ca@valencia]=Monitor d'E/E de disc dur
-Name[cs]=Monitor I/O pevného disku
-Name[da]=Overvågning af harddisk-I/O
-Name[de]=Überwachungsmonitor für Festplattenein- und ausgabe
-Name[el]=Επόπτης χρήσης του σκληρού δίσκου
-Name[en_GB]=Hard Disk I/O Monitor
-Name[es]=Monitor de E/S del disco duro
-Name[et]=Kõvaketta sisendi/väljundi jälgija
-Name[eu]=Disko zurrun S/I begiralea
-Name[fi]=Kiintolevyjen käyttöilmaisin
-Name[fr]=Surveillance des disques durs (E/S)
-Name[ga]=Monatóir I/A Diosca Crua
-Name[gl]=Vixilante da E/S do disco duro
-Name[he]=מנטר שימוש בכונן הקשיח
-Name[hu]=Merevlemez I/O monitor
-Name[ia]=Monitor de I/E del disco dur
-Name[id]=Pemantau I/O Hard Disk
-Name[is]=Eftirlit með I/O notkun harðdiska
-Name[it]=Uso del disco fisso
-Name[ja]=ハードディスク I/O モニタ
-Name[kk]=Қатқыл дискінің Е/Ш бақылауы
-Name[km]=ត្រួតពិនិត្យ I/O ថាសរឹង
-Name[ko]=하드디스크 I/O 모니터
-Name[lt]=Standžiojo disko I/O prižiūryklė
-Name[lv]=Cietā diska noslogojuma novērotājs
-Name[ml]=ഹാര്ഡ് ഡിസ്ക് ഐ/ഒ നിരീക്ഷണോപാധി
-Name[mr]=हार्ड डिस्क I/O नियंत्रक
-Name[nb]=En overvåker for disk-I/U
-Name[nds]=Fastplaat-I/O-Beluern
-Name[nl]=Volgt de activiteit van de harde schijf
-Name[nn]=Overvaking av diskaktivitet
-Name[pa]=ਹਾਰਡ ਡਿਸਕ I/O ਮਾਨੀਟਰ
-Name[pl]=Monitor WE/WY dysku twardego
-Name[pt]=Monitor de E/S do Disco
-Name[pt_BR]=Monitor de E/S do disco rígido
-Name[ro]=Monitor pentru utilizarea discului dur
-Name[ru]=Монитор активности жёстких дисков
-Name[sk]=Monitor I/O pevného disku
-Name[sl]=Nadzornik V/I trdega diska
-Name[sr]=Надгледање У/И‑ја хард‑диска
-Name[sr@ijekavian]=Надгледање У/И‑ја хард‑диска
-Name[sr@ijekavianlatin]=Nadgledanje U/I‑ja hard‑diska
-Name[sr@latin]=Nadgledanje U/I‑ja hard‑diska
-Name[sv]=Övervakning av in- och utmatning för hårddisk
-Name[tg]=Назорати диски компютерӣ I/O
-Name[tr]=Sabit Disk G/Ç İzleyici
-Name[uk]=Монітор роботи жорсткого диска
-Name[vi]=Trình quản lý I/O đĩa cứng
-Name[x-test]=xxHard Disk I/O Monitorxx
-Name[zh_CN]=硬盘 I/O 监视器
-Name[zh_TW]=硬碟使用量 I/O 監視器
+Name=Hard Disk Activity
Comment=An applet that monitors hard disk throughput and input/output
-Comment[ar]=بُريْمج يراقب استخدام إنتاجيّة القرص الصلب ودَخْله/خَرْجه
-Comment[bs]=Aplet koji prati hard disk protok ulaz / izlaz
-Comment[ca]=Una miniaplicació que controla la velocitat de transferència, així com l'entrada/sortida de les dades al disc dur
-Comment[ca@valencia]=Una miniaplicació que controla la velocitat de transferència, així com l'entrada/eixida de les dades en el disc dur
-Comment[cs]=Aplet, jenž monitoruje propustnost disku a vstup/výstup
-Comment[da]=En applet som overvåger gennemgang og input/output for harddisken
-Comment[de]=Ein Miniprogramm, das den Festplattendurchsatz und die Festplattenein- und -ausgabe überwacht
-Comment[el]=Μικροεφαρμογή που εποπτεύει τη ρυθμοαπόδοση και την είσοδο/έξοδο του σκληρού δίσκου
-Comment[en_GB]=An applet that monitors hard disk throughput and input/output
-Comment[es]=Una miniaplicación que monitoriza el rendimiento y la entrada/salida del disco duro
-Comment[et]=Kõvaketta läbilaset ja sisendit/väljundit jälgiv aplett
-Comment[eu]=Disko zurrunaren transferentzia tasa eraginkorra («throughput») eta sarrera/irteera gainbegiratzen dituen aplikaziotxo bat
-Comment[fi]=Tarkkailee levyjen suoritustehoa ja siirtomäärää
-Comment[fr]=Une applet surveillant l'activité des disques durs et de leurs entrées / sorties
-Comment[gl]=Un trebello que vixía o rendemento e a entrada e saída
-Comment[he]=ישומון למעקב אחר מהירות הכתיבה והקריאה בכונן
-Comment[hu]=Egy kisalkalmazás, amely figyeli a merevlemez átvitelét és a bemenetet/kimenetet
-Comment[ia]=Un applet que que monitora le prestation (throughput) e ingresso/egresso de disco dur
-Comment[id]=Sebuah applet yang memantau lalu-lalang dan input/output hard disk
-Comment[is]=Smáforrit sem fylgist með afköstum harðra diska og ílagi/frálagi
-Comment[it]=Un'applet che controlla le prestazioni e l'uso del disco fisso
-Comment[ja]=ハードディスクのスループットと入力/出力を監視するアプレット
-Comment[kk]=Дискінің белсендігі және енгізу/шығаруды бақылау апплеті
-Comment[km]=អាប់ភ្លេតដែលត្រួតពិនិត្យថាសរឹង និងឧបករណ៍ចេញ/ចូល
-Comment[ko]=하드디스크 대역폭 및 I/O 상태를 보여 주는 애플릿
-Comment[lt]=Programėlė, kuri stebi disko apkrovą ir įvedimą/išvedimą
-Comment[ml]=ഹാര്ഡ് ഡിസ്ക് പ്രവര്ത്തനം നിരീക്ഷിക്കാനുള്ള അപ്ലെറ്റ്
-Comment[mr]=हार्ड डिस्क इनपुट व आउटपुट दर्शविणारे एप्लेट
-Comment[nb]=Et miniprogram som overvåker dataflyt til og fra harddisk
-Comment[nds]=En Lüttprogramm, dat den Fastplaat-Dörsatz un de In- un Utgaven beluert
-Comment[nl]=Een applet die de activiteit van de harde schijf volgt
-Comment[nn]=Skjermelement som overvaker dataflyt til og frå harddisk
-Comment[pa]=ਹਾਰਡ ਡਿਸਕ ਥਰੂਪੁੱਟ ਅਤੇ ਇੰਪੁੱਟ/ਆਉਟਪੁੱਟ ਦੀ ਨਿਗਰਾਨੀ ਲਈ ਐਪਲਿਟ
-Comment[pl]=Monitoruje przepustowość WE/WY dysku twardego
-Comment[pt]=Uma 'applet' que vigia o rendimento e o fluxo de entrada-saída do disco
-Comment[pt_BR]=Monitora a taxa de transferência e entrada/saída do disco rígido
-Comment[ro]=Miniaplicație ce monitorizează traficul de intrare și cel de ieșire pentru discul dur
-Comment[ru]=Мониторинг пропускной способности и процессов ввода/вывода жестких дисков
-Comment[sk]=Applet, ktorý monitoruje priepustnosť pevného disku a vstup/výstup
-Comment[sl]=Programček, ki nadzoruje prepustnost in vhod/izhod trdega diska
-Comment[sr]=Аплет за надгледање пропусности и улаза/излаза хард‑диска
-Comment[sr@ijekavian]=Аплет за надгледање пропусности и улаза/излаза хард‑диска
-Comment[sr@ijekavianlatin]=Aplet za nadgledanje propusnosti i ulaza/izlaza hard‑diska
-Comment[sr@latin]=Aplet za nadgledanje propusnosti i ulaza/izlaza hard‑diska
-Comment[sv]=Ett miniprogram som övervakar hårddiskprestanda samt in- och utmatning
-Comment[tr]=Sabit diski girdi/çıktı olarak izleyen bir programcık
-Comment[uk]=Аплет, який стежить за даними, які записуються на жорсткий диск та читаються з жорсткого диска
-Comment[vi]=Một ứng dụng nhỏ quản lý dữ liệu vào/ra trên đĩa cứng
-Comment[x-test]=xxAn applet that monitors hard disk throughput and input/outputxx
-Comment[zh_CN]=监视硬盘吞吐量和输入输出的小程序
-Comment[zh_TW]=監視硬碟效能與 I/O 的小程式
-
Type=Service
Icon=drive-harddisk
-
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/diskactivity.qml
+X-Plasma-MainScript=ui/main.qml
+X-Plasma-Provides=org.kde.plasma.systemmonitor
+X-Plasma-RootPath=org.kde.plasma.systemmonitor
X-Plasma-StandAloneApp=true
X-KDE-PluginInfo-Author=Marco Martin
X-KDE-PluginInfo-Email=mart@kde.org
X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor.diskactivity
X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=https://kde.org/plasma-desktop
-X-KDE-PluginInfo-Category=System Information
+X-KDE-PluginInfo-Website=kde.org
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL-2.0+
+X-KDE-PluginInfo-EnabledByDefault=true
+X-KDE-PluginInfo-Category=System Information
X-KDE-FormFactors=tablet,mediacenter,desktop
+
diff --git a/applets/systemmonitor/diskusage/Messages.sh b/applets/systemmonitor/diskusage/Messages.sh
deleted file mode 100644
--- a/applets/systemmonitor/diskusage/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` `find ../common -name \*.qml` -o $podir/plasma_applet_org.kde.plasma.systemmonitor.diskusage.pot
diff --git a/applets/systemmonitor/diskusage/contents/config/config.qml b/applets/systemmonitor/diskusage/contents/config/config.qml
deleted file mode 100644
--- a/applets/systemmonitor/diskusage/contents/config/config.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- *
- * 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) any later version.
- *
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Disk usage")
- icon: "drive-harddisk"
- source: "diskusageConfig.qml"
- }
-}
diff --git a/applets/systemmonitor/diskusage/contents/config/faceproperties b/applets/systemmonitor/diskusage/contents/config/faceproperties
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/diskusage/contents/config/faceproperties
@@ -0,0 +1,11 @@
+[Config]
+chartFace=org.kde.ksysguard.piechart
+highPrioritySensorIds=partitions/all/usedspace
+totalSensor=partitions/all/filllevel
+lowPrioritySensorIds=partitions/all/total
+
+[FaceConfig]
+rangeAuto=true
+rangeFrom=0
+rangeTo=100
+
diff --git a/applets/systemmonitor/diskusage/contents/ui/diskusage.qml b/applets/systemmonitor/diskusage/contents/ui/diskusage.qml
deleted file mode 100644
--- a/applets/systemmonitor/diskusage/contents/ui/diskusage.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-import org.kde.kcoreaddons 1.0 as KCoreAddons
-
-Applet {
- id: root
-
- onSourceAdded: {
- var match = source.match(/^partitions(.+)\/filllevel/);
- if (match) {
- var freeSource = "partitions" + match[1] + "/freespace";
- root.addSource(source, match[1], freeSource, match[1]);
- }
- }
-
- delegate: Item {
- Layout.fillWidth: true
- Layout.fillHeight: true
- PlasmaComponents.Label {
- id: label
- text: model.friendlyName1
- anchors {
- left: parent.left
- bottom: progressBar.top
- }
- }
- PlasmaComponents.Label {
- id: freeSpace
- anchors {
- right: parent.right
- bottom: progressBar.top
- }
- }
- PlasmaComponents.ProgressBar {
- id: progressBar
- minimumValue: 0
- maximumValue: 100
- anchors {
- left: parent.left
- right: parent.right
- bottom: parent.bottom
- }
- }
- Connections {
- target: model.dataSource
- onNewData: {
- if (sourceName.indexOf(decodeURIComponent(model.source1)) !== 0) {
- return;
- }
-
- var data1 = model.dataSource.data[decodeURIComponent(model.source1)];
- var data2 = model.dataSource.data[decodeURIComponent(model.source2)];
-
- if (data1 !== undefined && data1.value !== undefined) {
- progressBar.value = data1.value;
- }
-
- if (data2 !== undefined && data2.value !== undefined) {
- freeSpace.text = KCoreAddons.Format.formatByteSize(data2.value * 1024);
- }
- }
- }
- }
-}
diff --git a/applets/systemmonitor/diskusage/contents/ui/diskusageConfig.qml b/applets/systemmonitor/diskusage/contents/ui/diskusageConfig.qml
deleted file mode 100644
--- a/applets/systemmonitor/diskusage/contents/ui/diskusageConfig.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-ConfigGeneral {
- id: root
-
- onSourceAdded: {
- var match = source.match(/^partitions(.+)\/filllevel/);
- if (match) {
- root.addSource(source, match[1]);
- }
- }
-}
diff --git a/applets/systemmonitor/diskusage/metadata.desktop b/applets/systemmonitor/diskusage/metadata.desktop
--- a/applets/systemmonitor/diskusage/metadata.desktop
+++ b/applets/systemmonitor/diskusage/metadata.desktop
@@ -1,125 +1,21 @@
[Desktop Entry]
-Name=Hard Disk Space Usage
-Name[ar]=استخدام مساحة القرص الصلب
-Name[bs]=Iskorisenost Hard diska
-Name[ca]=Ús d'espai de disc dur
-Name[ca@valencia]=Ús d'espai de disc dur
-Name[cs]=Využití místa na pevném disku
-Name[da]=Brug af harddiskplads
-Name[de]=Festplattenbelegung
-Name[el]=Χρήση χώρου σκληρού δίσκου
-Name[en_GB]=Hard Disk Space Usage
-Name[es]=Espacio usado en el disco duro
-Name[et]=Kõvaketta ruumikasutus
-Name[eu]=Disko zurruneko espazioaren erabilera
-Name[fi]=Kiintolevyjen tilankäyttö
-Name[fr]=Utilisation de l'espace des disques dur
-Name[gl]=Uso do espazo do disco duro
-Name[he]=שימוש בדיסק
-Name[hu]=Lemezterület használat
-Name[ia]=Usage de spatio del disco dur
-Name[id]=Penggunaan Ruang Hard Disk
-Name[is]=Staða harðra diska
-Name[it]=Spazio del disco fisso
-Name[ja]=ハードディスク使用量
-Name[kk]=Қатқыл дискідегі пайдаланған орын
-Name[km]=ការប្រើប្រាស់ទំហំថាសរឹង
-Name[ko]=하드디스크 공간 사용량
-Name[lt]=Standžiojo disko vietos panaudojimas
-Name[lv]=Cietā diska telpas lietojums
-Name[ml]=ഹാര്ഡ് ഡിസ്ക് ഉപയോഗം
-Name[mr]=हार्ड डिस्क वापर
-Name[nb]=Plassbruk for harddisk
-Name[nds]=Fastplaat-Bruuk
-Name[nl]=Ruimtegebruik van de harde schijf
-Name[nn]=Plassbruk for harddisk
-Name[pa]=ਹਾਰਡ ਡਿਸਕ ਥਾਂ ਵਰਤੋਂ
-Name[pl]=Wykorzystanie dysku twardego
-Name[pt]=Utilização do Disco Rígido
-Name[pt_BR]=Uso do espaço do disco rígido
-Name[ro]=Utilizarea spațiului pe discul dur
-Name[ru]=Использование места на диске
-Name[sk]=Využitie miesta na pevnom disku
-Name[sl]=Uporaba prostora na trdem disku
-Name[sr]=заузеће хард диска
-Name[sr@ijekavian]=заузеће хард диска
-Name[sr@ijekavianlatin]=zauzeće hard diska
-Name[sr@latin]=zauzeće hard diska
-Name[sv]=Utrymmesanvändning för hårddisk
-Name[tr]=Sabit Disk Alanı Kullanımı
-Name[uk]=Використання місця на диску
-Name[vi]=Sử dụng không gian đĩa
-Name[x-test]=xxHard Disk Space Usagexx
-Name[zh_CN]=硬盘空间使用情况
-Name[zh_TW]=硬碟空間使用量
-Comment=An applet that monitors hard disk space usage and percentage
-Comment[ar]=بُريْمج يراقب استخدام مساحة القرص الصلب ونسبته المئوية
-Comment[bs]=Aplet koji prati korištenje prostora na hard disku i postotak
-Comment[ca]=Una miniaplicació que controla l'ús d'espai i el tant per cent al disc dur
-Comment[ca@valencia]=Una miniaplicació que controla l'ús d'espai i el tant per cent en el disc dur
-Comment[cs]=Aplet, jenž monitoruje zaplnění místa na disku
-Comment[da]=En applet som overvåger brug af harddiskplads og procent ledig plads
-Comment[de]=Ein Miniprogramm, das die Festplattenbelegung absolut und in Prozent überwacht
-Comment[el]=Μικροεφαρμογή που εποπτεύει την ποσοτική και ποσοστιαία χρήση χώρου του σκληρού δίσκου
-Comment[en_GB]=An applet that monitors hard disk space usage and percentage
-Comment[es]=Una miniaplicación que monitoriza el uso y porcentaje del espacio en disco duro
-Comment[et]=Kõvaketta ruumikasutust ja protsenti jälgiv aplett
-Comment[eu]=Disko zurruneko espazioaren erabilera eta ehunekoa gainbegiratzen dituen aplikaziotxo bat
-Comment[fi]=Näyttää levyjen tilankäytön ja sen prosenttiosuuden
-Comment[fr]=Une applet surveillant l'utilisation de l'espace des disques durs et donnant des pourcentages
-Comment[gl]=Un trebello que vixía o espazo usado do disco duro e a porcentaxe
-Comment[he]=ישומון להצגת סך השימוש בכוננים השונים
-Comment[hu]=Egy kisalkalmazás, amely figyeli a merevlemez használatot és százalékot
-Comment[ia]=Un applet que monitora usage e percentage de spatio de disco dur
-Comment[id]=Sebuah applet yang memantau persentase dan penggunaan ruang hard disk
-Comment[is]=Smáforrit sem fylgist með notkun harðra diska og prósentuhlutfalli á lausu plássi
-Comment[it]=Un'applet che controlla l'uso dello spazio su disco fisso
-Comment[ja]=ハードディスクの使用量とパーセンテージを監視するアプレット
-Comment[kk]=Қатқыл дискідегі пайдаланған орын және пайызын бақылау аплеті
-Comment[km]=អាប់ភ្លេតដែលត្រួតពិនិត្យការប្រើប្រាស់ និងភាគរយទំហំថាសរឹង
-Comment[ko]=하드디스크 공간 사용량 및 비율을 보여 주는 애플릿
-Comment[lt]=Programėlė, kuri stebi disko vietos panaudojimą ir procentinę dalį
-Comment[ml]=ഹാര്ഡ് ഡിസ്ക് സ്ഥലോപയോഗം നിരീക്ഷിക്കാനുള്ള അപ്ലെറ്റ്
-Comment[mr]=हार्ड डिस्क वापर व टक्केवारी दर्शविणारे एप्लेट
-Comment[nb]=Et miniprogram som overvåker bruk av plass på harddisk, og prosentvis
-Comment[nds]=En Lüttprogramm, dat den Fastplaat-Bruuk afsluuts un in Perzent beluert
-Comment[nl]=Een applet die het ruimtegebruik van de harde schijf volgt
-Comment[nn]=Skjemelement som overvaker bruk av diskplass på harddisk, og viser som prosent
-Comment[pa]=ਐਪਲਿਟ, ਜੋ ਕਿ ਹਾਰਡ ਡਿਸਕ ਵਲੋਂ ਵਰਤੀ ਥਾਂ ਅਤੇ ਫੀਸਦੀ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ
-Comment[pl]=Monitoruje wykorzystaną przestrzeń i procent wykorzystania dysku twardego
-Comment[pt]=Uma 'applet' que vigia a utilização e percentagem do disco
-Comment[pt_BR]=Monitora o uso do espaço do disco rígido e a porcentagem
-Comment[ro]=Miniaplicație ce monitorizează gradul de utilizare a discului dur
-Comment[ru]=Мониторинг используемого дискового пространства
-Comment[sk]=Applet, ktorý monitoruje použitie miesta na pevnom disku a percentá
-Comment[sl]=Programček, ki nadzoruje uporabo prostora na trdem disku
-Comment[sr]=Аплет за надгледање заузећа хард диска
-Comment[sr@ijekavian]=Аплет за надгледање заузећа хард диска
-Comment[sr@ijekavianlatin]=Aplet za nadgledanje zauzeća hard diska
-Comment[sr@latin]=Aplet za nadgledanje zauzeća hard diska
-Comment[sv]=Ett miniprogram som övervakar hårddiskutrymme och procent
-Comment[tr]=Sabit disk kullanımını izleyen ve yüzde olarak gösteren bir programcık
-Comment[uk]=Аплет, який стежить за використанням місця на диску
-Comment[vi]=Một ứng dụng nhỏ quản lý phần trăm sử dụng không gian đĩa
-Comment[x-test]=xxAn applet that monitors hard disk space usage and percentagexx
-Comment[zh_CN]=监视硬盘空间使用率的小程序
-Comment[zh_TW]=監視硬碟空間使用量百分比的小程式
-
+Name=Disk Usage
+Comment=System monitor Widget that shows the usage of the root partition
Type=Service
-Icon=drive-harddisk
-
+Icon=cpu
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/diskusage.qml
-X-Plasma-StandAloneApp=true
+X-Plasma-MainScript=ui/main.qml
+X-Plasma-Provides=org.kde.plasma.systemmonitor
+X-Plasma-RootPath=org.kde.plasma.systemmonitor
X-KDE-PluginInfo-Author=Marco Martin
X-KDE-PluginInfo-Email=mart@kde.org
X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor.diskusage
X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=https://kde.org/plasma-desktop
-X-KDE-PluginInfo-Category=System Information
+X-KDE-PluginInfo-Website=kde.org
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL-2.0+
-X-KDE-FormFactors=tablet,mediacenter,desktop
+X-KDE-PluginInfo-EnabledByDefault=true
+X-KDE-PluginInfo-Category=System Information
diff --git a/applets/systemmonitor/memory/Messages.sh b/applets/systemmonitor/memory/Messages.sh
deleted file mode 100644
--- a/applets/systemmonitor/memory/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` `find ../common -name \*.qml` -o $podir/plasma_applet_org.kde.plasma.systemmonitor.memory.pot
diff --git a/applets/systemmonitor/memory/contents/config/config.qml b/applets/systemmonitor/memory/contents/config/config.qml
deleted file mode 100644
--- a/applets/systemmonitor/memory/contents/config/config.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- *
- * 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) any later version.
- *
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Memory")
- icon: "media-flash"
- source: "memoryConfig.qml"
- }
-}
diff --git a/applets/systemmonitor/memory/contents/config/faceproperties b/applets/systemmonitor/memory/contents/config/faceproperties
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/memory/contents/config/faceproperties
@@ -0,0 +1,11 @@
+[Config]
+chartFace=org.kde.ksysguard.piechart
+highPrioritySensorIds=mem/physical/allocated
+totalSensor=mem/physical/allocatedlevel
+lowPrioritySensorIds=mem/physical/total
+
+[FaceConfig]
+rangeAuto=true
+rangeFrom=0
+rangeTo=100
+
diff --git a/applets/systemmonitor/memory/contents/ui/memory.qml b/applets/systemmonitor/memory/contents/ui/memory.qml
deleted file mode 100644
--- a/applets/systemmonitor/memory/contents/ui/memory.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-import org.kde.kcoreaddons 1.0 as KCoreAddons
-
-Applet {
- id: root
-
- onSourceAdded: {
- if (source === "mem/physical/application") {
- root.addSource(source, i18n("Physical memory"));
- } else if (source === "mem/swap/used") {
- root.addSource(source, i18n("Swap"));
- }
- }
-
- delegate: SinglePlotter {
- autoRange: false
- rangeMin: 0
- rangeMax: 0
- function formatData(data) {
- rangeMax = data.max;
- return KCoreAddons.Format.formatByteSize(data.value * 1024)
- }
- }
-}
diff --git a/applets/systemmonitor/memory/contents/ui/memoryConfig.qml b/applets/systemmonitor/memory/contents/ui/memoryConfig.qml
deleted file mode 100644
--- a/applets/systemmonitor/memory/contents/ui/memoryConfig.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-ConfigGeneral {
- id: root
-
- onSourceAdded: {
- if (source === "mem/physical/application") {
- root.addSource(source, i18n("Physical memory"));
- } else if (source === "mem/swap/used") {
- root.addSource(source, i18n("Swap"));
- }
- }
-}
diff --git a/applets/systemmonitor/memory/metadata.desktop b/applets/systemmonitor/memory/metadata.desktop
--- a/applets/systemmonitor/memory/metadata.desktop
+++ b/applets/systemmonitor/memory/metadata.desktop
@@ -1,151 +1,22 @@
[Desktop Entry]
-Name=Memory Status
-Name[ar]=حالة الذاكرة
-Name[ast]=Estáu de la memoria
-Name[bg]=Състояние на паметта
-Name[bs]=Stanje memorije
-Name[ca]=Estat de la memòria
-Name[ca@valencia]=Estat de la memòria
-Name[cs]=Stav paměti
-Name[da]=Hukommelsesstatus
-Name[de]=Speicherstatus
-Name[el]=Κατάσταση μνήμης
-Name[en_GB]=Memory Status
-Name[eo]=Memora stato
-Name[es]=Estado de la memoria
-Name[et]=Mälu olek
-Name[eu]=Memoria egoera
-Name[fi]=Muistin käyttö
-Name[fr]=État de la mémoire
-Name[ga]=Stádas Cuimhne
-Name[gl]=Estado da memoria
-Name[gu]=મેમરી પરિસ્થિતિ
-Name[he]=מצב הזיכרון
-Name[hi]=मेमोरी स्थिति
-Name[hr]=Stanje memorije
-Name[hu]=Memóriaállapot
-Name[ia]=Stato de memoria
-Name[id]=Status Memori
-Name[is]=Staða minnis
-Name[it]=Stato della memoria
-Name[ja]=メモリの状態
-Name[kk]=Жад күй-жайы
-Name[km]=ស្ថានភាពសតិ
-Name[kn]=ಸ್ಮೃತಿ (ಮೆಮೊರಿ) ಸ್ಥಿತಿ
-Name[ko]=메모리 상태
-Name[lt]=Atminties būsena
-Name[lv]=Atmiņas statuss
-Name[mr]=स्मृति स्थिति
-Name[nb]=Minnestatus
-Name[nds]=Spieker-Status
-Name[nl]=Geheugen-status
-Name[nn]=Minnestatus
-Name[pa]=ਮੈਮੋਰੀ ਹਾਲਤ
-Name[pl]=Wykorzystanie pamięci
-Name[pt]=Estado da Memória
-Name[pt_BR]=Status da memória
-Name[ro]=Stare memorie
-Name[ru]=Использование памяти
-Name[si]=මතක තත්ත්වය
-Name[sk]=Stav pamäte
-Name[sl]=Stanje pomnilnika
-Name[sr]=стање меморије
-Name[sr@ijekavian]=стање меморије
-Name[sr@ijekavianlatin]=stanje memorije
-Name[sr@latin]=stanje memorije
-Name[sv]=Minnesstatus
-Name[th]=สถานะหน่วยความจำ
-Name[tr]=Bellek Durumu
-Name[ug]=ئەسلەك ھالىتى
-Name[uk]=Стан пам’яті
-Name[wa]=Estat del memwere
-Name[x-test]=xxMemory Statusxx
-Name[zh_CN]=内存状态
-Name[zh_TW]=記憶體狀態
-Comment=A RAM usage monitor
-Comment[ar]=مرقاب لاستخدام الذاكرة العشوائية
-Comment[bg]=Изпозлване на оперативната памет (RAM)
-Comment[bs]=Nadgledanje upotrebe RAM‑a
-Comment[ca]=Un controlador d'ús de la RAM
-Comment[ca@valencia]=Un controlador d'ús de la RAM
-Comment[cs]=Monitor využití RAM
-Comment[csb]=Mònitór brëkòwaniô pamiãcë RAM
-Comment[da]=Overvågning af ram-forbrug
-Comment[de]=Ein Überwachungsmonitor für den Arbeitsspeicher
-Comment[el]=Ένας επόπτης χρήσης μνήμης RAM
-Comment[en_GB]=A RAM usage monitor
-Comment[eo]=RAM uzada rigardilo
-Comment[es]=Monitor de uso de la RAM
-Comment[et]=RAM-i kasutuse jälgija
-Comment[eu]=RAM erabileraren begirale bat
-Comment[fi]=Näyttää muistin käytön
-Comment[fr]=Surveillance de l'usage de la mémoire vive
-Comment[fy]=In RAM brûkme monitor
-Comment[ga]=Monatóir úsáid RAM
-Comment[gl]=Un vixilante do utilización da memoria RAM
-Comment[gu]=રેમ વપરાશ દેખરેખ
-Comment[he]=משמש לניטור השימוש בזיכרון ה־RAM
-Comment[hi]=रेम उपयोग मॉनीटर
-Comment[hr]=Nadzor korištenja RAM memorije
-Comment[hu]=Memóriahasználat-figyelő
-Comment[ia]=Un monitor del usage de RAM
-Comment[id]=Sebuah pemantau penggunaan RAM
-Comment[is]=Eftirlit með notkun vinnsluminnis
-Comment[it]=Indica l'uso della RAM
-Comment[ja]=RAM 使用率を監視します
-Comment[kk]=Жадыны пайдалануын бақылау
-Comment[km]=កម្មវិធីត្រួតពិនិត្យការប្រើសតិ
-Comment[kn]=RAM ಬಳಕೆಯ ಮೇಲ್ವಿಚಾರಕ
-Comment[ko]=RAM 사용량 모니터
-Comment[lt]=RAM naudojimo prižiūryklė
-Comment[lv]=Atmiņas izmantotāja novērotājs
-Comment[mai]=रैम उपयोग मानीटर
-Comment[mk]=Монитор на користењето на меморијата
-Comment[ml]=ഒരു റാം ഉപയോഗ നിരീക്ഷണോപാധി
-Comment[mr]=RAM वापरणी नियंत्रक
-Comment[nb]=En overvåker for RAM-bruk
-Comment[nds]=En Kieker för den RAM-Bruuk
-Comment[nl]=Volgt het RAM-gebruik
-Comment[nn]=Overvaking av minnebruk
-Comment[pa]=ਇੱਕ RAM ਵਰਤੋਂ ਮਾਨੀਟਰ
-Comment[pl]=Monitoruje wykorzystanie pamięci RAM
-Comment[pt]=Um monitor da utilização da RAM
-Comment[pt_BR]=Um monitor de utilização da RAM
-Comment[ro]=Monitor pentru utilizarea memoriei
-Comment[ru]=Монитор использования оперативной памяти
-Comment[si]=RAM භාවිතය නිරික්ෂකය
-Comment[sk]=Monitor využitia RAM
-Comment[sl]=Nadzornik porabe hitrega pomnilnika
-Comment[sr]=Надгледање употребе РАМ‑а
-Comment[sr@ijekavian]=Надгледање употребе РАМ‑а
-Comment[sr@ijekavianlatin]=Nadgledanje upotrebe RAM‑a
-Comment[sr@latin]=Nadgledanje upotrebe RAM‑a
-Comment[sv]=Övervakning av minnesanvändning
-Comment[tg]=Назорати истифодабарии RAM
-Comment[th]=ตัวติดตามการใช้งานหน่วยความจำ
-Comment[tr]=Bir bellek kullanımı izleyici
-Comment[ug]=RAM ئىشلىتىشنى كۆزەتكۈچ
-Comment[uk]=Монітор використання пам’яті
-Comment[wa]=On corwaitoe di l' eployaedje del RAM
-Comment[x-test]=xxA RAM usage monitorxx
-Comment[zh_CN]=RAM 利用率监视器
-Comment[zh_TW]=記憶體使用量監視器
-
+Name=Memory Usage
+Name[de]=Speicherverwendung
+Comment=System monitor Widget that shows physical memory usage
Type=Service
-Icon=media-flash
-
+Icon=ksysguardd
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/memory.qml
-X-Plasma-StandAloneApp=true
+X-Plasma-MainScript=ui/main.qml
+X-Plasma-Provides=org.kde.plasma.systemmonitor
+X-Plasma-RootPath=org.kde.plasma.systemmonitor
-X-KDE-PluginInfo-Author=Marco Martin
-X-KDE-PluginInfo-Email=mart@kde.org
+X-KDE-PluginInfo-Author=Kai Uwe Broulik
+X-KDE-PluginInfo-Email=kde@privat.broulik.de
X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor.memory
X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=https://kde.org/plasma-desktop
-X-KDE-PluginInfo-Category=System Information
+X-KDE-PluginInfo-Website=kde.org
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL-2.0+
-X-KDE-FormFactors=tablet,mediacenter,desktop
+X-KDE-PluginInfo-EnabledByDefault=true
+X-KDE-PluginInfo-Category=System Information
diff --git a/applets/systemmonitor/net/Messages.sh b/applets/systemmonitor/net/Messages.sh
deleted file mode 100644
--- a/applets/systemmonitor/net/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` `find ../common -name \*.qml` -o $podir/plasma_applet_org.kde.plasma.systemmonitor.net.pot
diff --git a/applets/systemmonitor/net/contents/config/config.qml b/applets/systemmonitor/net/contents/config/config.qml
deleted file mode 100644
--- a/applets/systemmonitor/net/contents/config/config.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2013 Bhushan Shah
- *
- * 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) any later version.
- *
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
- */
-
-import QtQuick 2.0
-
-import org.kde.plasma.configuration 2.0
-
-ConfigModel {
- ConfigCategory {
- name: i18n("Interfaces")
- icon: "network-workgroup"
- source: "netConfig.qml"
- }
- ConfigCategory {
- name: i18n("Units")
- icon: "kruler"
- source: "displayConfig.qml"
- }
-}
diff --git a/applets/systemmonitor/net/contents/config/faceproperties b/applets/systemmonitor/net/contents/config/faceproperties
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/net/contents/config/faceproperties
@@ -0,0 +1,9 @@
+[Config]
+chartFace=org.kde.ksysguard.linechart
+highPrioritySensorIds=network/all/receivedDataRate,network/all/sentDataRate
+totalSensor=
+lowPrioritySensorIds=
+
+[FaceConfig]
+lineChartSmooth=true
+
diff --git a/applets/systemmonitor/net/contents/ui/displayConfig.qml b/applets/systemmonitor/net/contents/ui/displayConfig.qml
deleted file mode 100644
--- a/applets/systemmonitor/net/contents/ui/displayConfig.qml
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2019 George Vogiatzis
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import QtQuick.Controls 2.5 as QQC2
-import org.kde.kirigami 2.5 as Kirigami
-
-Kirigami.FormLayout {
- property int cfg_displayUnit: plasmoid.configuration.displayUnit
-
- QQC2.ButtonGroup {
- id: displayUnitGroup
- }
-
- QQC2.RadioButton {
- id: byteDisplayUnit
- QQC2.ButtonGroup.group: displayUnitGroup
-
- Kirigami.FormData.label: i18nc("@label", "Display unit:")
-
- text: i18nc("@option:radio", "Byte")
- checked: cfg_displayUnit == 0
- onClicked: if (checked) {cfg_displayUnit = 0;}
- }
-
- QQC2.RadioButton {
- id: bitDisplayUnit
- QQC2.ButtonGroup.group: displayUnitGroup
-
- text: i18nc("@option:radio", "bit")
-
- checked: cfg_displayUnit == 1
- onClicked: if (checked) {cfg_displayUnit = 1;}
- }
-}
diff --git a/applets/systemmonitor/net/contents/ui/net.qml b/applets/systemmonitor/net/contents/ui/net.qml
deleted file mode 100644
--- a/applets/systemmonitor/net/contents/ui/net.qml
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-import org.kde.kcoreaddons 1.0 as KCoreAddons
-
-Applet {
- id: root
-
- onSourceAdded: {
- if (source.indexOf("network/interfaces/lo/") !== -1) {
- return;
- }
- var match = source.match(/^network\/interfaces\/(\w+)\/transmitter\/data$/);
- if (match) {
- var rxSource = "network/interfaces/" + match[1] + "/receiver/data";
- root.addSource(source, match[1], rxSource, match[1]);
- }
- }
-
- delegate: DoublePlotter {
- function formatData(data) {
- if (plasmoid.configuration.displayUnit === 0) {
- var value = data.value * 1024
- return i18nc("%1 is the displayed data transfer speed in bytes per second", "%1/s", KCoreAddons.Format.formatByteSize(value));
- } else {
- var value = data.value * 1024 * 8
- if (value > (1024 * 1024)) {
- return i18nc("%1 is the displayed data transfer speed in megabits per second", "%1 Mbps", (value / (1024 * 1024)).toFixed(1));
- }
- if (value > 1024) {
- return i18nc("%1 is the displayed data transfer speed in kilobits per second", "%1 Kbps", (value / 1024));
- }
- return i18nc("%1 is the displayed data transfer speed in bits per second", "%1 bps", value);
- }
- }
- }
-}
diff --git a/applets/systemmonitor/net/contents/ui/netConfig.qml b/applets/systemmonitor/net/contents/ui/netConfig.qml
deleted file mode 100644
--- a/applets/systemmonitor/net/contents/ui/netConfig.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2015 Marco Martin
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
- * (at your option) any later version.
- *
- * 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 Library General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-
-ConfigGeneral {
- id: root
-
- onSourceAdded: {
- if (source.indexOf("network/interfaces/lo/") !== -1) {
- return;
- }
- var match = source.match(/^network\/interfaces\/(\w+)\/transmitter\/data$/);
- if (match) {
- root.addSource(source, match[1]);
- }
- }
-}
diff --git a/applets/systemmonitor/net/metadata.desktop b/applets/systemmonitor/net/metadata.desktop
--- a/applets/systemmonitor/net/metadata.desktop
+++ b/applets/systemmonitor/net/metadata.desktop
@@ -1,157 +1,21 @@
[Desktop Entry]
-Name=Network Monitor
-Name[ar]=مرقاب الشبكة
-Name[bg]=Наблюдение на мрежата
-Name[bs]=Nadzor mreže
-Name[ca]=Monitor de la xarxa
-Name[ca@valencia]=Monitor de la xarxa
-Name[cs]=Monitor sítě
-Name[da]=Netværksovervågning
-Name[de]=Netzwerküberwachung
-Name[el]=Επόπτης δικτύου
-Name[en_GB]=Network Monitor
-Name[es]=Monitor de red
-Name[et]=Võrgujälgija
-Name[eu]=Sareko begiralea
-Name[fi]=Verkon käyttö
-Name[fr]=Surveillance du réseau
-Name[ga]=Monatóir an Líonra
-Name[gl]=Vixilante da rede
-Name[gu]=નેટવર્ક મોનિટર
-Name[he]=מוניטור רשת
-Name[hi]=नेटवर्क नरीक्षण
-Name[hr]=Nadzornik mreže
-Name[hu]=Hálózatfigyelő
-Name[ia]=Monitor de Rete
-Name[id]=Pemantau Jaringan
-Name[is]=Netkerfisvaktari
-Name[it]=Monitor di rete
-Name[ja]=ネットワークモニタ
-Name[kk]=Желіні бақылау
-Name[km]=ត្រួតពិនិត្យបណ្ដាញ
-Name[kn]=ಜಾಲಬಂಧ ಮೇಲ್ವಿಚಾರಕ
-Name[ko]=네트워크 모니터
-Name[lt]=Tinklo prižiūryklė
-Name[lv]=Tīkla monitors
-Name[ml]=നെറ്റ്വര്ക്ക് മോണിറ്റര്
-Name[mr]=संजाळ नियंत्रक
-Name[nb]=Nettverksovervåker
-Name[nds]=Nettwark-Kieker
-Name[nl]=Netwerkmonitor
-Name[nn]=Nettverksovervaking
-Name[pa]=ਨੈੱਟਵਰਕ ਨਿਗਰਾਨ
-Name[pl]=Monitor sieci
-Name[pt]=Monitor da Rede
-Name[pt_BR]=Monitor da rede
-Name[ro]=Monitor de rețea
-Name[ru]=Сетевой монитор
-Name[se]=Fierbmi
-Name[si]=ජාල මොනිටරය
-Name[sk]=Monitor siete
-Name[sl]=Nadzornik omrežja
-Name[sr]=надзор мреже
-Name[sr@ijekavian]=надзор мреже
-Name[sr@ijekavianlatin]=nadzor mreže
-Name[sr@latin]=nadzor mreže
-Name[sv]=Nätverksövervakning
-Name[tg]=Назорати шабака
-Name[th]=ติดตามการใช้งานเครือข่าย
-Name[tr]=Ağ İzleyici
-Name[ug]=تور كۆزەتكۈچ
-Name[uk]=Монітор мережі
-Name[wa]=Corwaitoe del rantoele
-Name[x-test]=xxNetwork Monitorxx
-Name[zh_CN]=网络监视器
-Name[zh_TW]=網路監控
-Comment=A network usage monitor
-Comment[ar]=مرقاب لاستخدام الشبكة
-Comment[be@latin]=Nazirańnik zaniataści sietki
-Comment[bg]=Наблюдение на изпозлването на мрежата
-Comment[bs]=Nadgledanje upotrebe mreže
-Comment[ca]=Un controlador d'ús de la xarxa
-Comment[ca@valencia]=Un controlador d'ús de la xarxa
-Comment[cs]=Monitor využití sítě
-Comment[csb]=Mònitór brëkòwaniô sécë
-Comment[da]=Overvågning af netværkstrafik
-Comment[de]=Ein Überwachungsmonitor für Netzwerke
-Comment[el]=Ένας επόπτης χρήσης του δικτύου
-Comment[en_GB]=A network usage monitor
-Comment[es]=Monitor de uso de la red
-Comment[et]=Võrgukasutuse jälgija
-Comment[eu]=Sare erabileraren begirale bat
-Comment[fi]=Näyttää verkon käytön
-Comment[fr]=Surveillance de l'usage réseau
-Comment[fy]=In netwurk brûkme monitor
-Comment[ga]=Monatóir úsáide an líonra
-Comment[gl]=Un vixilante do estado da rede
-Comment[gu]=નેટવર્ક સ્થિતિ દેખરેખ
-Comment[he]=משמש לניטור השימוש ברשת
-Comment[hi]=नेटवर्क उपयोग मॉनीटर
-Comment[hne]=नेटवर्क उपयोग देखइया
-Comment[hr]=Nadzor korištenja mreže
-Comment[hsb]=Monitor, kiž pokazuje wućeženosć syće
-Comment[hu]=Kijelzi a hálózat állapotát
-Comment[ia]=Un monitor de usage de rete
-Comment[id]=Sebuah pemantau penggunaan jaringan
-Comment[is]=Eftirlit með notkun netsins
-Comment[it]=Indica l'uso della rete
-Comment[ja]=ネットワークの活動を監視します
-Comment[kk]=Желі пайдалануын бақылау
-Comment[km]=កម្មវិធីត្រួតពិនិត្យការប្រើបណ្ដាញ
-Comment[kn]=ಜಾಲಬಂಧ ಬಳಕೆಯ ಮೇಲ್ವಿಚಾರಕ
-Comment[ko]=네트워크 사용량 모니터
-Comment[ku]=Temaşekerê rewşa torê
-Comment[lt]=Tinklo naudojimo prižiūryklė
-Comment[lv]=Tīkla noslogojuma novērotājs
-Comment[mk]=Монитор на користењето на мрежата
-Comment[ml]=ഒരു നെറ്റ്വര്ക്ക് ഉപയോഗ നിരീക്ഷണോപാധി
-Comment[mr]=संजाळ वापरणी नियंत्रक
-Comment[nb]=En overvåker for nettverksbruk
-Comment[nds]=En Kieker för den Nettwark-Bruuk
-Comment[nl]=Toont het netwerkgebruik
-Comment[nn]=Overvaking av nettverksbruk
-Comment[or]=ଗୋଟିଏ ନେଟୱର୍କ ବ୍ୟବହାର ବିଧି ନିରିକ୍ଷକ
-Comment[pa]=ਨੈੱਟਵਰਕ ਵਰਤੋਂ ਨਿਗਰਾਨ
-Comment[pl]=Monitoruje wykorzystanie sieci
-Comment[pt]=Um monitor da utilização da rede
-Comment[pt_BR]=Um monitor de utilização da rede
-Comment[ro]=Monitor de utilizare a rețelei
-Comment[ru]=Монитор сетевой активности
-Comment[si]=ජාල භාවිතය නිරික්ෂකය
-Comment[sk]=Monitor využitia siete
-Comment[sl]=Nadzornik uporabe omrežja
-Comment[sr]=Надгледање употребе мреже
-Comment[sr@ijekavian]=Надгледање употребе мреже
-Comment[sr@ijekavianlatin]=Nadgledanje upotrebe mreže
-Comment[sr@latin]=Nadgledanje upotrebe mreže
-Comment[sv]=Övervakning av nätverksanvändning
-Comment[ta]=பிணைய பயன்பாடு நோட்டம்
-Comment[tg]=Назорати истифодабарии шабака
-Comment[th]=ตัวติดตามดูการใช้งานเครือข่าย
-Comment[tr]=Bir ağ kullanımı izleyici
-Comment[ug]=تور ئىشلىتىشنى كۆزەتكۈچ
-Comment[uk]=Монітор використання мережі
-Comment[wa]=On corwaitoe di l' eployaedje del rantoele
-Comment[x-test]=xxA network usage monitorxx
-Comment[zh_CN]=网络利用率监视器
-Comment[zh_TW]=網路使用量監視器
+Name=Network speed
+Comment=System monitor Widget that shows the download and upload data rate
Type=Service
Icon=network-workgroup
-
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
-X-Plasma-MainScript=ui/net.qml
-X-Plasma-StandAloneApp=true
-
-X-Plasma-ConfigPlugins=solid-actions,device_automounter_kcm
+X-Plasma-MainScript=ui/main.qml
+X-Plasma-Provides=org.kde.plasma.systemmonitor
+X-Plasma-RootPath=org.kde.plasma.systemmonitor
X-KDE-PluginInfo-Author=Marco Martin
X-KDE-PluginInfo-Email=mart@kde.org
X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor.net
X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=https://kde.org/plasma-desktop
-X-KDE-PluginInfo-Category=System Information
+X-KDE-PluginInfo-Website=kde.org
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL-2.0+
-X-KDE-FormFactors=tablet,mediacenter,desktop
+X-KDE-PluginInfo-EnabledByDefault=true
+X-KDE-PluginInfo-Category=System Information
diff --git a/applets/systemmonitor/systemmonitor/CMakeLists.txt b/applets/systemmonitor/systemmonitor/CMakeLists.txt
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/CMakeLists.txt
@@ -0,0 +1,29 @@
+set(systemmonitor_SRCS
+ systemmonitor.cpp
+)
+
+add_library(plasma_applet_systemmonitor MODULE ${systemmonitor_SRCS})
+
+kcoreaddons_desktop_to_json(plasma_applet_systemmonitor package/metadata.desktop)
+
+target_link_libraries(plasma_applet_systemmonitor
+ Qt5::Gui
+ Qt5::Qml
+ Qt5::Quick
+ Qt5::DBus
+ KF5::Plasma
+ KF5::I18n
+ KF5::ConfigCore
+ KF5::ConfigGui
+ KF5::Declarative
+ KF5::SysGuard
+ KF5::Sensors
+ KF5::SensorFaces
+ )
+
+
+install(TARGETS plasma_applet_systemmonitor DESTINATION ${KDE_INSTALL_PLUGINDIR}/plasma/applets)
+
+plasma_install_package(package org.kde.plasma.systemmonitor)
+
+install(FILES systemmonitor-faces.knsrc systemmonitor-presets.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR})
diff --git a/applets/systemmonitor/systemmonitor/Messages.sh b/applets/systemmonitor/systemmonitor/Messages.sh
new file mode 100755
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/Messages.sh
@@ -0,0 +1,4 @@
+#! /usr/bin/env bash
+$EXTRACTRC `find . -name \*.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp
+$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` -o $podir/plasma_applet_org.kde.plasma.systemmonitor.pot
+rm -f rc.cpp
diff --git a/applets/systemmonitor/systemmonitor/package/contents/config/config.qml b/applets/systemmonitor/systemmonitor/package/contents/config/config.qml
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/contents/config/config.qml
@@ -0,0 +1,25 @@
+import QtQuick 2.0
+import org.kde.ksysguard.sensors 1.0 as Sensors
+import org.kde.ksysguard.faces 1.0 as Faces
+
+import org.kde.plasma.configuration 2.0
+
+ConfigModel {
+ ConfigCategory {
+ name: i18n("Appearance")
+ icon: "preferences-desktop-color"
+ source: "config/ConfigAppearance.qml"
+ }
+ ConfigCategory {
+ name: i18n("%1 Details", plasmoid.nativeInterface.faceController.name)
+ icon: plasmoid.nativeInterface.faceController.icon
+ visible: plasmoid.nativeInterface.configPath.length > 0
+ source: "config/FaceDetails.qml"
+ }
+ ConfigCategory {
+ name: i18n("Sensors Details")
+ icon: "ksysguardd"
+ source: "config/ConfigSensors.qml"
+ }
+}
+
diff --git a/applets/systemmonitor/systemmonitor/package/contents/config/main.xml b/applets/systemmonitor/systemmonitor/package/contents/config/main.xml
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/contents/config/main.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+ org.kde.ksysguard.piechart
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/applets/systemmonitor/systemmonitor/package/contents/ui/CompactRepresentation.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/CompactRepresentation.qml
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/contents/ui/CompactRepresentation.qml
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2019 Marco Martin
+ * Copyright 2019 David Edmundson
+ * Copyright 2019 Arjen Hiemstra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * 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 Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.9
+import QtQuick.Layouts 1.1
+import QtQuick.Controls 2.2
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.quickcharts 1.0 as Charts
+
+import org.kde.ksysguard.sensors 1.0 as Sensors
+import org.kde.ksysguard.faces 1.0 as Faces
+
+import org.kde.kirigami 2.8 as Kirigami
+
+Control {
+ id: chartFace
+ Layout.fillWidth: contentItem ? contentItem.Layout.fillWidth : false
+ Layout.fillHeight: contentItem ? contentItem.Layout.fillHeight : false
+
+ Layout.minimumWidth: contentItem ? contentItem.Layout.minimumWidth : 0
+ Layout.minimumHeight: contentItem ? contentItem.Layout.minimumHeight : 0
+
+ Layout.preferredWidth: contentItem ? contentItem.Layout.preferredWidth : 0
+ Layout.preferredHeight: contentItem ? contentItem.Layout.preferredHeight : 0
+
+ Layout.maximumWidth: contentItem ? contentItem.Layout.maximumWidth : 0
+ Layout.maximumHeight: contentItem ? contentItem.Layout.maximumHeight : 0
+
+ Kirigami.Theme.textColor: PlasmaCore.ColorScope.textColor
+
+ anchors.fill: parent
+ contentItem: plasmoid.nativeInterface.faceController.compactRepresentation
+
+ MouseArea {
+ parent: chartFace
+ anchors.fill: parent
+ onClicked: plasmoid.expanded = !plasmoid.expanded
+ }
+}
diff --git a/applets/systemmonitor/systemmonitor/package/contents/ui/FullRepresentation.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/FullRepresentation.qml
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/contents/ui/FullRepresentation.qml
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2019 Marco Martin
+ * Copyright 2019 David Edmundson
+ * Copyright 2019 Arjen Hiemstra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * 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 Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.9
+import QtQuick.Layouts 1.1
+import QtQuick.Controls 2.2
+import QtQuick.Window 2.12
+import QtGraphicalEffects 1.0
+
+import org.kde.kirigami 2.8 as Kirigami
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.plasmoid 2.0
+
+import org.kde.ksysguard.sensors 1.0 as Sensors
+import org.kde.ksysguard.faces 1.0 as Faces
+
+import org.kde.quickcharts 1.0 as Charts
+
+Control {
+ id: chartFace
+
+ anchors {
+ fill: parent
+ margins: Kirigami.Units.smallSpacing * (plasmoid.configuration.backgroundEnabled ? 1 : 2)
+ }
+
+ Layout.minimumWidth: contentItem ? contentItem.Layout.minimumWidth : 0
+ Layout.minimumHeight: contentItem ? contentItem.Layout.minimumHeight : 0
+ Layout.preferredWidth: contentItem
+ ? (contentItem.Layout.preferredWidth > 0 ? contentItem.Layout.preferredWidth : contentItem.implicitWidth)
+ : 0
+ Layout.preferredHeight: contentItem
+ ? (contentItem.Layout.preferredHeight > 0 ? contentItem.Layout.preferredHeight: contentItem.implicitHeight)
+ : 0
+ Layout.maximumWidth: contentItem ? contentItem.Layout.maximumWidth : 0
+ Layout.maximumHeight: contentItem ? contentItem.Layout.maximumHeight : 0
+
+ Kirigami.Theme.textColor: PlasmaCore.ColorScope.textColor
+
+ contentItem: plasmoid.nativeInterface.faceController.fullRepresentation
+}
+
diff --git a/applets/systemmonitor/diskactivity/contents/ui/diskactivity.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/config/ConfigAppearance.qml
rename from applets/systemmonitor/diskactivity/contents/ui/diskactivity.qml
rename to applets/systemmonitor/systemmonitor/package/contents/ui/config/ConfigAppearance.qml
--- a/applets/systemmonitor/diskactivity/contents/ui/diskactivity.qml
+++ b/applets/systemmonitor/systemmonitor/package/contents/ui/config/ConfigAppearance.qml
@@ -1,10 +1,11 @@
/*
- * Copyright 2015 Marco Martin
- *
+ * Copyright 2019 Marco Martin
+ * Copyright 2019 David Edmundson
+ * Copyright 2019 Arjen Hiemstra
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
+ * published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@@ -18,27 +19,32 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
+import QtQuick 2.9
+import QtQuick.Layouts 1.2
+import QtQuick.Controls 2.2 as QQC2
+
+import org.kde.kirigami 2.5 as Kirigami
+import org.kde.kquickcontrols 2.0
+import org.kde.kconfig 1.0 // for KAuthorized
import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
-import org.kde.kcoreaddons 1.0 as KCoreAddons
+import org.kde.newstuff 1.62 as NewStuff
+
+import org.kde.ksysguard.sensors 1.0 as Sensors
+import org.kde.ksysguard.faces 1.0 as Faces
-Applet {
+QQC2.Control {
id: root
- onSourceAdded: {
- var match = source.match(/^disk\/([^\/]+)\/Rate\/wblk/);
- if (match) {
- var rSource = "disk/" + match[1] + "/Rate/rblk"
- root.addSource(source, match[1], rSource, match[1]);
- }
- }
+ signal configurationChanged
- delegate: DoublePlotter {
- function formatData(data) {
- return i18nc("%1 is value of data per seconds", "%1/s", KCoreAddons.Format.formatByteSize(data.value * 1024))
- }
+ function saveConfig() {
+ contentItem.saveConfig();
+ }
+
+ contentItem: plasmoid.nativeInterface.faceController.appearanceConfigUi
+
+ Connections {
+ target: contentItem
+ onConfigurationChanged: root.configurationChanged()
}
}
diff --git a/applets/systemmonitor/systemmonitor/package/contents/ui/config/ConfigSensors.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/config/ConfigSensors.qml
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/contents/ui/config/ConfigSensors.qml
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2019 Marco Martin
+ * Copyright 2019 David Edmundson
+ * Copyright 2019 Arjen Hiemstra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * 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 Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.9
+import QtQuick.Layouts 1.2
+import QtQuick.Controls 2.2 as QQC2
+import QtQml.Models 2.12
+
+import org.kde.kirigami 2.8 as Kirigami
+import org.kde.kquickcontrols 2.0
+
+import org.kde.kitemmodels 1.0 as KItemModels
+
+import org.kde.ksysguard.sensors 1.0 as Sensors
+import org.kde.ksysguard.faces 1.0 as Faces
+
+import org.kde.plasma.core 2.1 as PlasmaCore
+
+QQC2.Control {
+ id: root
+
+ signal configurationChanged
+
+ function saveConfig() {
+ contentItem.saveConfig();
+ }
+
+ contentItem: plasmoid.nativeInterface.faceController.sensorsConfigUi
+
+ Connections {
+ target: contentItem
+ onConfigurationChanged: root.configurationChanged()
+ }
+}
diff --git a/applets/systemmonitor/cpu/contents/ui/cpuConfig.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/config/FaceDetails.qml
rename from applets/systemmonitor/cpu/contents/ui/cpuConfig.qml
rename to applets/systemmonitor/systemmonitor/package/contents/ui/config/FaceDetails.qml
--- a/applets/systemmonitor/cpu/contents/ui/cpuConfig.qml
+++ b/applets/systemmonitor/systemmonitor/package/contents/ui/config/FaceDetails.qml
@@ -1,10 +1,11 @@
/*
- * Copyright 2015 Marco Martin
- *
+ * Copyright 2019 Marco Martin
+ * Copyright 2019 David Edmundson
+ * Copyright 2019 Arjen Hiemstra
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 or
+ * published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@@ -18,24 +19,27 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import QtQuick 2.0
-import QtQuick.Layouts 1.1
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
+import QtQuick 2.9
+import QtQuick.Layouts 1.2
+import QtQuick.Controls 2.2 as QQC2
+
+import org.kde.kirigami 2.5 as Kirigami
+import org.kde.kquickcontrols 2.0
+
-ConfigGeneral {
+QQC2.Control {
id: root
- onSourceAdded: {
- var match = source.match(/^cpu\/(\w+)\/TotalLoad/);
- if (match) {
- root.addSource(source, match[1]);
- }
- }
+ signal configurationChanged
- function sourceDefaultEnable(source) {
- return source.match(/^cpu(\/|%2F)system(\/|%2F)TotalLoad/);
+ function saveConfig() {
+ contentItem.saveConfig();
+ }
+
+ contentItem: plasmoid.nativeInterface.faceController.faceConfigUi
+
+ Connections {
+ target: contentItem
+ onConfigurationChanged: root.configurationChanged()
}
}
diff --git a/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2019 Marco Martin
+ * Copyright 2019 David Edmundson
+ * Copyright 2019 Arjen Hiemstra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2, or
+ * (at your option) any later version.
+ *
+ * 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 Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.0
+import QtQuick.Layouts 1.1
+import QtQuick.Window 2.12
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.plasmoid 2.0
+
+import org.kde.ksysguard.sensors 1.0 as Sensors
+import org.kde.ksysguard.faces 1.0 as Faces
+
+import org.kde.quickcharts 1.0 as Charts
+
+Item {
+ Plasmoid.backgroundHints: PlasmaCore.Types.DefaultBackground | PlasmaCore.Types.ConfigurableBackground
+
+ Plasmoid.switchWidth: Plasmoid.fullRepresentationItem ? Plasmoid.fullRepresentationItem.Layout.minimumWidth : units.gridUnit * 8
+ Plasmoid.switchHeight: Plasmoid.fullRepresentationItem ? Plasmoid.fullRepresentationItem.Layout.minimumHeight : units.gridUnit * 12
+
+ Plasmoid.title: plasmoid.nativeInterface.faceController.title || i18n("System Monitor")
+ Plasmoid.toolTipSubText: ""
+
+ Plasmoid.compactRepresentation: CompactRepresentation {
+ }
+ Plasmoid.fullRepresentation: FullRepresentation {
+ }
+
+ Plasmoid.configurationRequired: plasmoid.nativeInterface.faceController.highPrioritySensorIds.length == 0 && plasmoid.nativeInterface.faceController.lowPrioritySensorIds.length == 0 && plasmoid.nativeInterface.faceController.totalSensor.length == 0
+}
diff --git a/applets/systemmonitor/systemmonitor/package/metadata.desktop b/applets/systemmonitor/systemmonitor/package/metadata.desktop
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/package/metadata.desktop
@@ -0,0 +1,22 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=System monitor Sensor
+Comment=Displays a configurable chart of a system monitor sensor
+Icon=ksysguardd
+
+Type=Service
+X-KDE-ServiceTypes=Plasma/Applet
+
+X-Plasma-API=declarativeappletscript
+X-Plasma-MainScript=ui/main.qml
+X-KDE-Library=plasma_applet_systemmonitor
+
+X-KDE-PluginInfo-Author=Marco Martin
+X-KDE-PluginInfo-Email=mart@kde.org
+X-KDE-PluginInfo-License=GPL
+X-KDE-PluginInfo-Name=org.kde.plasma.systemmonitor
+X-KDE-PluginInfo-Version=1.0
+X-KDE-PluginInfo-Website=kde.org
+
+X-KDE-PluginInfo-Category=System Information
+X-Plasma-Provides=org.kde.plasma.systemmonitor
diff --git a/applets/systemmonitor/systemmonitor/systemmonitor-faces.knsrc b/applets/systemmonitor/systemmonitor/systemmonitor-faces.knsrc
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/systemmonitor-faces.knsrc
@@ -0,0 +1,10 @@
+[KNewStuff3]
+Name=System monitor Sensor Display Styles
+
+Categories=Plasma Charts Face
+UploadCategories=Plasma Charts Face
+
+ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
+StandardResource=tmp
+InstallationCommand=kpackagetool5 -t Plasma/SensorApplet -i %f
+UninstallCommand=kpackagetool5 -t Plasma/SensorApplet -r %f
diff --git a/applets/systemmonitor/systemmonitor/systemmonitor-presets.knsrc b/applets/systemmonitor/systemmonitor/systemmonitor-presets.knsrc
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/systemmonitor-presets.knsrc
@@ -0,0 +1,10 @@
+[KNewStuff3]
+Name=System monitor Sensor Presets
+
+Categories=Plasma Charts Preset
+UploadCategories=Plasma Charts Preset
+
+ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
+StandardResource=tmp
+InstallationCommand=kpackagetool5 -t Plasma/Applet -i %f
+UninstallCommand=kpackagetool5 -t Plasma/Applet -r %f
diff --git a/applets/systemmonitor/systemmonitor/systemmonitor.h b/applets/systemmonitor/systemmonitor/systemmonitor.h
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/systemmonitor.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+ * Copyright (C) 2019 Marco Martin *
+ *
+ * *
+ * 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) any later version. *
+ * *
+ * 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, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
+ ***************************************************************************/
+
+#pragma once
+
+#include
+#include
+#include
+
+#include
+#include
+
+class ApplicationListModel;
+class QQuickItem;
+
+namespace KSysGuard {
+ class SensorFace;
+ class SensorFaceController;
+}
+
+class KConfigLoader;
+
+
+class SystemMonitor : public Plasma::Applet
+{
+ Q_OBJECT
+
+ Q_PROPERTY(KSysGuard::SensorFaceController *faceController READ faceController CONSTANT)
+
+public:
+ SystemMonitor( QObject *parent, const QVariantList &args );
+ ~SystemMonitor() override;
+
+ void init() override;
+
+ KSysGuard::SensorFaceController *faceController() const;
+
+public Q_SLOTS:
+ void configChanged() override;
+
+private:
+ KSysGuard::SensorFaceController *m_sensorFaceController = nullptr;
+ QString m_pendingStartupPreset;
+};
+
diff --git a/applets/systemmonitor/systemmonitor/systemmonitor.cpp b/applets/systemmonitor/systemmonitor/systemmonitor.cpp
new file mode 100644
--- /dev/null
+++ b/applets/systemmonitor/systemmonitor/systemmonitor.cpp
@@ -0,0 +1,89 @@
+/***************************************************************************
+ * Copyright (C) 2019 Marco Martin *
+ * *
+ * 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) any later version. *
+ * *
+ * 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, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
+ ***************************************************************************/
+
+#include "systemmonitor.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+#include
+
+SystemMonitor::SystemMonitor(QObject *parent, const QVariantList &args)
+ : Plasma::Applet(parent, args)
+{
+ setHasConfigurationInterface(true);
+
+ //Don't set the preset right now as we can't write on the config here because we don't have a Corona yet
+ if (args.count() > 2 && args.mid(3).length() > 0) {
+ const QString preset = args.mid(3).first().toString();
+ if (preset.length() > 0) {
+ m_pendingStartupPreset = preset;
+ }
+ }
+}
+
+SystemMonitor::~SystemMonitor()
+= default;
+
+void SystemMonitor::init()
+{
+ configChanged();
+
+ // NOTE: taking the pluginId this way, we take it from the child applet (cpu monitor, memory, whatever) rather than the parent fallback applet (systemmonitor)
+ const QString pluginId = KPluginMetaData(kPackage().path() + QStringLiteral("metadata.desktop")).pluginId();
+
+ //FIXME HACK: better way to get the engine At least AppletQuickItem should have an engine() getter
+ KDeclarative::QmlObjectSharedEngine *qmlObject = new KDeclarative::QmlObjectSharedEngine();
+ KConfigGroup cg = config();
+ m_sensorFaceController = new KSysGuard::SensorFaceController(cg, qmlObject->engine());
+ qmlObject->deleteLater();
+
+ if (!m_pendingStartupPreset.isNull()) {
+ m_sensorFaceController->loadPreset(m_pendingStartupPreset);
+ } else {
+ //Take it from the config, which is *not* accessible from plasmoid.config as is not in config.xml
+ const QString preset = config().readEntry("CurrentPreset", pluginId);
+ m_sensorFaceController->loadPreset(preset);
+ }
+}
+
+KSysGuard::SensorFaceController *SystemMonitor::faceController() const
+{
+ return m_sensorFaceController;
+}
+
+void SystemMonitor::configChanged()
+{
+ if (m_sensorFaceController) {
+ m_sensorFaceController->reloadConfig();
+ }
+}
+
+K_EXPORT_PLASMA_APPLET_WITH_JSON(systemmonitor, SystemMonitor, "metadata.json")
+
+#include "systemmonitor.moc"