summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp7
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h3
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp15
3 files changed, 10 insertions, 15 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index e427fecf62..93593392e9 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -148,8 +148,6 @@ void CMakeBuildConfiguration::ctor()
m_buildDirManager, &BuildDirManager::forceReparse);
connect(this, &CMakeBuildConfiguration::buildDirectoryChanged,
m_buildDirManager, &BuildDirManager::forceReparse);
- connect(target(), &Target::kitChanged, this, &CMakeBuildConfiguration::maybeForceReparse);
- connect(project, &Project::activeTargetChanged, this, &CMakeBuildConfiguration::maybeForceReparse);
connect(this, &CMakeBuildConfiguration::parsingStarted, project, &CMakeProject::handleParsingStarted);
connect(this, &CMakeBuildConfiguration::dataAvailable, project, &CMakeProject::parseCMakeOutput);
@@ -174,11 +172,6 @@ bool CMakeBuildConfiguration::isParsing() const
return m_buildDirManager && m_buildDirManager->isParsing();
}
-void CMakeBuildConfiguration::parse()
-{
- m_buildDirManager->parse();
-}
-
void CMakeBuildConfiguration::resetData()
{
m_buildDirManager->resetData();
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
index 1a43980fe1..01a6910240 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
@@ -73,7 +73,7 @@ public:
bool isParsing() const;
- void parse();
+ void maybeForceReparse();
void resetData();
bool persistCMakeState();
@@ -93,7 +93,6 @@ protected:
private:
void ctor();
- void maybeForceReparse();
QList<ConfigModel::DataItem> completeCMakeConfiguration() const;
void setCurrentCMakeConfiguration(const QList<ConfigModel::DataItem> &items);
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index 1bb32c84c0..4ee11e6074 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -92,6 +92,8 @@ CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName)
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
rootProjectNode()->setDisplayName(fileName.parentDir().fileName());
+
+ connect(this, &CMakeProject::activeTargetChanged, this, &CMakeProject::handleActiveTargetChanged);
}
CMakeProject::~CMakeProject()
@@ -439,10 +441,6 @@ Project::RestoreResult CMakeProject::fromMap(const QVariantMap &map, QString *er
RestoreResult result = Project::fromMap(map, errorMessage);
if (result != RestoreResult::Ok)
return result;
-
- handleActiveTargetChanged();
- handleActiveBuildConfigurationChanged();
-
return RestoreResult::Ok;
}
@@ -461,7 +459,8 @@ void CMakeProject::handleActiveTargetChanged()
if (m_connectedTarget) {
disconnect(m_connectedTarget, &Target::activeBuildConfigurationChanged,
this, &CMakeProject::handleActiveBuildConfigurationChanged);
-
+ disconnect(m_connectedTarget, &Target::kitChanged,
+ this, &CMakeProject::handleActiveBuildConfigurationChanged);
}
m_connectedTarget = activeTarget();
@@ -469,7 +468,11 @@ void CMakeProject::handleActiveTargetChanged()
if (m_connectedTarget) {
connect(m_connectedTarget, &Target::activeBuildConfigurationChanged,
this, &CMakeProject::handleActiveBuildConfigurationChanged);
+ connect(m_connectedTarget, &Target::kitChanged,
+ this, &CMakeProject::handleActiveBuildConfigurationChanged);
}
+
+ handleActiveBuildConfigurationChanged();
}
void CMakeProject::handleActiveBuildConfigurationChanged()
@@ -483,7 +486,7 @@ void CMakeProject::handleActiveBuildConfigurationChanged()
auto i = qobject_cast<CMakeBuildConfiguration *>(bc);
QTC_ASSERT(i, continue);
if (i == activeBc)
- i->parse();
+ i->maybeForceReparse();
else
i->resetData();
}