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 <[email protected]>
---

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

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to