diff --git a/src/plugins/projectexplorer/projectconfiguration.cpp b/src/plugins/projectexplorer/projectconfiguration.cpp index 490d9f4ffeb..e52b02957b1 100644 --- a/src/plugins/projectexplorer/projectconfiguration.cpp +++ b/src/plugins/projectexplorer/projectconfiguration.cpp @@ -135,9 +135,13 @@ QLayout *LayoutBuilder::layout() const LayoutBuilder &LayoutBuilder::addItem(LayoutItem item) { - if (item.widget && !item.widget->parent()) - item.widget->setParent(m_layout->parentWidget()); - m_pendingItems.append(item); + if (item.aspect) { + item.aspect->addToLayout(*this); + } else { + if (item.widget && !item.widget->parent()) + item.widget->setParent(m_layout->parentWidget()); + m_pendingItems.append(item); + } return *this; } diff --git a/src/plugins/projectexplorer/projectconfiguration.h b/src/plugins/projectexplorer/projectconfiguration.h index 8c8ab9bf2b4..423b70ca8cc 100644 --- a/src/plugins/projectexplorer/projectconfiguration.h +++ b/src/plugins/projectexplorer/projectconfiguration.h @@ -39,6 +39,7 @@ namespace ProjectExplorer { class Project; +class ProjectConfigurationAspect; class ProjectConfigurationAspects; class Target; @@ -53,10 +54,12 @@ public: public: LayoutItem(QLayout *layout) : layout(layout) {} LayoutItem(QWidget *widget) : widget(widget) {} + LayoutItem(ProjectConfigurationAspect *aspect) : aspect(aspect) {} LayoutItem(const QString &text) : text(text) {} QLayout *layout = nullptr; QWidget *widget = nullptr; + ProjectConfigurationAspect *aspect = nullptr; QString text; };