add config page

This commit is contained in:
Flummi 2024-01-19 01:54:33 +01:00
parent 8c221144d3
commit 2d04bddde9
Signed by: Flummi
GPG Key ID: AA2AEF822A6F4817
4 changed files with 51 additions and 1 deletions

View File

@ -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"
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name=""/>
<group name="General">
<entry name="pollingrate" type="Int">
<default>10</default>
<min>2</min>
<max>60</max>
</entry>
</group>
</kcfg>

View File

@ -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
}
}
}

View File

@ -6,13 +6,14 @@ import org.kde.plasma.core 2.0 as PlasmaCore
Item { Item {
id: main id: main
property int pollingrate: Plasmoid.configuration.pollingrate
property int batteryPercent: -2 property int batteryPercent: -2
PlasmaCore.DataSource { PlasmaCore.DataSource {
id: hsSource id: hsSource
engine: "executable" engine: "executable"
connectedSources: ["headsetcontrol -bc"] connectedSources: ["headsetcontrol -bc"]
interval: 2000 interval: pollingrate * 1e3
onNewData: { onNewData: {
if(data['exit_code'] > 0) if(data['exit_code'] > 0)
return console.log('error lol'); return console.log('error lol');