summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2016-12-05 09:53:12 +0100
committerTobias Hunger <tobias.hunger@qt.io>2016-12-05 09:21:37 +0000
commitc390c716d13403ecc926cf5adceb7be97d6ce783 (patch)
treee146a0ea896781c02740aac0254927d55451194d
parent532c9d49ac7e9d99f5fe5feba3c091a0e2d93d28 (diff)
downloadqt-creator-c390c716d13403ecc926cf5adceb7be97d6ce783.tar.gz
BuildConfiguration: De-virtualize setBuildConfiguration
... and adjust users in Nim and Autotoolsplugins. Change-Id: I6133ca933a5a4dc4d7d9ff73c8ca7afaa51ae516 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp20
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h6
-rw-r--r--src/plugins/nim/project/nimbuildconfiguration.cpp7
-rw-r--r--src/plugins/nim/project/nimbuildconfiguration.h2
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.h2
5 files changed, 9 insertions, 28 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
index b3fca07665..5095c0e57a 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
@@ -59,9 +59,14 @@ using namespace ProjectExplorer::Constants;
AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent) :
BuildConfiguration(parent, Core::Id(AUTOTOOLS_BC_ID))
{
- // /<foobar> is used so the un-changed check in setBuildDirectory() works correctly.
- // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory.
- BuildConfiguration::setBuildDirectory(Utils::FileName::fromString(QString::fromLatin1("/<foobar>")));
+ // /<foobar> is used so the un-changed check in setBuildDirectory() works correctly.
+ // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory.
+ BuildConfiguration::setBuildDirectory(Utils::FileName::fromString(QString::fromLatin1("/<foobar>")));
+
+ connect(this, &BuildConfiguration::buildDirectoryChanged, this, [this] {
+ foreach (auto bs, stepList(BUILDSTEPS_BUILD)->allOfType<ConfigureStep>())
+ bs->notifyBuildDirectoryChanged();
+ });
}
NamedWidget *AutotoolsBuildConfiguration::createConfigWidget()
@@ -222,12 +227,3 @@ BuildConfiguration::BuildType AutotoolsBuildConfiguration::buildType() const
// TODO: Should I return something different from Unknown?
return Unknown;
}
-
-void AutotoolsBuildConfiguration::setBuildDirectory(const Utils::FileName &directory)
-{
- if (directory == buildDirectory())
- return;
- BuildConfiguration::setBuildDirectory(directory);
- foreach (auto bs, stepList(BUILDSTEPS_BUILD)->allOfType<ConfigureStep>())
- bs->notifyBuildDirectoryChanged();
-}
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h
index 3bceb4cc3a..3d7f170f5b 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h
@@ -36,7 +36,6 @@ namespace Internal {
class AutotoolsTarget;
class AutotoolsBuildConfigurationFactory;
-class AutotoolsBuildSettingsWidget;
class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration
{
@@ -53,11 +52,6 @@ public:
protected:
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, AutotoolsBuildConfiguration *source);
-
- friend class AutotoolsBuildSettingsWidget;
-
-private:
- void setBuildDirectory(const Utils::FileName &directory) override;
};
class AutotoolsBuildConfigurationFactory : public ProjectExplorer::IBuildConfigurationFactory
diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp
index d382ec5adb..81f34e12fb 100644
--- a/src/plugins/nim/project/nimbuildconfiguration.cpp
+++ b/src/plugins/nim/project/nimbuildconfiguration.cpp
@@ -54,13 +54,6 @@ BuildConfiguration::BuildType NimBuildConfiguration::buildType() const
return BuildConfiguration::Unknown;
}
-void NimBuildConfiguration::setBuildDirectory(const FileName &dir)
-{
- if (dir == buildDirectory())
- return;
- BuildConfiguration::setBuildDirectory(dir);
-}
-
bool NimBuildConfiguration::fromMap(const QVariantMap &map)
{
if (!BuildConfiguration::fromMap(map))
diff --git a/src/plugins/nim/project/nimbuildconfiguration.h b/src/plugins/nim/project/nimbuildconfiguration.h
index a205ae1b18..1228be0680 100644
--- a/src/plugins/nim/project/nimbuildconfiguration.h
+++ b/src/plugins/nim/project/nimbuildconfiguration.h
@@ -46,8 +46,6 @@ public:
ProjectExplorer::BuildConfiguration::BuildType buildType() const override;
- void setBuildDirectory(const Utils::FileName &dir) override;
-
bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override;
diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h
index dd727abea7..03d42d4dbd 100644
--- a/src/plugins/projectexplorer/buildconfiguration.h
+++ b/src/plugins/projectexplorer/buildconfiguration.h
@@ -50,6 +50,7 @@ public:
Utils::FileName buildDirectory() const;
Utils::FileName rawBuildDirectory() const;
+ void setBuildDirectory(const Utils::FileName &dir);
virtual NamedWidget *createConfigWidget() = 0;
virtual QList<NamedWidget *> createSubConfigWidgets();
@@ -96,7 +97,6 @@ protected:
BuildConfiguration(Target *target, Core::Id id);
BuildConfiguration(Target *target, BuildConfiguration *source);
- virtual void setBuildDirectory(const Utils::FileName &dir);
void cloneSteps(BuildConfiguration *source);
void emitEnvironmentChanged();