diff --git a/components/StyledSwitch.qml b/components/StyledSwitch.qml index 70f7646..6e5b726 100644 --- a/components/StyledSwitch.qml +++ b/components/StyledSwitch.qml @@ -5,51 +5,39 @@ import QtQuick.Controls Switch { id: control - contentItem: Text { - id: text - rightPadding: control.indicator.width + control.spacing - text: control.text - font: control.font - opacity: enabled ? 1.0 : 0.3 - color: Theme.palette.basecontent - elide: Text.ElideRight - verticalAlignment: Text.AlignVCenter - } - HoverHandler { cursorShape: Qt.PointingHandCursor } - indicator: Rectangle { - id: indicator - - property int padding: 8 - + indicator: Item { implicitWidth: 48 - implicitHeight: 24 - x: control.width - width - control.rightPadding - y: parent.height / 2 - height / 2 - radius: 16 - color: "transparent" - border.color: control.checked ? Theme.palette.primary : Theme.palette.basecontent - border.width: 2 + implicitHeight: 22 + Rectangle { + implicitWidth: parent.width + implicitHeight: parent.height - 4 + x: control.leftPadding + y: parent.height / 2 - height / 2 + radius: 6 + color: control.checked ? Theme.palette.primary : Theme.palette.base100 + Behavior on color { + ColorAnimation { + duration: 150 + } + } + } Rectangle { - anchors.margins: 4 - x: control.checked ? parent.width - width - indicator.padding / 2 : indicator.padding / 2 + x: control.checked ? parent.width - 3 * width / 4 : width / 4 y: parent.height / 2 - height / 2 Behavior on x { NumberAnimation { - duration: 100 + duration: 150 } } - width: parent.width / 2 - indicator.padding - height: parent.height - indicator.padding - radius: 16 - color: control.checked ? Theme.palette.primary : Theme.palette.basecontent - // border.color: control.checked ? (control.down ? "#17a81a" : "#21be2b") : "#999999" + width: 22 + height: 22 + radius: 6 + color: Theme.palette.basecontent } } - - background: undefined } diff --git a/modules/bar/components/bluetooth/BluetoothMenu.qml b/modules/bar/components/bluetooth/BluetoothMenu.qml index 14e9759..72481f8 100644 --- a/modules/bar/components/bluetooth/BluetoothMenu.qml +++ b/modules/bar/components/bluetooth/BluetoothMenu.qml @@ -4,6 +4,7 @@ import qs.components import qs.config import qs.widgets import QtQuick +import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Bluetooth @@ -21,19 +22,29 @@ StyledPopupWindow { margin: 16 Layout.fillWidth: true RowLayout { - StyledSwitch { - text: "Enabled" - checkable: !!Bluetooth.defaultAdapter - checked: Bluetooth.defaultAdapter?.enabled ?? false - onClicked: Bluetooth.defaultAdapter.enabled = checked + RowLayout { + StyledText { + text: "Enabled" + } + + Switch { + checkable: !!Bluetooth.defaultAdapter + checked: Bluetooth.defaultAdapter?.enabled ?? false + onClicked: Bluetooth.defaultAdapter.enabled = checked + } } - StyledSwitch { + RowLayout { Layout.alignment: Qt.AlignRight - text: "Scan" - checkable: !!Bluetooth.defaultAdapter - checked: Bluetooth.defaultAdapter?.discovering ?? false - onClicked: Bluetooth.defaultAdapter.discovering = checked + StyledText { + text: "Scan" + } + + Switch { + checkable: !!Bluetooth.defaultAdapter + checked: Bluetooth.defaultAdapter?.discovering ?? false + onClicked: Bluetooth.defaultAdapter.discovering = checked + } } } } diff --git a/modules/bar/components/notifications/NotificationMenu.qml b/modules/bar/components/notifications/NotificationMenu.qml index 3781e6b..35f9c19 100644 --- a/modules/bar/components/notifications/NotificationMenu.qml +++ b/modules/bar/components/notifications/NotificationMenu.qml @@ -5,6 +5,7 @@ import qs.config import qs.services import qs.widgets import QtQuick +import QtQuick.Controls import QtQuick.Layouts StyledPopupWindow { @@ -19,14 +20,17 @@ StyledPopupWindow { RowLayout { Layout.fillWidth: true - - StyledSwitch { + StyledText { text: "Enabled" + } + + Switch { checked: Notifications.enabled onClicked: Notifications.enabled = checked } StyledButton { + id: clearButton Layout.alignment: Qt.AlignRight text: "Clear" onClicked: Notifications.clear() diff --git a/modules/storybook/Storybook.qml b/modules/storybook/Storybook.qml index a1805e1..ad28b87 100644 --- a/modules/storybook/Storybook.qml +++ b/modules/storybook/Storybook.qml @@ -62,10 +62,7 @@ StyledWindow { text: "Switch" font.pixelSize: 18 } - - StyledSwitch { - text: "Enable" - } + StyledSwitch {} } ColumnLayout {