aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-04-24 10:56:13 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2018-04-24 10:32:29 +0000
commit2754d19d8640e44f856f423fb9fa949f59aa64a6 (patch)
treeb55762679ce6eac3d39ea565e4adb871cc15cebc /src
parent7e3c882d9a5cd6a25f547091a4ece786f516f2a4 (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.cpp4
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);