From 6d1a9ed153f72a9189c1cfa954fe9b220bad7e05 Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Mon, 13 Sep 2021 18:26:05 +0200 Subject: [PATCH] phonepanel: Keep the Quick Settings buttons the same size Instead of doing weird UI puzzles, just let them elide their text. This solves binding loops and makes the look overall more predictable. (cherry picked from commit c4903c25b9e81d94ed7d68f29db6cf9422cd3e5d) --- .../contents/ui/quicksettings/QuickSettingsPanel.qml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/containments/panel/package/contents/ui/quicksettings/QuickSettingsPanel.qml b/containments/panel/package/contents/ui/quicksettings/QuickSettingsPanel.qml index c1835654..a3fba5f9 100644 --- a/containments/panel/package/contents/ui/quicksettings/QuickSettingsPanel.qml +++ b/containments/panel/package/contents/ui/quicksettings/QuickSettingsPanel.qml @@ -94,9 +94,6 @@ Item { spacing: 0 height: Layout.minimumHeight * (1 - root.expandedRatio) + (Layout.maximumHeight * root.expandedRatio) - readonly property real cellSizeHint: PlasmaCore.Units.iconSizes.large + PlasmaCore.Units.smallSpacing * 6 - readonly property real columnWidth: Math.floor(width / Math.floor(width / cellSizeHint)) - // top indicators (clock, widgets, etc.) IndicatorsRow { id: indicatorsRow @@ -127,7 +124,7 @@ Item { readonly property real cellSizeHint: PlasmaCore.Units.iconSizes.large + PlasmaCore.Units.smallSpacing * 6 readonly property real columns: Math.floor(width / cellSizeHint) - readonly property real columnWidth: Math.floor(width / columns) + readonly property real columnWidth: (flow.width / (flow.columns + 1)) * (root.expandedRatio > 0.4 ? 1 : (1 - root.expandedRatio) + (flow.width / flow.columns) * root.expandedRatio) spacing: 0 @@ -136,10 +133,8 @@ Item { delegate: Delegate { id: delegateItem required property var modelData - width: root.expandedRatio < 0.4 - ? Math.max(implicitWidth + PlasmaCore.Units.smallSpacing * 2, flow.width / (flow.columns + 1)) - : Math.max(implicitWidth + PlasmaCore.Units.smallSpacing * 2, - (flow.width / (flow.columns + 1)) * (1 - root.expandedRatio) + (flow.width / flow.columns) * root.expandedRatio) + width: flow.columnWidth + labelOpacity: y > 0 ? 1 : root.expandedRatio opacity: y <= 0 ? 1 : root.expandedRatio