BuildConfiguration: De-virtualize setBuildConfiguration

... and adjust users in Nim and Autotoolsplugins.

Change-Id: I6133ca933a5a4dc4d7d9ff73c8ca7afaa51ae516
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
hjk
2016-12-05 09:53:12 +01:00
committed by Tobias Hunger
parent 532c9d49ac
commit c390c716d1
5 changed files with 9 additions and 28 deletions

View File

@@ -59,9 +59,14 @@ using namespace ProjectExplorer::Constants;
AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent) : AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent) :
BuildConfiguration(parent, Core::Id(AUTOTOOLS_BC_ID)) BuildConfiguration(parent, Core::Id(AUTOTOOLS_BC_ID))
{ {
// /<foobar> is used so the un-changed check in setBuildDirectory() works correctly. // /<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. // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory.
BuildConfiguration::setBuildDirectory(Utils::FileName::fromString(QString::fromLatin1("/<foobar>"))); 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() NamedWidget *AutotoolsBuildConfiguration::createConfigWidget()
@@ -222,12 +227,3 @@ BuildConfiguration::BuildType AutotoolsBuildConfiguration::buildType() const
// TODO: Should I return something different from Unknown? // TODO: Should I return something different from Unknown?
return 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();
}

View File

@@ -36,7 +36,6 @@ namespace Internal {
class AutotoolsTarget; class AutotoolsTarget;
class AutotoolsBuildConfigurationFactory; class AutotoolsBuildConfigurationFactory;
class AutotoolsBuildSettingsWidget;
class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration
{ {
@@ -53,11 +52,6 @@ public:
protected: protected:
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id); AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, AutotoolsBuildConfiguration *source); AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, AutotoolsBuildConfiguration *source);
friend class AutotoolsBuildSettingsWidget;
private:
void setBuildDirectory(const Utils::FileName &directory) override;
}; };
class AutotoolsBuildConfigurationFactory : public ProjectExplorer::IBuildConfigurationFactory class AutotoolsBuildConfigurationFactory : public ProjectExplorer::IBuildConfigurationFactory

View File

@@ -54,13 +54,6 @@ BuildConfiguration::BuildType NimBuildConfiguration::buildType() const
return BuildConfiguration::Unknown; return BuildConfiguration::Unknown;
} }
void NimBuildConfiguration::setBuildDirectory(const FileName &dir)
{
if (dir == buildDirectory())
return;
BuildConfiguration::setBuildDirectory(dir);
}
bool NimBuildConfiguration::fromMap(const QVariantMap &map) bool NimBuildConfiguration::fromMap(const QVariantMap &map)
{ {
if (!BuildConfiguration::fromMap(map)) if (!BuildConfiguration::fromMap(map))

View File

@@ -46,8 +46,6 @@ public:
ProjectExplorer::BuildConfiguration::BuildType buildType() const override; ProjectExplorer::BuildConfiguration::BuildType buildType() const override;
void setBuildDirectory(const Utils::FileName &dir) override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; QVariantMap toMap() const override;

View File

@@ -50,6 +50,7 @@ public:
Utils::FileName buildDirectory() const; Utils::FileName buildDirectory() const;
Utils::FileName rawBuildDirectory() const; Utils::FileName rawBuildDirectory() const;
void setBuildDirectory(const Utils::FileName &dir);
virtual NamedWidget *createConfigWidget() = 0; virtual NamedWidget *createConfigWidget() = 0;
virtual QList<NamedWidget *> createSubConfigWidgets(); virtual QList<NamedWidget *> createSubConfigWidgets();
@@ -96,7 +97,6 @@ protected:
BuildConfiguration(Target *target, Core::Id id); BuildConfiguration(Target *target, Core::Id id);
BuildConfiguration(Target *target, BuildConfiguration *source); BuildConfiguration(Target *target, BuildConfiguration *source);
virtual void setBuildDirectory(const Utils::FileName &dir);
void cloneSteps(BuildConfiguration *source); void cloneSteps(BuildConfiguration *source);
void emitEnvironmentChanged(); void emitEnvironmentChanged();