summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-05-09 13:33:09 +0200
committerNippy <nippy@rp1.hu>2026-05-09 13:33:09 +0200
commita2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch)
tree1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml
parent34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff)
downloadRaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz
RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml91
1 files changed, 0 insertions, 91 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml
deleted file mode 100644
index 0f8fac0..0000000
--- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/SelectionSetting.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-import QtQuick
-import qs.Common
-import qs.Widgets
-
-Column {
- id: root
-
- required property string settingKey
- required property string label
- property string description: ""
- required property var options
- property string defaultValue: ""
- property string value: defaultValue
-
- width: parent.width
- spacing: Theme.spacingS
-
- function loadValue() {
- const settings = findSettings()
- if (settings && settings.pluginService) {
- value = settings.loadValue(settingKey, defaultValue)
- }
- }
-
- Component.onCompleted: {
- loadValue()
- }
-
- readonly property var optionLabels: {
- const labels = []
- for (let i = 0; i < options.length; i++) {
- labels.push(options[i].label || options[i])
- }
- return labels
- }
-
- readonly property var valueToLabel: {
- const map = {}
- for (let i = 0; i < options.length; i++) {
- const opt = options[i]
- if (typeof opt === 'object') {
- map[opt.value] = opt.label
- } else {
- map[opt] = opt
- }
- }
- return map
- }
-
- readonly property var labelToValue: {
- const map = {}
- for (let i = 0; i < options.length; i++) {
- const opt = options[i]
- if (typeof opt === 'object') {
- map[opt.label] = opt.value
- } else {
- map[opt] = opt
- }
- }
- return map
- }
-
- onValueChanged: {
- const settings = findSettings()
- if (settings) {
- settings.saveValue(settingKey, value)
- }
- }
-
- function findSettings() {
- let item = parent
- while (item) {
- if (item.saveValue !== undefined && item.loadValue !== undefined) {
- return item
- }
- item = item.parent
- }
- return null
- }
-
- DankDropdown {
- width: parent.width
- text: root.label
- description: root.description
- currentValue: root.valueToLabel[root.value] || root.value
- options: root.optionLabels
- onValueChanged: newValue => {
- root.value = root.labelToValue[newValue] || newValue
- }
- }
-}