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 c4903c25b9)
This commit is contained in:
Aleix Pol 2021-09-13 18:26:05 +02:00 committed by Aleix Pol Gonzalez
parent 47a4f6d632
commit 6d1a9ed153

View file

@ -94,9 +94,6 @@ Item {
spacing: 0 spacing: 0
height: Layout.minimumHeight * (1 - root.expandedRatio) + (Layout.maximumHeight * root.expandedRatio) 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.) // top indicators (clock, widgets, etc.)
IndicatorsRow { IndicatorsRow {
id: indicatorsRow id: indicatorsRow
@ -127,7 +124,7 @@ Item {
readonly property real cellSizeHint: PlasmaCore.Units.iconSizes.large + PlasmaCore.Units.smallSpacing * 6 readonly property real cellSizeHint: PlasmaCore.Units.iconSizes.large + PlasmaCore.Units.smallSpacing * 6
readonly property real columns: Math.floor(width / cellSizeHint) 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 spacing: 0
@ -136,10 +133,8 @@ Item {
delegate: Delegate { delegate: Delegate {
id: delegateItem id: delegateItem
required property var modelData required property var modelData
width: root.expandedRatio < 0.4 width: flow.columnWidth
? 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)
labelOpacity: y > 0 ? 1 : root.expandedRatio labelOpacity: y > 0 ? 1 : root.expandedRatio
opacity: y <= 0 ? 1 : root.expandedRatio opacity: y <= 0 ? 1 : root.expandedRatio