diff --git a/modules/nexus/common/ConnectedRect.qml b/modules/nexus/common/ConnectedRect.qml new file mode 100644 index 00000000..df5b21ae --- /dev/null +++ b/modules/nexus/common/ConnectedRect.qml @@ -0,0 +1,15 @@ +import QtQuick +import Caelestia.Config +import qs.components +import qs.services + +StyledRect { + property bool first + property bool last + + color: Colours.tPalette.m3surfaceContainer + topLeftRadius: first ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall + topRightRadius: first ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall + bottomLeftRadius: last ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall + bottomRightRadius: last ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall +} diff --git a/modules/nexus/common/ToggleRow.qml b/modules/nexus/common/ToggleRow.qml index caea05b1..1afdcdac 100644 --- a/modules/nexus/common/ToggleRow.qml +++ b/modules/nexus/common/ToggleRow.qml @@ -8,8 +8,8 @@ StyledSwitch { id: root property string subtext - property bool first - property bool last + property alias first: bg.first + property alias last: bg.last readonly property alias bg: bg horizontalPadding: Tokens.padding.largeIncreased @@ -26,24 +26,13 @@ StyledSwitch { onPressed: stateLayer.press(stateLayer.mouseX, stateLayer.mouseY) - background: StyledRect { + background: ConnectedRect { id: bg - color: Colours.tPalette.m3surfaceContainer - topLeftRadius: root.first ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall - topRightRadius: root.first ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall - bottomLeftRadius: root.last ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall - bottomRightRadius: root.last ? Tokens.rounding.extraLarge : Tokens.rounding.extraSmall - StateLayer { id: stateLayer manualPressOverride: root.pressed - - topLeftRadius: parent.topLeftRadius - topRightRadius: parent.topRightRadius - bottomLeftRadius: parent.bottomLeftRadius - bottomRightRadius: parent.bottomRightRadius } } diff --git a/modules/nexus/pages/BluetoothPage.qml b/modules/nexus/pages/BluetoothPage.qml index 7380132e..090f163b 100644 --- a/modules/nexus/pages/BluetoothPage.qml +++ b/modules/nexus/pages/BluetoothPage.qml @@ -172,13 +172,10 @@ PageBase { } } - StyledRect { + ConnectedRect { Layout.fillWidth: true - bottomLeftRadius: Tokens.rounding.extraLarge - bottomRightRadius: Tokens.rounding.extraLarge - radius: Tokens.rounding.extraSmall implicitHeight: pairLayout.implicitHeight + pairLayout.anchors.margins * 2 - color: Colours.tPalette.m3surfaceContainer + last: true StateLayer { disabled: !root.btEnabled diff --git a/modules/nexus/pages/NetworkPage.qml b/modules/nexus/pages/NetworkPage.qml index e26ce8bf..6b33bf39 100644 --- a/modules/nexus/pages/NetworkPage.qml +++ b/modules/nexus/pages/NetworkPage.qml @@ -201,14 +201,10 @@ PageBase { } } - StyledRect { + ConnectedRect { Layout.fillWidth: true - bottomLeftRadius: Tokens.rounding.extraLarge - bottomRightRadius: Tokens.rounding.extraLarge - radius: Tokens.rounding.extraSmall - implicitHeight: addNetworkLayout.implicitHeight + addNetworkLayout.anchors.margins * 2 - color: Colours.tPalette.m3surfaceContainer + last: true StateLayer {}