diff options
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp | 4 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/configmodel.cpp | 9 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/configmodel.h | 1 |
3 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 8ae17f13d72..8bba67e359c 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -280,7 +280,9 @@ QList<ConfigModel::DataItem> CMakeBuildConfiguration::completeCMakeConfiguration j.values = i.values; j.inCMakeCache = i.inCMakeCache; - j.isAdvanced = i.isAdvanced || i.type == CMakeConfigItem::INTERNAL; + j.isAdvanced = i.isAdvanced; + j.isHidden = i.type == CMakeConfigItem::INTERNAL || i.type == CMakeConfigItem::STATIC; + switch (i.type) { case CMakeConfigItem::FILEPATH: j.type = ConfigModel::DataItem::FILE; diff --git a/src/plugins/cmakeprojectmanager/configmodel.cpp b/src/plugins/cmakeprojectmanager/configmodel.cpp index 98d9cf05b7a..7336a2a7a2b 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.cpp +++ b/src/plugins/cmakeprojectmanager/configmodel.cpp @@ -257,7 +257,9 @@ void ConfigModel::setConfiguration(const QList<ConfigModel::DataItem> &config) QList<InternalDataItem> result; while (newIt != newEndIt && oldIt != oldEndIt) { - if (newIt->key < oldIt->key) { + if (newIt->isHidden) { + ++newIt; + } else if (newIt->key < oldIt->key) { // Add new entry: result << InternalDataItem(*newIt); ++newIt; @@ -279,8 +281,11 @@ void ConfigModel::setConfiguration(const QList<ConfigModel::DataItem> &config) } // Add remaining new entries: - for (; newIt != newEndIt; ++newIt) + for (; newIt != newEndIt; ++newIt) { + if (newIt->isHidden) + continue; result << InternalDataItem(*newIt); + } beginResetModel(); m_configuration = result; diff --git a/src/plugins/cmakeprojectmanager/configmodel.h b/src/plugins/cmakeprojectmanager/configmodel.h index 94fef0b6648..f9629f702fa 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.h +++ b/src/plugins/cmakeprojectmanager/configmodel.h @@ -45,6 +45,7 @@ public: QString key; Type type = STRING; + bool isHidden = false; bool isAdvanced = false; bool inCMakeCache = false; QString value; |