From 284d4e71258ad3afeda6d5bb83eb50e25137824c Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Wed, 21 Apr 2021 15:25:49 +0200 Subject: QLayout: mark unsetContentsMargins as the RESET function contentsMargins is a Q_PROPERTY on a QLayout. Qt 6.1 introduced QLayout::unsetContentsMargins() to reset the contents margins to the "default" ones (that the user can't know); that's the textbook description of a RESET function for the property. Add some tests also for unsetContentsMargins. [ChangeLog][QtWidgets][QLayout] The unsetContentsMargins() function now acts as the RESET function for the contentsMargins property. Change-Id: I463d88363c11f4a15ad3d6af71401d8698de1d41 Reviewed-by: Fabian Kosmale Reviewed-by: Volker Hilsheimer --- tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/auto/widgets/kernel') diff --git a/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp b/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp index 2a497df084..01b7c8ef9c 100644 --- a/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp +++ b/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -248,6 +249,22 @@ void tst_QLayout::setContentsMargins() layout.setContentsMargins(52, 53, 54, 55); QVERIFY(!layout.invalidated); + + MyLayout otherLayout; // with default contents margins + QVERIFY(layout.contentsMargins() != otherLayout.contentsMargins()); + layout.unsetContentsMargins(); + QCOMPARE(layout.contentsMargins(), otherLayout.contentsMargins()); + + layout.setContentsMargins(10, 20, 30, 40); + QVERIFY(layout.contentsMargins() != otherLayout.contentsMargins()); + + int contentsMarginsPropertyIndex = QLayout::staticMetaObject.indexOfProperty("contentsMargins"); + QVERIFY(contentsMarginsPropertyIndex >= 0); + QMetaProperty contentsMarginsProperty = QLayout::staticMetaObject.property(contentsMarginsPropertyIndex); + QVERIFY(contentsMarginsProperty.isValid()); + QVERIFY(contentsMarginsProperty.isResettable()); + QVERIFY(contentsMarginsProperty.reset(&layout)); + QCOMPARE(layout.contentsMargins(), otherLayout.contentsMargins()); } class EventReceiver : public QObject -- cgit v1.2.3