summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2019-03-22 21:45:31 +0100
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2019-03-26 13:35:37 +0000
commit998740c61961c0dc3e1296f0349c23846327aea0 (patch)
treebec565f55d17c1ee3a09ba8762ee96fa799f5116 /tests
parentf4ac50a8389597827fd7fb952617b78aa4b113c2 (diff)
QDoubleSpinBox: reset size hint when prefix is set
QDoubleSpinBox did not resize when setPrefix() was called because the cached size hint was not reset. Fix it by resetting the cached size hints and update the geometry the same way it's done for QSpinBox::setPrefix(). Fixes: QTBUG-74520 Change-Id: I6f42a24ab0a4ce987ecbe1505a634d929474436b Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp12
-rw-r--r--tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp12
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
index b1610c297d..b101f47bcd 100644
--- a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
+++ b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
@@ -326,14 +326,26 @@ void tst_QDoubleSpinBox::setPrefixSuffix()
QDoubleSpinBox spin(0);
spin.setDecimals(decimals);
+ const QSize size1 = spin.sizeHint();
spin.setPrefix(prefix);
+ const QSize size2 = spin.sizeHint();
spin.setSuffix(suffix);
+ const QSize size3 = spin.sizeHint();
spin.setValue(value);
if (show)
spin.show();
QCOMPARE(spin.text(), expectedText);
QCOMPARE(spin.cleanText(), expectedCleanText);
+
+ if (!prefix.isEmpty() && !suffix.isEmpty()) {
+ QVERIFY(size1.width() < size2.width());
+ QVERIFY(size2.width() < size3.width());
+ spin.setSuffix(QString());
+ QCOMPARE(spin.sizeHint(), size2);
+ spin.setPrefix(QString());
+ QCOMPARE(spin.sizeHint(), size1);
+ }
}
void tst_QDoubleSpinBox::valueChangedHelper(const QString &text)
diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp
index 1d106f94f3..803b72f36e 100644
--- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp
+++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp
@@ -462,8 +462,11 @@ void tst_QSpinBox::setPrefixSuffix()
QFETCH(bool, show);
QSpinBox spin(0);
+ const QSize size1 = spin.sizeHint();
spin.setPrefix(prefix);
+ const QSize size2 = spin.sizeHint();
spin.setSuffix(suffix);
+ const QSize size3 = spin.sizeHint();
spin.setValue(value);
if (show)
spin.show();
@@ -472,6 +475,15 @@ void tst_QSpinBox::setPrefixSuffix()
QCOMPARE(spin.suffix(), suffix);
QCOMPARE(spin.text(), expectedText);
QCOMPARE(spin.cleanText(), expectedCleanText);
+
+ if (!prefix.isEmpty() && !suffix.isEmpty()) {
+ QVERIFY(size1.width() < size2.width());
+ QVERIFY(size2.width() < size3.width());
+ spin.setSuffix(QString());
+ QCOMPARE(spin.sizeHint(), size2);
+ spin.setPrefix(QString());
+ QCOMPARE(spin.sizeHint(), size1);
+ }
}
void tst_QSpinBox::valueChangedHelper(const QString &text)