summaryrefslogtreecommitdiff
path: root/.config/noctalia/plugins/timer/ControlCenterWidget.qml
diff options
context:
space:
mode:
Diffstat (limited to '.config/noctalia/plugins/timer/ControlCenterWidget.qml')
-rw-r--r--.config/noctalia/plugins/timer/ControlCenterWidget.qml45
1 files changed, 45 insertions, 0 deletions
diff --git a/.config/noctalia/plugins/timer/ControlCenterWidget.qml b/.config/noctalia/plugins/timer/ControlCenterWidget.qml
new file mode 100644
index 0000000..528ee04
--- /dev/null
+++ b/.config/noctalia/plugins/timer/ControlCenterWidget.qml
@@ -0,0 +1,45 @@
+import QtQuick
+import Quickshell
+import qs.Widgets
+import qs.Commons
+
+NIconButton {
+ property ShellScreen screen
+ property var pluginApi: null
+ readonly property var mainInstance: pluginApi?.mainInstance
+
+ icon: {
+ if (mainInstance && mainInstance.timerSoundPlaying) return "bell-ringing"
+ if (mainInstance && mainInstance.timerStopwatchMode) return "stopwatch"
+ return "hourglass"
+ }
+
+ tooltipText: {
+ if (!mainInstance) return "Timer"
+ if (mainInstance.timerSoundPlaying) return "Timer Finished!"
+ if (mainInstance.timerStopwatchMode) {
+ return mainInstance.timerRunning ? "Stopwatch Running" : "Stopwatch"
+ }
+ return mainInstance.timerRunning ? "Timer Running" : "Timer"
+ }
+
+ colorFg: {
+ if (mainInstance && (mainInstance.cdRunning || mainInstance.swRunning || mainInstance.cdSoundPlaying)) {
+ return Color.mOnPrimary
+ }
+ return Color.mPrimary
+ }
+
+ colorBg: {
+ if (mainInstance && (mainInstance.cdRunning || mainInstance.swRunning || mainInstance.cdSoundPlaying)) {
+ return Color.mPrimary
+ }
+ return Style.capsuleColor
+ }
+
+ onClicked: {
+ if (pluginApi) {
+ pluginApi.togglePanel(screen);
+ }
+ }
+}