diff --git a/src/plugins/projectexplorer/runconfigurationaspects.cpp b/src/plugins/projectexplorer/runconfigurationaspects.cpp index bdad95fdc1c..6e0e99383ac 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.cpp +++ b/src/plugins/projectexplorer/runconfigurationaspects.cpp @@ -632,7 +632,7 @@ void BaseBoolAspect::addToConfigurationLayout(QFormLayout *layout) void BaseBoolAspect::fromMap(const QVariantMap &map) { - m_value = map.value(settingsKey(), false).toBool(); + m_value = map.value(settingsKey(), m_defaultValue).toBool(); } void BaseBoolAspect::toMap(QVariantMap &data) const @@ -640,6 +640,16 @@ void BaseBoolAspect::toMap(QVariantMap &data) const data.insert(settingsKey(), m_value); } +bool BaseBoolAspect::defaultValue() const +{ + return m_defaultValue; +} + +void BaseBoolAspect::setDefaultValue(bool defaultValue) +{ + m_defaultValue = defaultValue; +} + bool BaseBoolAspect::value() const { return m_value; diff --git a/src/plugins/projectexplorer/runconfigurationaspects.h b/src/plugins/projectexplorer/runconfigurationaspects.h index 651b1933eff..14b9ef50457 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.h +++ b/src/plugins/projectexplorer/runconfigurationaspects.h @@ -133,6 +133,9 @@ public: bool value() const; void setValue(bool val); + bool defaultValue() const; + void setDefaultValue(bool defaultValue); + void setLabel(const QString &label); void fromMap(const QVariantMap &map) override; @@ -140,6 +143,7 @@ public: private: bool m_value = false; + bool m_defaultValue = false; QString m_label; QPointer m_checkBox; // Owned by RunConfigWidget };