ProjectExplorer: Remove BuildStepListWidget::init

This kind of two-phase setup is not needed here.

Change-Id: Ie070c711ede1e4842f76f7d4ebf26809a3ad5236
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-10-31 11:11:39 +01:00
parent 953b018462
commit d6cfaa122f
4 changed files with 35 additions and 60 deletions

View File

@@ -207,13 +207,11 @@ void BuildSettingsWidget::updateBuildSettings()
if (generalConfigWidget)
addSubWidget(generalConfigWidget);
auto buildStepsWidget = new BuildStepListWidget(this);
buildStepsWidget->init(m_buildConfiguration->stepList(Constants::BUILDSTEPS_BUILD));
addSubWidget(buildStepsWidget);
BuildStepList *buildSteps = m_buildConfiguration->stepList(Constants::BUILDSTEPS_BUILD);
addSubWidget(new BuildStepListWidget(buildSteps, this));
auto cleanStepsWidget = new BuildStepListWidget(this);
cleanStepsWidget->init(m_buildConfiguration->stepList(Constants::BUILDSTEPS_CLEAN));
addSubWidget(cleanStepsWidget);
BuildStepList *cleanSteps = m_buildConfiguration->stepList(Constants::BUILDSTEPS_CLEAN);
addSubWidget(new BuildStepListWidget(cleanSteps, this));
QList<NamedWidget *> subConfigWidgets = m_buildConfiguration->createSubConfigWidgets();
foreach (NamedWidget *subConfigWidget, subConfigWidgets)

View File

@@ -191,9 +191,35 @@ BuildStepsWidgetData::~BuildStepsWidgetData()
// We do not own the step
}
BuildStepListWidget::BuildStepListWidget(QWidget *parent) :
NamedWidget(parent)
{ }
BuildStepListWidget::BuildStepListWidget(BuildStepList *bsl, QWidget *parent)
: NamedWidget(parent), m_buildStepList(bsl)
{
setupUi();
connect(bsl, &BuildStepList::stepInserted, this, &BuildStepListWidget::addBuildStep);
connect(bsl, &BuildStepList::stepRemoved, this, &BuildStepListWidget::removeBuildStep);
connect(bsl, &BuildStepList::stepMoved, this, &BuildStepListWidget::stepMoved);
//: %1 is the name returned by BuildStepList::displayName
setDisplayName(tr("%1 Steps").arg(bsl->displayName()));
for (int i = 0; i < bsl->count(); ++i) {
addBuildStep(i);
// addBuilStep expands the config widget by default, which we don't want here
if (m_buildStepsData.at(i)->step->widgetExpandedByDefault()) {
m_buildStepsData.at(i)->detailsWidget->setState(
m_buildStepsData.at(i)->step->wasUserExpanded()
? DetailsWidget::Expanded : DetailsWidget::Collapsed);
}
}
m_noStepsLabel->setVisible(bsl->isEmpty());
m_noStepsLabel->setText(tr("No %1 Steps").arg(m_buildStepList->displayName()));
m_addButton->setText(tr("Add %1 Step").arg(m_buildStepList->displayName()));
updateBuildStepButtonsState();
}
BuildStepListWidget::~BuildStepListWidget()
{
@@ -227,52 +253,6 @@ void BuildStepListWidget::updateEnabledState()
}
}
void BuildStepListWidget::init(BuildStepList *bsl)
{
Q_ASSERT(bsl);
if (bsl == m_buildStepList)
return;
setupUi();
if (m_buildStepList) {
disconnect(m_buildStepList, &BuildStepList::stepInserted,
this, &BuildStepListWidget::addBuildStep);
disconnect(m_buildStepList, &BuildStepList::stepRemoved,
this, &BuildStepListWidget::removeBuildStep);
disconnect(m_buildStepList, &BuildStepList::stepMoved,
this, &BuildStepListWidget::stepMoved);
}
connect(bsl, &BuildStepList::stepInserted, this, &BuildStepListWidget::addBuildStep);
connect(bsl, &BuildStepList::stepRemoved, this, &BuildStepListWidget::removeBuildStep);
connect(bsl, &BuildStepList::stepMoved, this, &BuildStepListWidget::stepMoved);
qDeleteAll(m_buildStepsData);
m_buildStepsData.clear();
m_buildStepList = bsl;
//: %1 is the name returned by BuildStepList::displayName
setDisplayName(tr("%1 Steps").arg(m_buildStepList->displayName()));
for (int i = 0; i < bsl->count(); ++i) {
addBuildStep(i);
// addBuilStep expands the config widget by default, which we don't want here
if (m_buildStepsData.at(i)->step->widgetExpandedByDefault()) {
m_buildStepsData.at(i)->detailsWidget->setState(
m_buildStepsData.at(i)->step->wasUserExpanded()
? DetailsWidget::Expanded : DetailsWidget::Collapsed);
}
}
m_noStepsLabel->setVisible(bsl->isEmpty());
m_noStepsLabel->setText(tr("No %1 Steps").arg(m_buildStepList->displayName()));
m_addButton->setText(tr("Add %1 Step").arg(m_buildStepList->displayName()));
updateBuildStepButtonsState();
}
void BuildStepListWidget::updateAddBuildStepMenu()
{
QMap<QString, QPair<Core::Id, BuildStepFactory *> > map;

View File

@@ -97,11 +97,9 @@ class BuildStepListWidget : public NamedWidget
Q_OBJECT
public:
BuildStepListWidget(QWidget *parent = nullptr);
BuildStepListWidget(BuildStepList *bsl, QWidget *parent = nullptr);
~BuildStepListWidget() override;
void init(BuildStepList *bsl);
private:
void updateAddBuildStepMenu();
void addBuildStep(int pos);

View File

@@ -424,8 +424,7 @@ void RunSettingsWidget::updateDeployConfiguration(DeployConfiguration *dc)
if (m_deployConfigurationWidget)
m_deployLayout->addWidget(m_deployConfigurationWidget);
m_deploySteps = new BuildStepListWidget;
m_deploySteps->init(dc->stepList());
m_deploySteps = new BuildStepListWidget(dc->stepList());
m_deployLayout->addWidget(m_deploySteps);
}