ProjectExplorer: Use some setters for GenericMakeStep

Instead of using constructor arguments. This makes the constructor
signatures uniform and allows construction of the steps by Id via
the factories.

Change-Id: Idba1b04ec674e36c39950d5949d42ac8043b28c3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-07-26 13:58:42 +02:00
parent a34bf6a23b
commit 4fd3e73b54
4 changed files with 20 additions and 12 deletions

View File

@@ -49,8 +49,9 @@ MakeStepFactory::MakeStepFactory()
// MakeStep
MakeStep::MakeStep(ProjectExplorer::BuildStepList *bsl)
: ProjectExplorer::MakeStep(bsl, MAKE_STEP_ID, QString(), {"all", "clean"})
: ProjectExplorer::MakeStep(bsl, MAKE_STEP_ID)
{
setAvailableBuildTargets({"all", "clean"});
if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) {
setBuildTarget("clean", true);
setClean(true);

View File

@@ -36,8 +36,10 @@ namespace Internal {
const char GENERIC_MS_ID[] = "GenericProjectManager.GenericMakeStep";
GenericMakeStep::GenericMakeStep(BuildStepList *parent, const QString &buildTarget)
: MakeStep(parent, GENERIC_MS_ID, buildTarget, {"all", "clean"})
: MakeStep(parent, GENERIC_MS_ID)
{
setBuildTarget(buildTarget);
setAvailableBuildTargets({"all", "clean"});
}
//
@@ -48,7 +50,7 @@ GenericMakeAllStepFactory::GenericMakeAllStepFactory()
{
struct Step : GenericMakeStep
{
Step(BuildStepList *bsl) : GenericMakeStep(bsl, QString("all")) { }
Step(BuildStepList *bsl) : GenericMakeStep(bsl) { setBuildTarget("all"); }
};
registerStep<Step>(GENERIC_MS_ID);

View File

@@ -60,19 +60,24 @@ const char MAKEFLAGS[] = "MAKEFLAGS";
namespace ProjectExplorer {
MakeStep::MakeStep(BuildStepList *parent,
Core::Id id,
const QString &buildTarget,
const QStringList &availableTargets)
MakeStep::MakeStep(BuildStepList *parent, Core::Id id)
: AbstractProcessStep(parent, id),
m_availableTargets(availableTargets),
m_userJobCount(defaultJobCount())
{
setDefaultDisplayName(defaultDisplayName());
}
void MakeStep::setBuildTarget(const QString &buildTarget)
{
if (!buildTarget.isEmpty())
setBuildTarget(buildTarget, true);
}
void MakeStep::setAvailableBuildTargets(const QStringList &buildTargets)
{
m_availableTargets = buildTargets;
}
bool MakeStep::init()
{
BuildConfiguration *bc = buildConfiguration();

View File

@@ -45,10 +45,10 @@ class PROJECTEXPLORER_EXPORT MakeStep : public ProjectExplorer::AbstractProcessS
Q_OBJECT
public:
explicit MakeStep(ProjectExplorer::BuildStepList *parent,
Core::Id id,
const QString &buildTarget = QString(),
const QStringList &availableTargets = {});
explicit MakeStep(ProjectExplorer::BuildStepList *parent, Core::Id id);
void setBuildTarget(const QString &buildTarget);
void setAvailableBuildTargets(const QStringList &buildTargets);
bool init() override;
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;