summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-03-08 11:51:17 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-03-09 10:17:07 +0000
commitdcf7247e0572768cf085f7394747ad1675549469 (patch)
treefaed568d8cc21f1f841ccc6656d1c8d1a9d19895
parentcb14d0ec7f4e427c444fcdc4163c69ad82c60731 (diff)
downloadqtbase-dcf7247e0572768cf085f7394747ad1675549469.tar.gz
QErrorMessage: Reset 'again' check box between each error message
The choice of whether to show a message again is per message, so when showing a new message we need to reset the check box back to its default checked state, otherwise the user might mistakenly dismiss more than the indented message. [ChangeLog][Widgets] QErrorMessage will now reset the check box for showing a message again for each new message shown, as each individual message has its own suppression state. Change-Id: I86d4bb5eabdb5b7a478c03516108a5edf87fcbe3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit f2fc2013defc2f346fa1936dcf357d34bae3dbba) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/widgets/dialogs/qerrormessage.cpp1
-rw-r--r--tests/auto/widgets/dialogs/qerrormessage/tst_qerrormessage.cpp3
2 files changed, 2 insertions, 2 deletions
diff --git a/src/widgets/dialogs/qerrormessage.cpp b/src/widgets/dialogs/qerrormessage.cpp
index 5a123d8d53..29706c2ead 100644
--- a/src/widgets/dialogs/qerrormessage.cpp
+++ b/src/widgets/dialogs/qerrormessage.cpp
@@ -358,6 +358,7 @@ bool QErrorMessagePrivate::nextPending()
#endif
currentMessage = std::move(message);
currentType = std::move(type);
+ again->setChecked(true);
return true;
}
}
diff --git a/tests/auto/widgets/dialogs/qerrormessage/tst_qerrormessage.cpp b/tests/auto/widgets/dialogs/qerrormessage/tst_qerrormessage.cpp
index 4a67e1c065..d4c8d10392 100644
--- a/tests/auto/widgets/dialogs/qerrormessage/tst_qerrormessage.cpp
+++ b/tests/auto/widgets/dialogs/qerrormessage/tst_qerrormessage.cpp
@@ -70,8 +70,7 @@ void tst_QErrorMessage::dontShowAgain()
QVERIFY(errorMessageDialog.isVisible());
checkBox = errorMessageDialog.findChild<QCheckBox*>();
QVERIFY(checkBox);
- QVERIFY(!checkBox->isChecked());
- checkBox->setChecked(true);
+ QVERIFY(checkBox->isChecked());
errorMessageDialog.close();
errorMessageDialog.showMessage(htmlString);