diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-10 21:11:23 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-10 21:11:23 +0200 |
commit | c6713e212ef0b97c45d6466b73220567e94a05f1 (patch) | |
tree | 8774d26bf05f2087c510d16da42bfd0dc59a54b1 /src/dialogs/DefaultDialogWrapper.qml | |
parent | ce97d9c8ef4e6f8cb2166065b6732cad3cccf604 (diff) | |
parent | 0e00f9fa1cbdbdd2128f2ca31172d88f701ecb59 (diff) | |
download | qtquickcontrols-c6713e212ef0b97c45d6466b73220567e94a05f1.tar.gz |
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
examples/quickcontrols/extras/flat/main.cpp
src/controls/Private/qquickcontrolsettings.cpp
Change-Id: I9eb9342a2ee994611f3cb18daab6dd89eb924ccc
Diffstat (limited to 'src/dialogs/DefaultDialogWrapper.qml')
-rw-r--r-- | src/dialogs/DefaultDialogWrapper.qml | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/dialogs/DefaultDialogWrapper.qml b/src/dialogs/DefaultDialogWrapper.qml index 6c2cae06..b446c316 100644 --- a/src/dialogs/DefaultDialogWrapper.qml +++ b/src/dialogs/DefaultDialogWrapper.qml @@ -53,13 +53,14 @@ AbstractDialog { id: content property real spacing: 6 property real outerSpacing: 12 - property real buttonsRowImplicitWidth: minimumWidth + property real buttonsRowImplicitHeight: 0 + property real buttonsRowImplicitWidth: Screen.pixelDensity * 50 property bool buttonsInSingleRow: defaultContentItem.width >= buttonsRowImplicitWidth property real minimumHeight: implicitHeight - property real minimumWidth: Screen.pixelDensity * 50 - implicitHeight: defaultContentItem.implicitHeight + spacing + outerSpacing * 2 + buttonsRight.implicitHeight + property real minimumWidth: implicitWidth + implicitHeight: defaultContentItem.implicitHeight + spacing + outerSpacing * 2 + Math.max(buttonsRight.implicitHeight, buttonsRowImplicitHeight) implicitWidth: Math.min(root.__maximumDimension, Math.max( - defaultContentItem.implicitWidth, buttonsRowImplicitWidth, Screen.pixelDensity * 50) + outerSpacing * 2); + defaultContentItem.implicitWidth, buttonsRowImplicitWidth, Screen.pixelDensity * 50) + outerSpacing * 2) color: palette.window Keys.onPressed: { event.accepted = true @@ -85,9 +86,14 @@ AbstractDialog { left: parent.left right: parent.right top: parent.top + bottom: buttonsLeft.implicitHeight ? buttonsLeft.top : buttonsRight.top margins: content.outerSpacing + bottomMargin: buttonsLeft.implicitHeight + buttonsRight.implicitHeight > 0 ? content.spacing : 0 } - implicitHeight: childrenRect.height + implicitHeight: children.length === 1 ? children[0].implicitHeight + : (children.length ? childrenRect.height : 0) + implicitWidth: children.length === 1 ? children[0].implicitWidth + : (children.length ? childrenRect.width : 0) } Flow { @@ -138,7 +144,9 @@ AbstractDialog { function setupButtons() { buttonsLeftRepeater.model = root.__standardButtonsLeftModel() buttonsRightRepeater.model = root.__standardButtonsRightModel() - if (buttonsLeftRepeater.count + buttonsRightRepeater.count < 2) + if (buttonsRightRepeater.model && buttonsRightRepeater.model.length > 0) + content.buttonsRowImplicitHeight = buttonsRight.visibleChildren[0].implicitHeight + if (buttonsLeftRepeater.count + buttonsRightRepeater.count < 1) return; var calcWidth = 0; @@ -153,7 +161,7 @@ AbstractDialog { for (var i = 0; i < buttonsRight.visibleChildren.length; ++i) calculateForButton(i, buttonsRight.visibleChildren[i]) - content.minimumWidth = calcWidth + content.outerSpacing * 2 + content.minimumWidth = Math.max(calcWidth + content.outerSpacing * 2, content.implicitWidth) for (i = 0; i < buttonsLeft.visibleChildren.length; ++i) calculateForButton(i, buttonsLeft.visibleChildren[i]) content.buttonsRowImplicitWidth = calcWidth + content.spacing |