diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2018-04-24 10:56:13 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-04-24 10:32:29 +0000 |
commit | 2754d19d8640e44f856f423fb9fa949f59aa64a6 (patch) | |
tree | b55762679ce6eac3d39ea565e4adb871cc15cebc /src | |
parent | 7e3c882d9a5cd6a25f547091a4ece786f516f2a4 (diff) |
DialogButtonBox: fix layout regression
In testbench, the settings dialog buttons were wrong laid out.
Change-Id: I3d62d5cc9d6c21a15df70a392e9b1a9d762ff3c6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quicktemplates2/qquickdialogbuttonbox.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp index 5e555da3..98437500 100644 --- a/src/quicktemplates2/qquickdialogbuttonbox.cpp +++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp @@ -204,6 +204,7 @@ QQuickDialogButtonBoxPrivate::QQuickDialogButtonBoxPrivate() buttonLayout(platformButtonLayout()), delegate(nullptr) { + changeTypes |= ImplicitWidth | ImplicitHeight; } void QQuickDialogButtonBoxPrivate::itemImplicitWidthChanged(QQuickItem *item) @@ -268,7 +269,8 @@ void QQuickDialogButtonBoxPrivate::updateLayout() const int valign = alignment & Qt::AlignVertical_Mask; QVector<QQuickAbstractButton *> buttons; - const qreal itemWidth = (contentWidth - qMax(0, count - 1) * spacing) / count; + const qreal cw = (alignment & Qt::AlignHorizontal_Mask) == 0 ? q->availableWidth() : contentWidth; + const qreal itemWidth = (cw - qMax(0, count - 1) * spacing) / count; for (int i = 0; i < count; ++i) { QQuickItem *item = q->itemAt(i); |