From 25d3f382b1218b9112b2c4c7219abf2e6ced3c74 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Mon, 23 Mar 2026 13:06:10 +0100 Subject: noctalia: Add the Noctalia config --- .config/noctalia/plugins/timer/Settings.qml | 65 +++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .config/noctalia/plugins/timer/Settings.qml (limited to '.config/noctalia/plugins/timer/Settings.qml') diff --git a/.config/noctalia/plugins/timer/Settings.qml b/.config/noctalia/plugins/timer/Settings.qml new file mode 100644 index 0000000..fc963d8 --- /dev/null +++ b/.config/noctalia/plugins/timer/Settings.qml @@ -0,0 +1,65 @@ +import QtQuick +import QtQuick.Layouts +import Quickshell +import qs.Commons +import qs.Widgets +import qs.Services.UI + +ColumnLayout { + id: root + spacing: Style.marginL + + property var pluginApi: null + + property bool editCompactMode: + pluginApi?.pluginSettings?.compactMode ?? + pluginApi?.manifest?.metadata?.defaultSettings?.compactMode ?? + false + + property string editIconColor: + pluginApi?.pluginSettings?.iconColor ?? + pluginApi?.manifest?.metadata?.defaultSettings?.iconColor ?? + "none" + + property string editTextColor: + pluginApi?.pluginSettings?.textColor ?? + pluginApi?.manifest?.metadata?.defaultSettings?.textColor ?? + "none" + + function saveSettings() { + if (!pluginApi) { + Logger.e("Timer", "Cannot save: pluginApi is null") + return + } + + pluginApi.pluginSettings.compactMode = root.editCompactMode + pluginApi.pluginSettings.iconColor = root.editIconColor + pluginApi.pluginSettings.textColor = root.editTextColor + + pluginApi.saveSettings() + Logger.i("Timer", "Settings saved successfully") + } + + // Icon Color + NColorChoice { + label: I18n.tr("common.select-icon-color") + description: I18n.tr("common.select-color-description") + currentKey: root.editIconColor + onSelected: key => root.editIconColor = key + } + + // Text Color + NColorChoice { + currentKey: root.editTextColor + onSelected: key => root.editTextColor = key + } + + // Compact Mode + NToggle { + label: pluginApi?.tr("settings.compact-mode") || "Compact Mode" + description: pluginApi?.tr("settings.compact-mode-desc") || "Hide the circular progress bar for a cleaner look" + checked: root.editCompactMode + onToggled: checked => root.editCompactMode = checked + defaultValue: pluginApi?.manifest?.metadata?.defaultSettings?.compactMode ?? false + } +} -- cgit v1.2.3