[PATCH 1/2] QML Set width instead of minimumWidth equal to maximumWidth
Rick Walsh
rickmwalsh at gmail.com
Tue May 3 14:30:55 PDT 2016
The QML manual advises against setting width property of gridLayout children
directly, and recommends setting preferred, min and/or max width instead,
letting QML do the work to determine the optimum width. But we've found
letting QML determine gridLayout widths leads to infinite loops in too many
situations, so we're forcing a width. It's better to force a width by setting
it directly, rather than setting minimum = maximum.
Signed-off-by: Rick Walsh <rickmwalsh at gmail.com>
---
Please test - I've not tested on a mobile device
mobile-widgets/qml/DiveDetailsView.qml | 36 ++++++++++++----------------------
1 file changed, 12 insertions(+), 24 deletions(-)
diff --git a/mobile-widgets/qml/DiveDetailsView.qml b/mobile-widgets/qml/DiveDetailsView.qml
index 557286f..5e708d4 100644
--- a/mobile-widgets/qml/DiveDetailsView.qml
+++ b/mobile-widgets/qml/DiveDetailsView.qml
@@ -144,8 +144,7 @@ Item {
text: "Suit:"
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
opacity: 0.6
- Layout.maximumWidth: detailsView.col1Width
- Layout.minimumWidth: detailsView.col1Width
+ width: detailsView.col1Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
@@ -159,23 +158,20 @@ Item {
text: "Air Temp:"
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
opacity: 0.6
- Layout.maximumWidth: detailsView.col3Width
- Layout.minimumWidth: detailsView.col3Width
+ width: detailsView.col3Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
id: txtAirTemp
text: dive.airTemp
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
- Layout.maximumWidth: detailsView.col4Width
- Layout.minimumWidth: detailsView.col4Width
+ width: detailsView.col4Width
}
Kirigami.Label {
text: "Cylinder:"
opacity: 0.6
- Layout.maximumWidth: detailsView.col1Width
- Layout.minimumWidth: detailsView.col1Width
+ width: detailsView.col1Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
@@ -189,24 +185,21 @@ Item {
text: "Water Temp:"
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
opacity: 0.6
- Layout.maximumWidth: detailsView.col3Width
- Layout.minimumWidth: detailsView.col3Width
+ width: detailsView.col3Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
id: txtWaterTemp
text: dive.waterTemp
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
- Layout.maximumWidth: detailsView.col4Width
- Layout.minimumWidth: detailsView.col4Width
+ width: detailsView.col4Width
}
Kirigami.Label {
text: "Dive Master:"
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
opacity: 0.6
- Layout.maximumWidth: detailsView.col1Width
- Layout.minimumWidth: detailsView.col1Width
+ width: detailsView.col1Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
@@ -219,16 +212,14 @@ Item {
Kirigami.Label {
text: "Weight:"
opacity: 0.6
- Layout.maximumWidth: detailsView.col3Width
- Layout.minimumWidth: detailsView.col3Width
+ width: detailsView.col3Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
id: txtWeight
text: dive.sumWeight
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
- Layout.maximumWidth: detailsView.col4Width
- Layout.minimumWidth: detailsView.col4Width
+ width: detailsView.col4Width
}
}
// clearly, Qt 5.6.0 is buggy as having this as one GridLayout
@@ -248,8 +239,7 @@ Item {
Kirigami.Label {
text: "Buddy:"
opacity: 0.6
- Layout.maximumWidth: detailsView.col1Width
- Layout.minimumWidth: detailsView.col1Width
+ width: detailsView.col1Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
@@ -262,16 +252,14 @@ Item {
Kirigami.Label {
text: "SAC:"
opacity: 0.6
- Layout.maximumWidth: detailsView.col3Width
- Layout.minimumWidth: detailsView.col3Width
+ width: detailsView.col3Width
Layout.alignment: Qt.AlignRight
}
Kirigami.Label {
id: txtSAC
text: dive.sac
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
- Layout.maximumWidth: detailsView.col4Width
- Layout.minimumWidth: detailsView.col4Width
+ width: detailsView.col4Width
}
Kirigami.Heading {
--
2.5.5
More information about the subsurface
mailing list