diff options
author | hjk <hjk@qt.io> | 2019-01-29 16:51:17 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-01-30 16:51:05 +0000 |
commit | 9bb936499d5e386a3439e6e2856acf0caba38bc7 (patch) | |
tree | 2d8503afa77b52696a1aa83b2c6a949b64c18b8e /src/plugins/autotoolsprojectmanager | |
parent | 5cf2889856847389556e6adba3e3609252dd1429 (diff) |
ProjectExplorer: Collapse BuildInfo hierarchy
... to pass it around as real values, avoiding, among others,
the need of occasional explicit deletion.
The formerly extra members of the derived stuff are handled via
an extra variant (for data) and via a functor in the build
configuration factory.
The change is mechanical.
Change-Id: I19ca4e0c5f0a5b196fc16dfb98bb005dc679f855
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/autotoolsprojectmanager')
-rw-r--r-- | src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp | 29 | ||||
-rw-r--r-- | src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h | 10 |
2 files changed, 18 insertions, 21 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 93f62323a13..33ebf0f1881 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -64,7 +64,7 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::I setBuildDirectory(Utils::FileName::fromString("/<foobar>")); } -void AutotoolsBuildConfiguration::initialize(const BuildInfo *info) +void AutotoolsBuildConfiguration::initialize(const BuildInfo &info) { BuildConfiguration::initialize(info); @@ -114,30 +114,27 @@ AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory() setSupportedProjectMimeTypeName(Constants::MAKEFILE_MIMETYPE); } -QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableBuilds(const Target *parent) const +QList<BuildInfo> AutotoolsBuildConfigurationFactory::availableBuilds(const Target *parent) const { return {createBuildInfo(parent->kit(), parent->project()->projectDirectory())}; } -QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const +QList<BuildInfo> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const { - QList<BuildInfo *> result; - BuildInfo *info = createBuildInfo(k, - Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath))); + BuildInfo info = createBuildInfo(k, + Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath))); //: The name of the build configuration created by default for a autotools project. - info->displayName = tr("Default"); - result << info; - return result; + info.displayName = tr("Default"); + return {info}; } -BuildInfo *AutotoolsBuildConfigurationFactory::createBuildInfo(const Kit *k, - const Utils::FileName &buildDir) const +BuildInfo AutotoolsBuildConfigurationFactory::createBuildInfo(const Kit *k, + const Utils::FileName &buildDir) const { - auto info = new BuildInfo(this); - info->typeName = tr("Build"); - info->buildDirectory = buildDir; - info->kitId = k->id(); - + BuildInfo info(this); + info.typeName = tr("Build"); + info.buildDirectory = buildDir; + info.kitId = k->id(); return info; } diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h index 2c88c26b71a..2cd784c235e 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h @@ -41,7 +41,7 @@ class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration friend class ProjectExplorer::BuildConfigurationFactory; AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id); - void initialize(const ProjectExplorer::BuildInfo *info) override; + void initialize(const ProjectExplorer::BuildInfo &info) override; ProjectExplorer::NamedWidget *createConfigWidget() override; BuildType buildType() const override; }; @@ -54,11 +54,11 @@ public: AutotoolsBuildConfigurationFactory(); private: - QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const override; - QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k, - const QString &projectPath) const override; + QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Target *parent) const override; + QList<ProjectExplorer::BuildInfo> availableSetups(const ProjectExplorer::Kit *k, + const QString &projectPath) const override; - ProjectExplorer::BuildInfo *createBuildInfo(const ProjectExplorer::Kit *k, const Utils::FileName &buildDir) const; + ProjectExplorer::BuildInfo createBuildInfo(const ProjectExplorer::Kit *k, const Utils::FileName &buildDir) const; }; } // namespace Internal |