diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2026-03-23 13:06:10 +0100 |
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2026-03-23 13:06:10 +0100 |
| commit | 25d3f382b1218b9112b2c4c7219abf2e6ced3c74 (patch) | |
| tree | dccbfdd2b9f21f691276c909d0ccad4ef2a07c1b /.config/noctalia/plugins/timer/Settings.qml | |
| parent | 7d6bc7e062af943c70332404c925a9e24fdc6127 (diff) | |
noctalia: Add the Noctalia config
Diffstat (limited to '.config/noctalia/plugins/timer/Settings.qml')
| -rw-r--r-- | .config/noctalia/plugins/timer/Settings.qml | 65 |
1 files changed, 65 insertions, 0 deletions
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 + } +} |