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) :
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();
}

View File

@@ -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

View File

@@ -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))

View File

@@ -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;

View File

@@ -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();