diff --git a/src/plugins/qbsprojectmanager/qbscleanstep.cpp b/src/plugins/qbsprojectmanager/qbscleanstep.cpp index 167299a0bb7..119c61450e0 100644 --- a/src/plugins/qbsprojectmanager/qbscleanstep.cpp +++ b/src/plugins/qbsprojectmanager/qbscleanstep.cpp @@ -58,18 +58,16 @@ QbsCleanStep::QbsCleanStep(ProjectExplorer::BuildStepList *bsl) : m_keepGoingAspect->setSettingsKey("Qbs.DryKeepGoing"); m_keepGoingAspect->setLabel(tr("Keep going")); - m_effectiveCommandAspect = addAspect(); - m_effectiveCommandAspect->setDisplayStyle(BaseStringAspect::TextEditDisplay); - m_effectiveCommandAspect->setLabelText(tr("Equivalent command line:")); + auto effectiveCommandAspect = addAspect(); + effectiveCommandAspect->setDisplayStyle(BaseStringAspect::TextEditDisplay); + effectiveCommandAspect->setLabelText(tr("Equivalent command line:")); - updateState(); - - connect(this, &ProjectExplorer::ProjectConfiguration::displayNameChanged, - this, &QbsCleanStep::updateState); - connect(m_dryRunAspect, &BaseBoolAspect::changed, - this, &QbsCleanStep::updateState); - connect(m_keepGoingAspect, &BaseBoolAspect::changed, - this, &QbsCleanStep::updateState); + setSummaryUpdater([this, effectiveCommandAspect] { + QString command = static_cast(buildConfiguration()) + ->equivalentCommandLine(this); + effectiveCommandAspect->setValue(command); + return tr("Qbs: %1").arg(command); + }); } QbsCleanStep::~QbsCleanStep() @@ -119,15 +117,6 @@ void QbsCleanStep::doRun() this, &QbsCleanStep::handleProgress); } -ProjectExplorer::BuildStepConfigWidget *QbsCleanStep::createConfigWidget() -{ - auto w = BuildStep::createConfigWidget(); - connect(this, &QbsCleanStep::stateChanged, w, [this, w] { - w->setSummaryText(tr("Qbs: %1").arg(m_effectiveCommandAspect->value())); - }); - return w; -} - void QbsCleanStep::doCancel() { if (m_job) @@ -159,14 +148,6 @@ void QbsCleanStep::handleProgress(int value) emit progress(value * 100 / m_maxProgress, m_description); } -void QbsCleanStep::updateState() -{ - QString command = static_cast(buildConfiguration()) - ->equivalentCommandLine(this); - m_effectiveCommandAspect->setValue(command); - emit stateChanged(); -} - void QbsCleanStep::createTaskAndOutput(ProjectExplorer::Task::TaskType type, const QString &message, const QString &file, int line) { ProjectExplorer::Task task = ProjectExplorer::Task(type, message, diff --git a/src/plugins/qbsprojectmanager/qbscleanstep.h b/src/plugins/qbsprojectmanager/qbscleanstep.h index bfac0d2b68f..fa07d35292b 100644 --- a/src/plugins/qbsprojectmanager/qbscleanstep.h +++ b/src/plugins/qbsprojectmanager/qbscleanstep.h @@ -47,26 +47,20 @@ public: bool dryRun() const { return m_dryRunAspect->value(); } bool keepGoing() const { return m_keepGoingAspect->value(); } -signals: - void stateChanged(); - private: bool init() override; void doRun() override; void doCancel() override; - ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override; void cleaningDone(bool success); void handleTaskStarted(const QString &desciption, int max); void handleProgress(int value); - void updateState(); void createTaskAndOutput(ProjectExplorer::Task::TaskType type, const QString &message, const QString &file, int line); ProjectExplorer::BaseBoolAspect *m_dryRunAspect = nullptr; ProjectExplorer::BaseBoolAspect *m_keepGoingAspect = nullptr; - ProjectExplorer::BaseStringAspect *m_effectiveCommandAspect = nullptr; QStringList m_products;