summaryrefslogtreecommitdiff
path: root/.config/noctalia/plugins/timer/Settings.qml
diff options
context:
space:
mode:
Diffstat (limited to '.config/noctalia/plugins/timer/Settings.qml')
-rw-r--r--.config/noctalia/plugins/timer/Settings.qml65
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
+ }
+}