diff options
author | hjk <hjk@qt.io> | 2016-12-05 09:53:12 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2016-12-05 09:21:37 +0000 |
commit | c390c716d13403ecc926cf5adceb7be97d6ce783 (patch) | |
tree | e146a0ea896781c02740aac0254927d55451194d | |
parent | 532c9d49ac7e9d99f5fe5feba3c091a0e2d93d28 (diff) | |
download | qt-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>
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(); |