forked from qt-creator/qt-creator
ProjectExplorer: Start dissolving PanelsWidget
Plan is to dissolve PanelsWidget completely, and replace it with more directly created widgets to reduce some widget-in-widget layering. Change-Id: I72ffce7544ed761a97527d8ead902f21a3a88538 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
#include "buildconfiguration.h"
|
#include "buildconfiguration.h"
|
||||||
#include "buildinfo.h"
|
#include "buildinfo.h"
|
||||||
#include "buildmanager.h"
|
#include "buildmanager.h"
|
||||||
|
#include "panelswidget.h"
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
#include "projectconfigurationmodel.h"
|
#include "projectconfigurationmodel.h"
|
||||||
#include "projectexplorertr.h"
|
#include "projectexplorertr.h"
|
||||||
@@ -355,7 +356,9 @@ void BuildSettingsWidget::deleteConfiguration(BuildConfiguration *deleteConfigur
|
|||||||
|
|
||||||
QWidget *createBuildSettingsWidget(Target *target)
|
QWidget *createBuildSettingsWidget(Target *target)
|
||||||
{
|
{
|
||||||
return new BuildSettingsWidget(target);
|
auto panel = new PanelsWidget(true);
|
||||||
|
panel->addWidget(new BuildSettingsWidget(target));
|
||||||
|
return panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // ProjectExplorer::Internal
|
} // ProjectExplorer::Internal
|
||||||
|
@@ -56,19 +56,6 @@ PanelsWidget::PanelsWidget(bool addStretch)
|
|||||||
//layout->addWidget(new FindToolBarPlaceHolder(this));
|
//layout->addWidget(new FindToolBarPlaceHolder(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
PanelsWidget::PanelsWidget(QWidget *widget, bool addStretch)
|
|
||||||
: PanelsWidget(addStretch)
|
|
||||||
{
|
|
||||||
addWidget(widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
PanelsWidget::PanelsWidget(ProjectSettingsWidget *widget)
|
|
||||||
: PanelsWidget(!widget->expanding())
|
|
||||||
{
|
|
||||||
addGlobalSettingsProperties(widget);
|
|
||||||
addWidget(widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
PanelsWidget::~PanelsWidget() = default;
|
PanelsWidget::~PanelsWidget() = default;
|
||||||
|
|
||||||
void PanelsWidget::addWidget(QWidget *widget)
|
void PanelsWidget::addWidget(QWidget *widget)
|
||||||
|
@@ -14,18 +14,15 @@ namespace ProjectExplorer::Internal {
|
|||||||
class PanelsWidget final : public QWidget
|
class PanelsWidget final : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PanelsWidget(QWidget *widget, bool addStretch = true);
|
explicit PanelsWidget(bool addStretch);
|
||||||
PanelsWidget(ProjectSettingsWidget *widget);
|
|
||||||
~PanelsWidget() final;
|
~PanelsWidget() final;
|
||||||
|
|
||||||
static int constexpr PanelVMargin = 14;
|
static int constexpr PanelVMargin = 14;
|
||||||
|
|
||||||
private:
|
|
||||||
explicit PanelsWidget(bool addStretch);
|
|
||||||
|
|
||||||
void addGlobalSettingsProperties(ProjectSettingsWidget *widget);
|
void addGlobalSettingsProperties(ProjectSettingsWidget *widget);
|
||||||
void addWidget(QWidget *widget);
|
void addWidget(QWidget *widget);
|
||||||
|
|
||||||
|
private:
|
||||||
QVBoxLayout *m_layout;
|
QVBoxLayout *m_layout;
|
||||||
QWidget *m_root;
|
QWidget *m_root;
|
||||||
};
|
};
|
||||||
|
@@ -330,7 +330,7 @@ private:
|
|||||||
const QPointer<Project> m_project;
|
const QPointer<Project> m_project;
|
||||||
bool m_rebuildScheduled = false;
|
bool m_rebuildScheduled = false;
|
||||||
|
|
||||||
mutable QPointer<PanelsWidget> m_targetSetupPage;
|
mutable QPointer<QWidget> m_targetSetupPage;
|
||||||
QObject m_guard;
|
QObject m_guard;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -515,8 +515,11 @@ ProjectPanels MiscSettingsPanelItem::panelWidgets() const
|
|||||||
{
|
{
|
||||||
if (!m_widget) {
|
if (!m_widget) {
|
||||||
ProjectSettingsWidget *inner = m_factory->createWidget(m_project);
|
ProjectSettingsWidget *inner = m_factory->createWidget(m_project);
|
||||||
m_widget = new PanelsWidget(inner);
|
auto panel = new PanelsWidget(true);
|
||||||
m_widget->setFocusProxy(inner);
|
panel->addGlobalSettingsProperties(inner);
|
||||||
|
panel->addWidget(inner);
|
||||||
|
panel->setFocusProxy(inner);
|
||||||
|
m_widget = panel;
|
||||||
}
|
}
|
||||||
ProjectPanel panel;
|
ProjectPanel panel;
|
||||||
panel.displayName = m_factory->displayName();
|
panel.displayName = m_factory->displayName();
|
||||||
@@ -885,9 +888,9 @@ public:
|
|||||||
ProjectPanels panelWidgets() const final
|
ProjectPanels panelWidgets() const final
|
||||||
{
|
{
|
||||||
if (!m_buildSettingsWidget)
|
if (!m_buildSettingsWidget)
|
||||||
m_buildSettingsWidget = new PanelsWidget(createBuildSettingsWidget(target()));
|
m_buildSettingsWidget = createBuildSettingsWidget(target());
|
||||||
if (!m_runSettingsWidget)
|
if (!m_runSettingsWidget)
|
||||||
m_runSettingsWidget = new PanelsWidget(createRunSettingsWidget(target()));
|
m_runSettingsWidget = createRunSettingsWidget(target());
|
||||||
|
|
||||||
return {
|
return {
|
||||||
ProjectPanel(Tr::tr("Build Settings"), m_buildSettingsWidget),
|
ProjectPanel(Tr::tr("Build Settings"), m_buildSettingsWidget),
|
||||||
@@ -1097,8 +1100,10 @@ ProjectPanels TargetGroupItem::panelWidgets() const
|
|||||||
{
|
{
|
||||||
if (!m_targetSetupPage) {
|
if (!m_targetSetupPage) {
|
||||||
auto inner = new TargetSetupPageWrapper(m_project);
|
auto inner = new TargetSetupPageWrapper(m_project);
|
||||||
m_targetSetupPage = new PanelsWidget(inner, false);
|
auto panel = new PanelsWidget(false);
|
||||||
m_targetSetupPage->setFocusProxy(inner);
|
panel->addWidget(inner);
|
||||||
|
panel->setFocusProxy(inner);
|
||||||
|
m_targetSetupPage = panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectPanel panel;
|
ProjectPanel panel;
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
#include "buildmanager.h"
|
#include "buildmanager.h"
|
||||||
#include "buildstepspage.h"
|
#include "buildstepspage.h"
|
||||||
#include "deployconfiguration.h"
|
#include "deployconfiguration.h"
|
||||||
|
#include "panelswidget.h"
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
#include "projectconfigurationmodel.h"
|
#include "projectconfigurationmodel.h"
|
||||||
#include "projectexplorerconstants.h"
|
#include "projectexplorerconstants.h"
|
||||||
@@ -790,7 +791,9 @@ void RunSettingsWidget::updateEnabledState()
|
|||||||
|
|
||||||
QWidget *createRunSettingsWidget(Target *target)
|
QWidget *createRunSettingsWidget(Target *target)
|
||||||
{
|
{
|
||||||
return new RunSettingsWidget(target);
|
auto panel = new PanelsWidget(true);
|
||||||
|
panel->addWidget(new RunSettingsWidget(target));
|
||||||
|
return panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // ProjectExplorer::Internal
|
} // ProjectExplorer::Internal
|
||||||
|
Reference in New Issue
Block a user