forked from qt-creator/qt-creator
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:
@@ -207,13 +207,11 @@ void BuildSettingsWidget::updateBuildSettings()
|
|||||||
if (generalConfigWidget)
|
if (generalConfigWidget)
|
||||||
addSubWidget(generalConfigWidget);
|
addSubWidget(generalConfigWidget);
|
||||||
|
|
||||||
auto buildStepsWidget = new BuildStepListWidget(this);
|
BuildStepList *buildSteps = m_buildConfiguration->stepList(Constants::BUILDSTEPS_BUILD);
|
||||||
buildStepsWidget->init(m_buildConfiguration->stepList(Constants::BUILDSTEPS_BUILD));
|
addSubWidget(new BuildStepListWidget(buildSteps, this));
|
||||||
addSubWidget(buildStepsWidget);
|
|
||||||
|
|
||||||
auto cleanStepsWidget = new BuildStepListWidget(this);
|
BuildStepList *cleanSteps = m_buildConfiguration->stepList(Constants::BUILDSTEPS_CLEAN);
|
||||||
cleanStepsWidget->init(m_buildConfiguration->stepList(Constants::BUILDSTEPS_CLEAN));
|
addSubWidget(new BuildStepListWidget(cleanSteps, this));
|
||||||
addSubWidget(cleanStepsWidget);
|
|
||||||
|
|
||||||
QList<NamedWidget *> subConfigWidgets = m_buildConfiguration->createSubConfigWidgets();
|
QList<NamedWidget *> subConfigWidgets = m_buildConfiguration->createSubConfigWidgets();
|
||||||
foreach (NamedWidget *subConfigWidget, subConfigWidgets)
|
foreach (NamedWidget *subConfigWidget, subConfigWidgets)
|
||||||
|
|||||||
@@ -191,9 +191,35 @@ BuildStepsWidgetData::~BuildStepsWidgetData()
|
|||||||
// We do not own the step
|
// We do not own the step
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildStepListWidget::BuildStepListWidget(QWidget *parent) :
|
BuildStepListWidget::BuildStepListWidget(BuildStepList *bsl, QWidget *parent)
|
||||||
NamedWidget(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()
|
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()
|
void BuildStepListWidget::updateAddBuildStepMenu()
|
||||||
{
|
{
|
||||||
QMap<QString, QPair<Core::Id, BuildStepFactory *> > map;
|
QMap<QString, QPair<Core::Id, BuildStepFactory *> > map;
|
||||||
|
|||||||
@@ -97,11 +97,9 @@ class BuildStepListWidget : public NamedWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
BuildStepListWidget(QWidget *parent = nullptr);
|
BuildStepListWidget(BuildStepList *bsl, QWidget *parent = nullptr);
|
||||||
~BuildStepListWidget() override;
|
~BuildStepListWidget() override;
|
||||||
|
|
||||||
void init(BuildStepList *bsl);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateAddBuildStepMenu();
|
void updateAddBuildStepMenu();
|
||||||
void addBuildStep(int pos);
|
void addBuildStep(int pos);
|
||||||
|
|||||||
@@ -424,8 +424,7 @@ void RunSettingsWidget::updateDeployConfiguration(DeployConfiguration *dc)
|
|||||||
if (m_deployConfigurationWidget)
|
if (m_deployConfigurationWidget)
|
||||||
m_deployLayout->addWidget(m_deployConfigurationWidget);
|
m_deployLayout->addWidget(m_deployConfigurationWidget);
|
||||||
|
|
||||||
m_deploySteps = new BuildStepListWidget;
|
m_deploySteps = new BuildStepListWidget(dc->stepList());
|
||||||
m_deploySteps->init(dc->stepList());
|
|
||||||
m_deployLayout->addWidget(m_deploySteps);
|
m_deployLayout->addWidget(m_deploySteps);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user