diff --git a/src/plugins/projectexplorer/panelswidget.cpp b/src/plugins/projectexplorer/panelswidget.cpp index e2828c8306d..eb101e25b30 100644 --- a/src/plugins/projectexplorer/panelswidget.cpp +++ b/src/plugins/projectexplorer/panelswidget.cpp @@ -147,6 +147,12 @@ PanelsWidget::PanelsWidget(QWidget *parent) : //layout->addWidget(new FindToolBarPlaceHolder(this)); } +PanelsWidget::PanelsWidget(const QString &displayName, const QIcon &icon, QWidget *widget) + : PanelsWidget() +{ + addPropertiesPanel(displayName, icon, widget); +} + PanelsWidget::~PanelsWidget() { } diff --git a/src/plugins/projectexplorer/panelswidget.h b/src/plugins/projectexplorer/panelswidget.h index ba4ffb2692b..52cd5935083 100644 --- a/src/plugins/projectexplorer/panelswidget.h +++ b/src/plugins/projectexplorer/panelswidget.h @@ -42,6 +42,8 @@ class PROJECTEXPLORER_EXPORT PanelsWidget : public QWidget public: explicit PanelsWidget(QWidget *parent = nullptr); + PanelsWidget(const QString &displayName, const QIcon &icon, + QWidget *widget); ~PanelsWidget() override; void addPropertiesPanel(const QString &displayName, const QIcon &icon, diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 808ee45c5d5..f5ed8d4ca29 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -103,13 +103,11 @@ QVariant MiscSettingsPanelItem::data(int column, int role) const if (role == PanelWidgetRole) { if (!m_widget) { - auto panelsWidget = new PanelsWidget; QWidget *widget = m_factory->createWidget(m_project); - panelsWidget->addPropertiesPanel(m_factory->displayName(), - QIcon(m_factory->icon()), - widget); - panelsWidget->setFocusProxy(widget); - m_widget = panelsWidget; + m_widget = new PanelsWidget(m_factory->displayName(), + QIcon(m_factory->icon()), + widget); + m_widget->setFocusProxy(widget); } return QVariant::fromValue(m_widget.data()); diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index 69cec0e85a8..25d7a40a3f0 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -248,27 +248,23 @@ void TargetGroupItemPrivate::ensureWidget() } if (!m_configurePage) { - auto panelsWidget = new PanelsWidget; auto widget = new TargetSetupPageWrapper(m_project); - panelsWidget->addPropertiesPanel(tr("Configure Project"), - QIcon(":/projectexplorer/images/unconfigured.png"), - widget); - panelsWidget->setFocusProxy(widget); - m_configurePage = panelsWidget; + m_configurePage = new PanelsWidget(tr("Configure Project"), + QIcon(":/projectexplorer/images/unconfigured.png"), + widget); + m_configurePage->setFocusProxy(widget); } if (!m_configuredPage) { - auto panelsWidget = new PanelsWidget; auto widget = new QWidget; auto label = new QLabel("This project is already configured."); auto layout = new QVBoxLayout(widget); layout->setMargin(0); layout->addWidget(label); layout->addStretch(10); - panelsWidget->addPropertiesPanel(tr("Configure Project"), - QIcon(":/projectexplorer/images/unconfigured.png"), - widget); - m_configuredPage = panelsWidget; + m_configuredPage = new PanelsWidget(tr("Configure Project"), + QIcon(":/projectexplorer/images/unconfigured.png"), + widget); } } @@ -608,10 +604,7 @@ public: l->addWidget(widget); l->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding)); l->setContentsMargins(QMargins()); - - auto result = new PanelsWidget; - result->addPropertiesPanel(displayName, QIcon(icon), w); - return result; + return new PanelsWidget(displayName, QIcon(icon), w); } QWidget *panel() const