diff --git a/dots/.config/quickshell/ii/modules/common/widgets/GroupButton.qml b/dots/.config/quickshell/ii/modules/common/widgets/GroupButton.qml index bc02e77e1..6ebe3341f 100644 --- a/dots/.config/quickshell/ii/modules/common/widgets/GroupButton.qml +++ b/dots/.config/quickshell/ii/modules/common/widgets/GroupButton.qml @@ -22,6 +22,8 @@ Button { property bool bounce: true property real baseWidth: contentItem.implicitWidth + horizontalPadding * 2 property real baseHeight: contentItem.implicitHeight + verticalPadding * 2 + property bool enableImplicitWidthAnimation: true + property bool enableImplicitHeightAnimation: true property real clickedWidth: baseWidth + (isAtSide ? 10 : 20) property real clickedHeight: baseHeight property var parentGroup: root.parent @@ -61,10 +63,12 @@ Button { } Behavior on implicitWidth { + enabled: root.enableImplicitWidthAnimation animation: Appearance.animation.clickBounce.numberAnimation.createObject(this) } Behavior on implicitHeight { + enabled: root.enableImplicitHeightAnimation animation: Appearance.animation.clickBounce.numberAnimation.createObject(this) } diff --git a/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/AndroidQuickPanel.qml b/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/AndroidQuickPanel.qml index 5aa95ad35..eb7793fba 100644 --- a/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/AndroidQuickPanel.qml +++ b/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/AndroidQuickPanel.qml @@ -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 diff --git a/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/androidStyle/AndroidQuickToggleButton.qml b/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/androidStyle/AndroidQuickToggleButton.qml index ee9d58f45..e7f6929e1 100644 --- a/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/androidStyle/AndroidQuickToggleButton.qml +++ b/dots/.config/quickshell/ii/modules/sidebarRight/quickToggles/androidStyle/AndroidQuickToggleButton.qml @@ -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()