forked from qt-creator/qt-creator
ProjectExplorer: Prepare more flexibility to aspect layouting
This hides the explicit use of a QFormLayout from the aspect interface in a new LayoutBuilder class. That currently works only on a QFormLayout in the back, but opens the possibility to use e.g. a QGridLayout as use on the Kits and some option pages. The aspects now only announce sub-widgets they like to add, actuall positioning is does by a new LayoutBuilder class, also cramming several widgets in an hbox in the right column of the QFormLayout is done there. Change-Id: I2b788192c465f2ab82261849d34e514697c5a491 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -71,9 +71,8 @@ private:
|
||||
friend class AdbCommandsWidget;
|
||||
};
|
||||
|
||||
AdbCommandsWidget::AdbCommandsWidget(QWidget *parent) :
|
||||
QGroupBox(parent),
|
||||
d(new AdbCommandsWidgetPrivate(this))
|
||||
AdbCommandsWidget::AdbCommandsWidget()
|
||||
: d(new AdbCommandsWidgetPrivate(this))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ class AdbCommandsWidget : public QGroupBox
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit AdbCommandsWidget(QWidget *parent);
|
||||
AdbCommandsWidget();
|
||||
~AdbCommandsWidget() override;
|
||||
|
||||
QStringList commandsList() const;
|
||||
|
||||
@@ -62,13 +62,13 @@ BaseStringListAspect::BaseStringListAspect(const QString &settingsKey, Core::Id
|
||||
|
||||
BaseStringListAspect::~BaseStringListAspect() = default;
|
||||
|
||||
void BaseStringListAspect::addToConfigurationLayout(QFormLayout *layout)
|
||||
void BaseStringListAspect::addToLayout(LayoutBuilder &builder)
|
||||
{
|
||||
QTC_CHECK(!m_widget);
|
||||
m_widget = new AdbCommandsWidget(layout->parentWidget());
|
||||
m_widget = new AdbCommandsWidget;
|
||||
m_widget->setCommandList(m_value);
|
||||
m_widget->setTitleText(m_label);
|
||||
layout->addRow(m_widget);
|
||||
builder.addItem(m_widget.data());
|
||||
connect(m_widget.data(), &AdbCommandsWidget::commandsChanged, this, [this] {
|
||||
m_value = m_widget->commandsList();
|
||||
emit changed();
|
||||
|
||||
@@ -43,7 +43,7 @@ public:
|
||||
Core::Id id = Core::Id());
|
||||
~BaseStringListAspect() override;
|
||||
|
||||
void addToConfigurationLayout(QFormLayout *layout) override;
|
||||
void addToLayout(ProjectExplorer::LayoutBuilder &builder) override;
|
||||
|
||||
QStringList value() const;
|
||||
void setValue(const QStringList &val);
|
||||
|
||||
Reference in New Issue
Block a user