From 0e1dcc2eb78b75331ad520e33a978ec4acf30d1f Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 14 Sep 2018 13:14:31 +0200 Subject: [PATCH] ProjectExplorer: Add default value handling to BaseBoolAspect Will be useful e.g. for "Incremental deployment" in RL's GenericDirectUploadStep. Change-Id: Idb07db2d9f075cda8f4cbb905f1e04fc24342ce0 Reviewed-by: Ulf Hermann --- .../projectexplorer/runconfigurationaspects.cpp | 12 +++++++++++- .../projectexplorer/runconfigurationaspects.h | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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 };