From c4903c25b9e81d94ed7d68f29db6cf9422cd3e5d 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. --- .../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