diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Widgets/PluginGlobalVar.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/dms/Widgets/PluginGlobalVar.qml | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Widgets/PluginGlobalVar.qml b/raveos-hyprland-theme/theme-data/dms/Widgets/PluginGlobalVar.qml new file mode 100644 index 0000000..6a95a97 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/dms/Widgets/PluginGlobalVar.qml @@ -0,0 +1,30 @@ +import QtQuick +import qs.Services + +Item { + id: root + + required property string varName + property var defaultValue: undefined + + readonly property var value: { + const pid = parent?.pluginId ?? "" + if (!pid || !PluginService.globalVars[pid]) { + return defaultValue + } + return PluginService.globalVars[pid][varName] ?? defaultValue + } + + function set(newValue) { + const pid = parent?.pluginId ?? "" + if (pid) { + PluginService.setGlobalVar(pid, varName, newValue) + } else { + console.warn("PluginGlobalVar: Cannot set", varName, "- no pluginId from parent") + } + } + + visible: false + width: 0 + height: 0 +} |