sidebar: quick toggles: smoother size change

This commit is contained in:
end-4
2025-10-20 22:56:33 +02:00
parent 54fe878580
commit d5b1e9f40c
3 changed files with 29 additions and 7 deletions
@@ -73,14 +73,14 @@ AbstractQuickPanel {
Repeater {
id: usedRowsRepeater
model: ScriptModel {
values: root.toggleRows
values: Array(root.toggleRows.length)
}
delegate: ButtonGroup {
id: toggleRow
required property var modelData
required property int index
property var modelData: root.toggleRows[index]
property int startingIndex: {
const rows = usedRowsRepeater.model.values;
const rows = root.toggleRows;
let sum = 0;
for (let i = 0; i < index; i++) {
sum += rows[i].length;
@@ -91,7 +91,8 @@ AbstractQuickPanel {
Repeater {
model: ScriptModel {
values: toggleRow.modelData
values: toggleRow?.modelData ?? []
objectProp: "type"
}
delegate: AndroidToggleDelegateChooser {
startingIndex: toggleRow.startingIndex
@@ -131,16 +132,18 @@ AbstractQuickPanel {
Repeater {
model: ScriptModel {
values: root.unusedToggleRows
values: Array(root.unusedToggleRows.length)
}
delegate: ButtonGroup {
id: unusedToggleRow
required property var modelData
required property int index
property var modelData: root.unusedToggleRows[index]
spacing: root.spacing
Repeater {
model: ScriptModel {
values: unusedToggleRow.modelData
values: unusedToggleRow?.modelData ?? []
objectProp: "type"
}
delegate: AndroidToggleDelegateChooser {
startingIndex: -1
@@ -23,6 +23,21 @@ GroupButton {
baseHeight: root.baseCellHeight
property bool editMode: false
enableImplicitWidthAnimation: !editMode
enableImplicitHeightAnimation: !editMode
Behavior on baseWidth {
animation: Appearance.animation.elementMove.numberAnimation.createObject(this)
}
Behavior on baseHeight {
animation: Appearance.animation.elementMove.numberAnimation.createObject(this)
}
opacity: 0
Component.onCompleted: {
opacity = 1
}
Behavior on opacity {
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
}
signal openMenu()