aboutsummaryrefslogtreecommitdiff
path: root/modules/system/quickshell/ControlTile.qml
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system/quickshell/ControlTile.qml')
-rw-r--r--modules/system/quickshell/ControlTile.qml50
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/system/quickshell/ControlTile.qml b/modules/system/quickshell/ControlTile.qml
new file mode 100644
index 0000000..2c8e0a6
--- /dev/null
+++ b/modules/system/quickshell/ControlTile.qml
@@ -0,0 +1,50 @@
+import QtQuick
+import QtQuick.Layouts
+import Quickshell
+
+Item {
+ id: root
+ property string icon: ""
+ property string label: ""
+ property bool active: false
+ property var clickHandler: null
+
+ Layout.fillWidth: true
+ Layout.preferredHeight: 64
+
+ Squircle {
+ anchors.fill: parent
+ cornerRadius: 16
+ fillColor: root.active ? Theme.accent : Theme.surface
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ onClicked: {
+ if (root.clickHandler) root.clickHandler()
+ }
+ }
+
+ RowLayout {
+ anchors.fill: parent
+ anchors.margins: 12
+ spacing: 12
+
+ IconCircle {
+ source: root.icon
+ active: root.active
+ }
+
+ Text {
+ text: root.label
+ color: root.active ? Theme.bg : Theme.text
+ font.family: Theme.mainFont
+ font.pixelSize: 11
+ font.weight: Font.Medium
+ elide: Text.ElideRight
+ Layout.maximumWidth: 80
+ visible: root.label !== ""
+ }
+ }
+ }
+} \ No newline at end of file