diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2018-01-08 16:09:59 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2018-01-09 07:51:38 +0000 |
commit | 1e0ea7f42eb0acbf0d73f03d60c3f1c4f354d981 (patch) | |
tree | 2c4f2fdc51afe28cf646e6a50e729d0157331499 /src | |
parent | 53b2df46e0100488d2baeb7d94eef07a1c8a069c (diff) |
ProjectExplorer: Remove target/BC listeners from ExtraCompiler
When target or build configuration change, the target files that
ExtraCompiler checks to see if a rebuild is necessary will be outdated.
The project managers recognize that and reinitialize the ExtraCompilers
in that case. Thus, we don't need to listen for those changes in
ExtraCompiler.
This has the added benefit of reducing the number of transparent
rebuilds triggered by ExtraCompiler.
Change-Id: If8b55f0f5343b221c039d4bd4a8f0c3ab412cc94
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/projectexplorer/extracompiler.cpp | 38 | ||||
-rw-r--r-- | src/plugins/projectexplorer/extracompiler.h | 2 |
2 files changed, 0 insertions, 40 deletions
diff --git a/src/plugins/projectexplorer/extracompiler.cpp b/src/plugins/projectexplorer/extracompiler.cpp index ab020004404..1d5e97add91 100644 --- a/src/plugins/projectexplorer/extracompiler.cpp +++ b/src/plugins/projectexplorer/extracompiler.cpp @@ -80,9 +80,6 @@ ExtraCompiler::ExtraCompiler(const Project *project, const Utils::FileName &sour d->contents.insert(target, QByteArray()); d->timer.setSingleShot(true); - connect(d->project, &Project::activeTargetChanged, this, &ExtraCompiler::onActiveTargetChanged); - onActiveTargetChanged(); - connect(&d->timer, &QTimer::timeout, this, [this](){ if (d->dirty && d->lastEditor) { d->dirty = false; @@ -254,41 +251,6 @@ void ExtraCompiler::onEditorAboutToClose(Core::IEditor *editor) d->lastEditor = nullptr; } -void ExtraCompiler::onActiveTargetChanged() -{ - disconnect(d->activeBuildConfigConnection); - if (Target *target = d->project->activeTarget()) { - d->activeBuildConfigConnection = connect( - target, &Target::activeBuildConfigurationChanged, - this, &ExtraCompiler::onActiveBuildConfigurationChanged); - onActiveBuildConfigurationChanged(); - } else { - disconnect(d->activeEnvironmentConnection); - setDirty(); - } -} - -void ExtraCompiler::onActiveBuildConfigurationChanged() -{ - disconnect(d->activeEnvironmentConnection); - Target *target = d->project->activeTarget(); - QTC_ASSERT(target, return); - if (BuildConfiguration *bc = target->activeBuildConfiguration()) { - d->activeEnvironmentConnection = connect( - bc, &BuildConfiguration::environmentChanged, - this, &ExtraCompiler::setDirty); - } else { - d->activeEnvironmentConnection = connect(KitManager::instance(), &KitManager::kitUpdated, - this, [this](Kit *kit) { - Target *target = d->project->activeTarget(); - QTC_ASSERT(target, return); - if (kit == target->kit()) - setDirty(); - }); - } - setDirty(); -} - Utils::Environment ExtraCompiler::buildEnvironment() const { if (Target *target = project()->activeTarget()) { diff --git a/src/plugins/projectexplorer/extracompiler.h b/src/plugins/projectexplorer/extracompiler.h index 67cccc60f4d..e69d4b3ca81 100644 --- a/src/plugins/projectexplorer/extracompiler.h +++ b/src/plugins/projectexplorer/extracompiler.h @@ -84,8 +84,6 @@ private: void onTargetsBuilt(Project *project); void onEditorChanged(Core::IEditor *editor); void onEditorAboutToClose(Core::IEditor *editor); - void onActiveTargetChanged(); - void onActiveBuildConfigurationChanged(); void setDirty(); // This method may not block! virtual void run(const QByteArray &sourceContent) = 0; |