dock: coordinated resize animation via centralized reservedWidthAnimated

This commit is contained in:
Damocles 2026-04-28 00:00:56 +02:00
parent 23297d2c4b
commit 41293c02a9
4 changed files with 17 additions and 12 deletions

View file

@ -17,15 +17,7 @@ PanelWindow {
right: true
}
margins.right: S.DockState.reservedWidth
Behavior on margins.right {
enabled: !S.Theme.reducedMotion
NumberAnimation {
duration: 200
easing.type: Easing.OutCubic
}
}
margins.right: S.DockState.reservedWidthAnimated
implicitHeight: S.Theme.barHeight
exclusiveZone: implicitHeight

View file

@ -15,7 +15,7 @@ Item {
if (!scr)
return 0.5;
const gx = mapToGlobal(width / 2, 0).x - scr.x;
const effectiveWidth = scr.width - (S.DockState.reservedWidth ?? 0);
const effectiveWidth = scr.width - (S.DockState.reservedWidthAnimated ?? 0);
return Math.max(0, Math.min(1, gx / (effectiveWidth > 0 ? effectiveWidth : scr.width)));
}
property color borderColor: Qt.rgba(S.Theme.base0C.r + (S.Theme.base09.r - S.Theme.base0C.r) * _posFrac, S.Theme.base0C.g + (S.Theme.base09.g - S.Theme.base0C.g) * _posFrac, S.Theme.base0C.b + (S.Theme.base09.b - S.Theme.base0C.b) * _posFrac, 1)

View file

@ -80,7 +80,7 @@ Item {
corner: 1
anchors.top: true
anchors.right: true
margins.right: S.DockState.reservedWidth
margins.right: S.DockState.reservedWidthAnimated
}
Corner {
corner: 2
@ -91,6 +91,6 @@ Item {
corner: 3
anchors.bottom: true
anchors.right: true
margins.right: S.DockState.reservedWidth
margins.right: S.DockState.reservedWidthAnimated
}
}