diff --git a/package/contents/config/config.qml b/package/contents/config/config.qml new file mode 100644 index 0000000..a9a2ca3 --- /dev/null +++ b/package/contents/config/config.qml @@ -0,0 +1,10 @@ +import QtQuick 2.0 +import org.kde.plasma.configuration 2.0 + +ConfigModel { + ConfigCategory { + name: i18n("General") + icon: "configure" + source: "configGeneral.qml" + } +} diff --git a/package/contents/config/main.xml b/package/contents/config/main.xml new file mode 100644 index 0000000..f8a5879 --- /dev/null +++ b/package/contents/config/main.xml @@ -0,0 +1,15 @@ + + + + + + + 10 + 2 + 60 + + + diff --git a/package/contents/ui/configGeneral.qml b/package/contents/ui/configGeneral.qml new file mode 100644 index 0000000..efc9f92 --- /dev/null +++ b/package/contents/ui/configGeneral.qml @@ -0,0 +1,24 @@ +import QtQuick 2.0 +import QtQuick.Controls 2.5 as QQC2 +import org.kde.kirigami 2.4 as Kirigami + +QQC2.Pane { + id: root + + property alias cfg_pollingrate: pollingrate.value + + Kirigami.FormLayout { + anchors.fill: parent + wideMode: false + + QQC2.SpinBox { + id: pollingrate + Kirigami.FormData.label: i18nc("@label", "pollingrate in seconds:") + onValueChanged: { + console.log("cfg_pollingrate: " + cfg_pollingrate); + } + from: 2 + to: 60 + } + } +} diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml index 69a73c9..d09d354 100644 --- a/package/contents/ui/main.qml +++ b/package/contents/ui/main.qml @@ -6,13 +6,14 @@ import org.kde.plasma.core 2.0 as PlasmaCore Item { id: main + property int pollingrate: Plasmoid.configuration.pollingrate property int batteryPercent: -2 PlasmaCore.DataSource { id: hsSource engine: "executable" connectedSources: ["headsetcontrol -bc"] - interval: 2000 + interval: pollingrate * 1e3 onNewData: { if(data['exit_code'] > 0) return console.log('error lol');