summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-07-15 11:04:07 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-07-15 11:24:47 +0200
commit45854c75aa0f090151f868ea3680c4b7490a3f4b (patch)
tree772a0a9d4420f5f783cd5d4a6cb2d5b38e648e5c /tests
parent08fd2a724d280423ce0a0d4a9b05b72628bc9449 (diff)
QGroupBox: Exclude top level widgets from child event handling.
Prevent the QGroupBox from changing the enabled state of dialogs parented on it. Task-number: QTBUG-40132 Change-Id: I91cc6ccf5ade0b3a491020ed947d4aceca62d7b6 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
index a4d4e5d717..433fbc2bfe 100644
--- a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
+++ b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
@@ -46,6 +46,7 @@
#include <QStyleOptionGroupBox>
#include <QVBoxLayout>
#include <QRadioButton>
+#include <QDialog>
#include "qgroupbox.h"
@@ -71,6 +72,7 @@ private slots:
void setChecked_data();
void setChecked();
void enabledPropagation();
+ void enabledChildPropagation();
void sizeHint();
void toggled();
void clicked_data();
@@ -288,6 +290,23 @@ void tst_QGroupBox::enabledPropagation()
delete testWidget;
}
+void tst_QGroupBox::enabledChildPropagation()
+{
+ QGroupBox testWidget;
+ testWidget.setCheckable(true);
+ testWidget.setChecked(true);
+ // The value of isChecked() should be reflected in the isEnabled() of newly
+ // added child widgets, but not in top level widgets.
+ QWidget *childWidget = new QWidget(&testWidget);
+ QVERIFY(childWidget->isEnabled());
+ QDialog *dialog = new QDialog(&testWidget);
+ QVERIFY(dialog->isEnabled());
+ testWidget.setChecked(false);
+ childWidget = new QWidget(&testWidget);
+ QVERIFY(!childWidget->isEnabled());
+ dialog = new QDialog(&testWidget);
+ QVERIFY(dialog->isEnabled());
+}
void tst_QGroupBox::sizeHint()
{