diff --git a/package/contents/config/config.qml b/package/contents/config/config.qml
index 726d03c..c012402 100644
--- a/package/contents/config/config.qml
+++ b/package/contents/config/config.qml
@@ -1,5 +1,5 @@
-import QtQuick 2.0
-import org.kde.plasma.configuration 2.0
+import QtQuick
+import org.kde.plasma.configuration
ConfigModel {
ConfigCategory {
@@ -7,9 +7,4 @@ ConfigModel {
icon: "configure"
source: "config/general.qml"
}
- ConfigCategory {
- name: i18n("Debug")
- icon: "cab_view"
- source: "config/debug.qml"
- }
}
diff --git a/package/contents/config/main.xml b/package/contents/config/main.xml
index 453d1de..66e88f5 100644
--- a/package/contents/config/main.xml
+++ b/package/contents/config/main.xml
@@ -29,7 +29,7 @@
true
-
+
false
diff --git a/package/contents/ui/CompactRepresentation.qml b/package/contents/ui/CompactRepresentation.qml
index 97958dd..d73f8bc 100644
--- a/package/contents/ui/CompactRepresentation.qml
+++ b/package/contents/ui/CompactRepresentation.qml
@@ -1,8 +1,8 @@
-import QtQuick 2.15
-import QtQuick.Layouts 1.3
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kirigami 2.14 as Kirigami
+import QtQuick
+import QtQuick.Layouts
+import org.kde.plasma.plasmoid
+import org.kde.plasma.core as PlasmaCore
+import org.kde.kirigami as Kirigami
import "./lib/helper.js" as Helper
@@ -16,8 +16,6 @@ Item {
color: "transparent"
border.color: PlasmaCore.Theme.textColor
radius: 4
- Plasmoid.toolTipMainText: "battery level: " + Helper.batteryLevel(batteryPercent)
- Plasmoid.toolTipSubText: "polling rate: " + pollingrate + " seconds"
Item {
anchors.fill: parent
diff --git a/package/contents/ui/FullRepresentation.qml b/package/contents/ui/FullRepresentation.qml
index eff2ae3..c9f1ce8 100644
--- a/package/contents/ui/FullRepresentation.qml
+++ b/package/contents/ui/FullRepresentation.qml
@@ -1,8 +1,8 @@
-import QtQuick 2.15
-import QtQuick.Layouts 1.3
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kirigami 2.14 as Kirigami
+import QtQuick
+import QtQuick.Layouts
+import org.kde.plasma.plasmoid
+import org.kde.plasma.core as PlasmaCore
+import org.kde.kirigami as Kirigami
import "./lib/helper.js" as Helper
diff --git a/package/contents/ui/config/blah.qml b/package/contents/ui/config/blah.qml
new file mode 100644
index 0000000..5cf202e
--- /dev/null
+++ b/package/contents/ui/config/blah.qml
@@ -0,0 +1,212 @@
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import org.kde.plasma.core as PlasmaCore
+import org.kde.plasma.components as PlasmaComponents
+import org.kde.kirigami as Kirigami
+import org.kde.kquickcontrols as KQControls
+import org.kde.kcmutils as KCM
+
+import "../lib/helper.js" as Helper
+
+KCM.SimpleKCM {
+ id: root
+
+ /*property alias cfg_pollingrate: pollingrate.value
+ property alias cfg_batteryheight: batteryheight.value
+ property alias cfg_colorEmpty: colorEmpty.color
+ property alias cfg_colorHalf: colorHalf.color
+ property alias cfg_colorFull: colorFull.color
+
+ property alias cfg_notifications: notifications.checked
+ property alias cfg_batteryThreshold: batteryThreshold.value*/
+
+ Kirigami.FormLayout {
+ Slider {
+ from: 2
+ to: 60
+ stepSize: 2
+ KCM.SettingStateBinding {
+ configObject: KCM.plasmaSettings
+ settingName: "pollingrate"
+ }
+ }
+ }
+
+ /*Kirigami.FormLayout {
+ anchors.fill: parent
+ wideMode: false
+
+ GridLayout {
+ columns: 3
+ rows: 2
+ rowSpacing: 10
+
+ // first row
+ Text {
+ text: "polling rate:"
+ color: PlasmaCore.Theme.textColor
+ }
+ Slider {
+ id: pollingrate
+ value: 10
+ from: 2
+ to: 60
+ stepSize: 2
+ }
+ Text {
+ text: cfg_pollingrate + " seconds"
+ color: PlasmaCore.Theme.textColor
+ }
+
+ // second row
+ Text {
+ text: "battery height:"
+ color: PlasmaCore.Theme.textColor
+ }
+ Slider {
+ id: batteryheight
+ value: 8.0
+ from: 1
+ to: 10
+ stepSize: 1
+ }
+ Text {
+ text: cfg_batteryheight
+ color: PlasmaCore.Theme.textColor
+ }
+ }
+
+ // color config
+ GridLayout {
+ columns: 3
+ rows: 3
+ rowSpacing: 1
+
+ // first row
+ Text {
+ text: "empty:"
+ color: PlasmaCore.Theme.textColor
+ }
+ KQControls.ColorButton {
+ id: colorEmpty
+ color: cfg_colorEmpty
+ }
+ Text {
+ text: cfg_colorEmpty
+ color: PlasmaCore.Theme.textColor
+ }
+
+ // secod row
+ Text {
+ text: "half:"
+ color: PlasmaCore.Theme.textColor
+ }
+ KQControls.ColorButton {
+ id: colorHalf
+ color: cfg_colorHalf
+ }
+ Text {
+ text: cfg_colorHalf
+ color: PlasmaCore.Theme.textColor
+ }
+
+ // third row
+ Text {
+ text: "full:"
+ color: PlasmaCore.Theme.textColor
+ }
+ KQControls.ColorButton {
+ id: colorFull
+ color: cfg_colorFull
+ }
+ Text {
+ text: cfg_colorFull
+ color: PlasmaCore.Theme.textColor
+ }
+ }
+
+ // color gradient example
+ GridLayout {
+ columns: 10
+ rows: 1
+ rowSpacing: 0
+
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.1, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.2, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.3, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.4, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.5, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.6, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.7, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.8, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor(.9, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ Text {
+ text: "█"
+ color: Helper.interpolateColor( 1, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
+ }
+ }
+
+ GridLayout {
+ columns: 3
+ rows: 2
+ rowSpacing: 10
+
+ // first row
+ Text {
+ text: "notifications:"
+ color: PlasmaCore.Theme.textColor
+ }
+ PlasmaComponents.CheckBox {
+ id: notifications
+ }
+ Text {
+ text: ""
+ }
+
+ // second row
+ Text {
+ text: "battery threshold:"
+ color: PlasmaCore.Theme.textColor
+ }
+ Slider {
+ id: batteryThreshold
+ value: 10
+ from: 1
+ to: 50
+ stepSize: 1
+ }
+ Text {
+ text: cfg_batteryThreshold
+ color: PlasmaCore.Theme.textColor
+ }
+ }
+ }*/
+}
diff --git a/package/contents/ui/config/debug.qml b/package/contents/ui/config/debug.qml
index 0ac6430..aa9fcfd 100644
--- a/package/contents/ui/config/debug.qml
+++ b/package/contents/ui/config/debug.qml
@@ -1,14 +1,15 @@
import QtQuick 2.0
-import QtQuick.Layouts 1.3
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import QtQuick.Controls 2.5 as QQC2
-import org.kde.kirigami 2.4 as Kirigami
-import org.kde.kquickcontrols 2.0 as KQControls
+import QtQuick.Controls 2.5
+import QtQuick.Layouts 1.15
+import org.kde.plasma.core as PlasmaCore
+import org.kde.plasma.components as PlasmaComponents
+import org.kde.kirigami as Kirigami
+import org.kde.kquickcontrols as KQControls
+import org.kde.kcmutils as KCM
import "../lib/helper.js" as Helper
-QQC2.Pane {
+KCM.SimpleKCM {
id: root
property alias cfg_debug_active: debug_active.checked
@@ -40,11 +41,11 @@ QQC2.Pane {
text: "battery charge:"
color: PlasmaCore.Theme.textColor
}
- PlasmaComponents.Slider {
+ Slider {
id: debug_charge
value: 0
- minimumValue: -2
- maximumValue: 100
+ from: -2
+ to: 100
stepSize: 1
}
Text {
diff --git a/package/contents/ui/config/general.qml b/package/contents/ui/config/general.qml
index 29e7718..21d9dc9 100644
--- a/package/contents/ui/config/general.qml
+++ b/package/contents/ui/config/general.qml
@@ -1,199 +1,27 @@
-import QtQuick 2.0
-import QtQuick.Layouts 1.3
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import QtQuick.Controls 2.5 as QQC2
-import org.kde.kirigami 2.4 as Kirigami
-import org.kde.kquickcontrols 2.0 as KQControls
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import org.kde.plasma.core as PlasmaCore
+import org.kde.kirigami as Kirigami
+import org.kde.kquickcontrols as KQControls
+import org.kde.kcmutils as KCM
+import org.kde.plasma.components as PlasmaComponents3
import "../lib/helper.js" as Helper
-QQC2.Pane {
+KCM.SimpleKCM {
id: root
property alias cfg_pollingrate: pollingrate.value
- property alias cfg_batteryheight: batteryheight.value
- property alias cfg_colorEmpty: colorEmpty.color
- property alias cfg_colorHalf: colorHalf.color
- property alias cfg_colorFull: colorFull.color
-
- property alias cfg_notifications: notifications.checked
- property alias cfg_batteryThreshold: batteryThreshold.value
+ property alias cfg_pollingrateDefault: pollingrate.value
Kirigami.FormLayout {
- anchors.fill: parent
- wideMode: false
-
- GridLayout {
- columns: 3
- rows: 2
- rowSpacing: 10
-
- // first row
- Text {
- text: "polling rate:"
- color: PlasmaCore.Theme.textColor
- }
- PlasmaComponents.Slider {
- id: pollingrate
- value: 10
- minimumValue: 2
- maximumValue: 60
- stepSize: 2
- }
- Text {
- text: cfg_pollingrate + " seconds"
- color: PlasmaCore.Theme.textColor
- }
-
- // second row
- Text {
- text: "battery height:"
- color: PlasmaCore.Theme.textColor
- }
- PlasmaComponents.Slider {
- id: batteryheight
- value: 8.0
- minimumValue: 1
- maximumValue: 10
- stepSize: 1
- }
- Text {
- text: cfg_batteryheight
- color: PlasmaCore.Theme.textColor
- }
- }
-
- // color config
- GridLayout {
- columns: 3
- rows: 3
- rowSpacing: 1
-
- // first row
- Text {
- text: "empty:"
- color: PlasmaCore.Theme.textColor
- }
- KQControls.ColorButton {
- id: colorEmpty
- color: cfg_colorEmpty
- }
- Text {
- text: cfg_colorEmpty
- color: PlasmaCore.Theme.textColor
- }
-
- // secod row
- Text {
- text: "half:"
- color: PlasmaCore.Theme.textColor
- }
- KQControls.ColorButton {
- id: colorHalf
- color: cfg_colorHalf
- }
- Text {
- text: cfg_colorHalf
- color: PlasmaCore.Theme.textColor
- }
-
- // third row
- Text {
- text: "full:"
- color: PlasmaCore.Theme.textColor
- }
- KQControls.ColorButton {
- id: colorFull
- color: cfg_colorFull
- }
- Text {
- text: cfg_colorFull
- color: PlasmaCore.Theme.textColor
- }
- }
-
- // color gradient example
- GridLayout {
- columns: 10
- rows: 1
- rowSpacing: 0
-
- Text {
- text: "█"
- color: Helper.interpolateColor(.1, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.2, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.3, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.4, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.5, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.6, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.7, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.8, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor(.9, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- Text {
- text: "█"
- color: Helper.interpolateColor( 1, [ cfg_colorEmpty.toString(), cfg_colorHalf.toString(), cfg_colorFull.toString() ])
- }
- }
-
- GridLayout {
- columns: 3
- rows: 2
- rowSpacing: 10
-
- // first row
- Text {
- text: "notifications:"
- color: PlasmaCore.Theme.textColor
- }
- PlasmaComponents.CheckBox {
- id: notifications
- }
- Text {
- text: ""
- }
-
- // second row
- Text {
- text: "battery threshold:"
- color: PlasmaCore.Theme.textColor
- }
- PlasmaComponents.Slider {
- id: batteryThreshold
- value: 10
- minimumValue: 1
- maximumValue: 50
- stepSize: 1
- }
- Text {
- text: cfg_batteryThreshold
- color: PlasmaCore.Theme.textColor
- }
+ Slider {
+ id: pollingrate
+ Layout.fillWidth: true
+ from: 2
+ to: 60
+ stepSize: 2
}
}
}
diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml
index 6f726d7..94433a3 100644
--- a/package/contents/ui/main.qml
+++ b/package/contents/ui/main.qml
@@ -1,14 +1,14 @@
-import QtQuick 2.15
-import QtQuick.Layouts 1.3
-import org.kde.plasma.plasmoid 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kirigami 2.14 as Kirigami
+import QtQuick
+import QtQuick.Layouts
+import org.kde.plasma.plasmoid
+import org.kde.kirigami as Kirigami
+import org.kde.plasma.plasma5support as Plasma5Support
-import org.kde.notification 1.0
+import org.kde.notification
import "./lib/helper.js" as Helper
-Item {
+PlasmoidItem {
id: main
property int pollingrate: Plasmoid.configuration.pollingrate
@@ -26,7 +26,7 @@ Item {
property int batteryPercent: -2
property bool notification_sent: false;
- PlasmaCore.DataSource {
+ Plasma5Support.DataSource {
id: hsSource
engine: "executable"
connectedSources: ["headsetcontrol -bc"]
@@ -56,9 +56,12 @@ Item {
}
}
- Plasmoid.preferredRepresentation: Plasmoid.compactRepresentation
- Plasmoid.fullRepresentation: FullRepresentation{}
- Plasmoid.compactRepresentation: CompactRepresentation{}
+ toolTipMainText: "battery level: " + Helper.batteryLevel(batteryPercent)
+ toolTipSubText: "polling rate: " + pollingrate + " seconds"
+
+ preferredRepresentation: compactRepresentation
+ fullRepresentation: FullRepresentation{}
+ compactRepresentation: CompactRepresentation{}
Notification {
id: notification
diff --git a/package/metadata.json b/package/metadata.json
index 2ddf4ba..347152b 100644
--- a/package/metadata.json
+++ b/package/metadata.json
@@ -1,24 +1,25 @@
{
+ "KPackageStructure": "Plasma/Applet",
"KPlugin": {
+ "Name": "Headset Battery Widget",
+ "Description": "Headset Battery Widget",
+ "Icon": "battery",
+ "Category": "System Information",
"Authors": [{
"Email": "flummi@srv.fail",
"Name": "Flummi"
}],
- "Category": "System Information",
- "Dependencies": [
- ],
- "EnabledByDefault": true,
- "Icon": "battery",
"Id": "org.kde.plasma.headsetcontrol-battery-widget",
- "Name": "Headset Battery Widget",
+ "License": "",
+ "Version": "1.6",
+ "EnabledByDefault": true,
+ "Website": "https://git.lat/Flummi/headsetcontrol-battery-widget",
+ "BugReportUrl": "https://git.lat/Flummi/headsetcontrol-battery-widget/issues",
"ServiceTypes": [
"Plasma/Applet"
- ],
- "Version": "1.5",
- "Website": "https://git.lat/Flummi/headsetcontrol-battery-widget"
+ ]
},
"X-Plasma-NotificationArea": true,
"X-Plasma-NotificationAreaCategory": "Hardware",
- "X-Plasma-API": "declarativeappletscript",
- "X-Plasma-MainScript": "ui/main.qml"
+ "X-Plasma-API-Minimum-Version": "6.0"
}