aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/buildstep.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/buildstep.cpp')
-rw-r--r--src/plugins/projectexplorer/buildstep.cpp31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp
index d5aaf6ea78..6e20887d70 100644
--- a/src/plugins/projectexplorer/buildstep.cpp
+++ b/src/plugins/projectexplorer/buildstep.cpp
@@ -157,6 +157,26 @@ void BuildStep::cancel()
doCancel();
}
+QWidget *BuildStep::doCreateConfigWidget()
+{
+ QWidget *widget = createConfigWidget();
+
+ const auto recreateSummary = [this] {
+ if (m_summaryUpdater)
+ setSummaryText(m_summaryUpdater());
+ };
+
+ for (BaseAspect *aspect : qAsConst(m_aspects))
+ connect(aspect, &BaseAspect::changed, widget, recreateSummary);
+
+ connect(buildConfiguration(), &BuildConfiguration::buildDirectoryChanged,
+ widget, recreateSummary);
+
+ recreateSummary();
+
+ return widget;
+}
+
QWidget *BuildStep::createConfigWidget()
{
auto widget = new QWidget;
@@ -165,12 +185,8 @@ QWidget *BuildStep::createConfigWidget()
for (BaseAspect *aspect : qAsConst(m_aspects)) {
if (aspect->isVisible())
aspect->addToLayout(builder.finishRow());
- connect(aspect, &BaseAspect::changed, this, &BuildStep::recreateSummary);
}
- connect(buildConfiguration(), &BuildConfiguration::buildDirectoryChanged,
- this, &BuildStep::recreateSummary);
-
if (m_addMacroExpander)
VariableChooser::addSupportForChildWidgets(widget, macroExpander());
@@ -500,13 +516,6 @@ void BuildStep::setSummaryText(const QString &summaryText)
void BuildStep::setSummaryUpdater(const std::function<QString()> &summaryUpdater)
{
m_summaryUpdater = summaryUpdater;
- recreateSummary();
-}
-
-void BuildStep::recreateSummary()
-{
- if (m_summaryUpdater)
- setSummaryText(m_summaryUpdater());
}
} // ProjectExplorer