From 86f988434cd657e77cc9429e78f7290ce6b5713d Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 12 Feb 2020 12:43:12 +0100 Subject: properly sync size hints with state machine define implicitWidth and width bindings in the states, in order to not break bindings BUG:417351 --- src/controls/FormLayout.qml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/controls/FormLayout.qml b/src/controls/FormLayout.qml index ff49dbd..61fbaf9 100644 --- a/src/controls/FormLayout.qml +++ b/src/controls/FormLayout.qml @@ -120,6 +120,11 @@ Item { horizontalCenter: root.horizontalCenter } } + PropertyChanges { + target: lay + implicitWidth: undefined + width: undefined + } }, State { when: !root.wideMode @@ -131,10 +136,15 @@ Item { horizontalCenter: undefined } } + PropertyChanges { + target: lay + implicitWidth: root.width + width: Math.min(implicitWidth, parent.width) + } + } ] - implicitWidth: root.wideMode ? undefined : root.width width: Math.min(implicitWidth, parent.width) Timer { id: hintCompression @@ -146,6 +156,7 @@ Item { } onImplicitWidthChanged: hintCompression.restart(); //This invisible row is used to sync alignment between multiple layouts + Item { Layout.preferredWidth: { var hint = 1; -- cgit v1.1