diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-15 11:04:07 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-15 11:24:47 +0200 |
commit | 45854c75aa0f090151f868ea3680c4b7490a3f4b (patch) | |
tree | 772a0a9d4420f5f783cd5d4a6cb2d5b38e648e5c /tests | |
parent | 08fd2a724d280423ce0a0d4a9b05b72628bc9449 (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.cpp | 19 |
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() { |