controlcenter: fix clipping

This commit is contained in:
2 * r + 2 * t 2025-08-08 21:57:46 +10:00
parent ce7e84aefc
commit 6b5a71bf74
3 changed files with 46 additions and 40 deletions

View file

@ -2,7 +2,6 @@ pragma ComponentBehavior: Bound
import "bluetooth" import "bluetooth"
import qs.components import qs.components
import qs.components.effects
import qs.services import qs.services
import qs.config import qs.config
import Quickshell.Widgets import Quickshell.Widgets
@ -64,10 +63,6 @@ ClippingRectangle {
} }
} }
InnerBorder {
leftThickness: 0
}
component Pane: Item { component Pane: Item {
id: pane id: pane

View file

@ -4,6 +4,7 @@ import ".."
import qs.components.effects import qs.components.effects
import qs.components.containers import qs.components.containers
import qs.config import qs.config
import Quickshell.Widgets
import Quickshell.Bluetooth import Quickshell.Bluetooth
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
@ -23,6 +24,7 @@ RowLayout {
Layout.fillHeight: true Layout.fillHeight: true
DeviceList { DeviceList {
anchors.fill: parent
anchors.margins: Appearance.padding.large + Appearance.padding.normal anchors.margins: Appearance.padding.large + Appearance.padding.normal
anchors.leftMargin: Appearance.padding.large anchors.leftMargin: Appearance.padding.large
anchors.rightMargin: Appearance.padding.large + Appearance.padding.normal / 2 anchors.rightMargin: Appearance.padding.large + Appearance.padding.normal / 2
@ -40,44 +42,52 @@ RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Loader { ClippingRectangle {
id: loader
property BluetoothDevice pane: root.session.bt.active
anchors.fill: parent anchors.fill: parent
anchors.margins: Appearance.padding.large * 2 + Appearance.padding.normal anchors.margins: Appearance.padding.normal
anchors.leftMargin: Appearance.padding.large * 2 anchors.leftMargin: 0
anchors.rightMargin: Appearance.padding.large * 2 + Appearance.padding.normal / 2 anchors.rightMargin: Appearance.padding.normal / 2
asynchronous: true radius: rightBorder.innerRadius
sourceComponent: pane ? details : settings color: "transparent"
Behavior on pane { Loader {
SequentialAnimation { id: loader
ParallelAnimation {
Anim { property BluetoothDevice pane: root.session.bt.active
property: "opacity"
to: 0 anchors.fill: parent
easing.bezierCurve: Appearance.anim.curves.standardAccel anchors.margins: Appearance.padding.large * 2
asynchronous: true
sourceComponent: pane ? details : settings
Behavior on pane {
SequentialAnimation {
ParallelAnimation {
Anim {
property: "opacity"
to: 0
easing.bezierCurve: Appearance.anim.curves.standardAccel
}
Anim {
property: "scale"
to: 0.8
easing.bezierCurve: Appearance.anim.curves.standardAccel
}
} }
Anim { PropertyAction {}
property: "scale" ParallelAnimation {
to: 0.8 Anim {
easing.bezierCurve: Appearance.anim.curves.standardAccel property: "opacity"
} to: 1
} easing.bezierCurve: Appearance.anim.curves.standardDecel
PropertyAction {} }
ParallelAnimation { Anim {
Anim { property: "scale"
property: "opacity" to: 1
to: 1 easing.bezierCurve: Appearance.anim.curves.standardDecel
easing.bezierCurve: Appearance.anim.curves.standardDecel }
}
Anim {
property: "scale"
to: 1
easing.bezierCurve: Appearance.anim.curves.standardDecel
} }
} }
} }
@ -85,6 +95,8 @@ RowLayout {
} }
InnerBorder { InnerBorder {
id: rightBorder
leftThickness: Appearance.padding.normal / 2 leftThickness: Appearance.padding.normal / 2
} }

View file

@ -20,7 +20,6 @@ ColumnLayout {
readonly property bool smallDiscoverable: width <= 540 readonly property bool smallDiscoverable: width <= 540
readonly property bool smallPairable: width <= 480 readonly property bool smallPairable: width <= 480
anchors.fill: parent
spacing: Appearance.spacing.small spacing: Appearance.spacing.small
RowLayout { RowLayout {