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

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