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::MakeStep(ProjectExplorer::BuildStepList *bsl) 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) { if (bsl->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) {
setBuildTarget("clean", true); setBuildTarget("clean", true);
setClean(true); setClean(true);

View File

@@ -36,8 +36,10 @@ namespace Internal {
const char GENERIC_MS_ID[] = "GenericProjectManager.GenericMakeStep"; const char GENERIC_MS_ID[] = "GenericProjectManager.GenericMakeStep";
GenericMakeStep::GenericMakeStep(BuildStepList *parent, const QString &buildTarget) 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 struct Step : GenericMakeStep
{ {
Step(BuildStepList *bsl) : GenericMakeStep(bsl, QString("all")) { } Step(BuildStepList *bsl) : GenericMakeStep(bsl) { setBuildTarget("all"); }
}; };
registerStep<Step>(GENERIC_MS_ID); registerStep<Step>(GENERIC_MS_ID);

View File

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

View File

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