CheckableMessageBox: Make semantics of bool value clearer

Change-Id: I06a43ab986e6f028cf07ea5e9700c831a591cbf2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
Eike Ziller
2023-05-17 12:04:09 +02:00
parent a468bc2f02
commit c7bf77ae72
2 changed files with 6 additions and 6 deletions

View File

@@ -70,7 +70,7 @@ static QMessageBox::StandardButton exec(
using T = std::decay_t<decltype(decider)>; using T = std::decay_t<decltype(decider)>;
msgBox.checkBox()->setText(decider.text); msgBox.checkBox()->setText(decider.text);
if constexpr (std::is_same_v<T, CheckableMessageBox::BoolDecision>) { if constexpr (std::is_same_v<T, CheckableMessageBox::BoolDecision>) {
msgBox.checkBox()->setChecked(decider.value); msgBox.checkBox()->setChecked(decider.doNotAskAgain);
} else if constexpr (std::is_same_v<T, CheckableMessageBox::SettingsDecision>) { } else if constexpr (std::is_same_v<T, CheckableMessageBox::SettingsDecision>) {
msgBox.checkBox()->setChecked( msgBox.checkBox()->setChecked(
decider.settings->value(decider.settingsSubKey, false).toBool()); decider.settings->value(decider.settingsSubKey, false).toBool());
@@ -142,7 +142,7 @@ void CheckableMessageBox::doNotAskAgain(Decider &decider)
[](auto &&decider) { [](auto &&decider) {
using T = std::decay_t<decltype(decider)>; using T = std::decay_t<decltype(decider)>;
if constexpr (std::is_same_v<T, BoolDecision>) { if constexpr (std::is_same_v<T, BoolDecision>) {
decider.value = true; decider.doNotAskAgain = true;
} else if constexpr (std::is_same_v<T, SettingsDecision>) { } else if constexpr (std::is_same_v<T, SettingsDecision>) {
decider.settings->beginGroup(QLatin1String(kDoNotAskAgainKey)); decider.settings->beginGroup(QLatin1String(kDoNotAskAgainKey));
decider.settings->setValue(decider.settingsSubKey, true); decider.settings->setValue(decider.settingsSubKey, true);
@@ -160,7 +160,7 @@ bool CheckableMessageBox::shouldAskAgain(const Decider &decider)
[](auto &&decider) { [](auto &&decider) {
using T = std::decay_t<decltype(decider)>; using T = std::decay_t<decltype(decider)>;
if constexpr (std::is_same_v<T, BoolDecision>) { if constexpr (std::is_same_v<T, BoolDecision>) {
return !decider.value; return !decider.doNotAskAgain;
} else if constexpr (std::is_same_v<T, SettingsDecision>) { } else if constexpr (std::is_same_v<T, SettingsDecision>) {
decider.settings->beginGroup(QLatin1String(kDoNotAskAgainKey)); decider.settings->beginGroup(QLatin1String(kDoNotAskAgainKey));
bool shouldNotAsk = decider.settings->value(decider.settingsSubKey, false).toBool(); bool shouldNotAsk = decider.settings->value(decider.settingsSubKey, false).toBool();

View File

@@ -23,7 +23,7 @@ public:
struct BoolDecision struct BoolDecision
{ {
QString text; QString text;
bool &value; bool &doNotAskAgain;
}; };
struct SettingsDecision struct SettingsDecision
@@ -48,9 +48,9 @@ public:
return Decider{SettingsDecision{text, settings, settingsSubKey}}; return Decider{SettingsDecision{text, settings, settingsSubKey}};
} }
static Decider make_decider(bool &value, const QString &text = msgDoNotAskAgain()) static Decider make_decider(bool &doNotAskAgain, const QString &text = msgDoNotAskAgain())
{ {
return Decider{BoolDecision{text, value}}; return Decider{BoolDecision{text, doNotAskAgain}};
} }
static Decider make_decider(BoolAspect &aspect, const QString &text = msgDoNotAskAgain()) static Decider make_decider(BoolAspect &aspect, const QString &text = msgDoNotAskAgain())