diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-16 12:36:20 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-16 12:36:20 +0200 |
| commit | a33d90b5f662df235da027ec1978b6490894d796 (patch) | |
| tree | 7aaf6913afc35160fb6831c615024b1787277c28 /appearance/Toggle.qml | |
| parent | 85a8d57b69cccba0b546e1f436fa4d419db94b8a (diff) | |
| download | quickshell-a33d90b5f662df235da027ec1978b6490894d796.tar.gz quickshell-a33d90b5f662df235da027ec1978b6490894d796.zip | |
feat(appearance): add the Sunset tab
Tab bar and Tab-key cycle become five entries, the Loader picks inline or
file tabs, and show() refreshes the model. The tab edits the profiles
in place, fetches sun times and previews through the daemon.
Diffstat (limited to 'appearance/Toggle.qml')
| -rw-r--r-- | appearance/Toggle.qml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/appearance/Toggle.qml b/appearance/Toggle.qml new file mode 100644 index 0000000..2bb56a2 --- /dev/null +++ b/appearance/Toggle.qml @@ -0,0 +1,56 @@ +// Copyright (C) 2026 Danilo M. <danix@danix.xyz> +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +import QtQuick + +Rectangle { + id: toggle + property bool checked: false + property string label: "" + signal toggled + + implicitWidth: row.implicitWidth + implicitHeight: 22 + color: "transparent" + + Row { + id: row + anchors.verticalCenter: parent.verticalCenter + spacing: 6 + Rectangle { + anchors.verticalCenter: parent.verticalCenter + width: 16; height: 16; radius: 4 + color: toggle.checked ? Qt.alpha(Theme.accent, 0.7) : Qt.alpha(Theme.surface, 0.5) + border.width: 1 + border.color: toggle.checked ? Qt.alpha(Theme.accent, 0.9) : Qt.alpha(Theme.text, 0.2) + Text { + anchors.centerIn: parent + visible: toggle.checked + text: "✓" + font { family: Theme.iconFamily; pixelSize: Theme.fontSize - 6; bold: true } + color: Theme.base + } + } + Text { + anchors.verticalCenter: parent.verticalCenter + visible: toggle.label !== "" + text: toggle.label + font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 } + color: Theme.subtext + } + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: { toggle.checked = !toggle.checked; toggle.toggled(); } + } +} |
