summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2018-01-08 16:09:59 +0100
committerUlf Hermann <ulf.hermann@qt.io>2018-01-09 07:51:38 +0000
commit1e0ea7f42eb0acbf0d73f03d60c3f1c4f354d981 (patch)
tree2c4f2fdc51afe28cf646e6a50e729d0157331499
parent53b2df46e0100488d2baeb7d94eef07a1c8a069c (diff)
downloadqt-creator-1e0ea7f42eb0acbf0d73f03d60c3f1c4f354d981.tar.gz
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>
-rw-r--r--src/plugins/projectexplorer/extracompiler.cpp38
-rw-r--r--src/plugins/projectexplorer/extracompiler.h2
2 files changed, 0 insertions, 40 deletions
diff --git a/src/plugins/projectexplorer/extracompiler.cpp b/src/plugins/projectexplorer/extracompiler.cpp
index ab02000440..1d5e97add9 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 67cccc60f4..e69d4b3ca8 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;