From 6bba37ab165c19c44e4a36a3ff2ca92cd4e74c97 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 18 Feb 2021 07:18:40 +0100 Subject: [PATCH] Analyzers: Re-enable switch between global and project settings This was apparently always using project settings for a while, even when "Use Global Settings" were selected in the Run settings. Change-Id: I1293a617edcbfd6bc47c57102fa53096c717ec4e Reviewed-by: Christian Stenger --- src/libs/utils/aspects.h | 1 + src/plugins/projectexplorer/runconfiguration.cpp | 12 +++++++++++- src/plugins/projectexplorer/runconfiguration.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index 762b71c023c..0bdecdbd605 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -97,6 +97,7 @@ public: virtual void fromMap(const QVariantMap &map); virtual void toMap(QVariantMap &map) const; + virtual void toActiveMap(QVariantMap &map) const { toMap(map); } virtual void acquaintSiblings(const BaseAspects &); virtual void addToLayout(LayoutBuilder &builder); diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 953fd1b91e4..b6759ee5f52 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -134,6 +134,16 @@ void GlobalOrProjectAspect::toMap(QVariantMap &map) const map.insert(id().toString() + ".UseGlobalSettings", m_useGlobalSettings); } +void GlobalOrProjectAspect::toActiveMap(QVariantMap &data) const +{ + if (m_useGlobalSettings) + m_globalSettings->toMap(data); + else if (m_projectSettings) + m_projectSettings->toMap(data); + else + QTC_CHECK(false); +} + void GlobalOrProjectAspect::resetProjectToGlobalSettings() { QTC_ASSERT(m_globalSettings, return); @@ -235,7 +245,7 @@ QMap RunConfiguration::aspectData() const { QMap data; for (BaseAspect *aspect : qAsConst(m_aspects)) - aspect->toMap(data[aspect->id()]); + aspect->toActiveMap(data[aspect->id()]); return data; } diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 9382c46be0c..38f1170f6cd 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -114,6 +114,7 @@ protected: friend class RunConfiguration; void fromMap(const QVariantMap &map) override; void toMap(QVariantMap &data) const override; + void toActiveMap(QVariantMap &data) const override; private: bool m_useGlobalSettings = false;