forked from qt-creator/qt-creator
CheckableMessageBox: Make semantics of bool value clearer
Change-Id: I06a43ab986e6f028cf07ea5e9700c831a591cbf2 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -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();
|
||||||
|
@@ -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())
|
||||||
|
Reference in New Issue
Block a user