forked from qt-creator/qt-creator
Utils: Avoid intermediate widgets when using LayoutBuilder
In most cases, the layout constructed in the builder was set on a widget which in turn was put into a vbox in the actual widget. This is not necessary, but needs some re-ordering. Also make sure that using not-yet-parented widgets during layout construction does not cause visible artifacts. Change-Id: I75727a571da093d3131ea6fba467c2c646cdb6f1 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -185,10 +185,11 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc)
|
||||
});
|
||||
auto initialCMakeAspect = bc->aspect<InitialCMakeArgumentsAspect>();
|
||||
auto aspectWidget = new QWidget;
|
||||
LayoutBuilder aspectWidgetBuilder(aspectWidget);
|
||||
Layouting::Form aspectWidgetBuilder;
|
||||
buildDirAspect->addToLayout(aspectWidgetBuilder);
|
||||
aspectWidgetBuilder.finishRow();
|
||||
initialCMakeAspect->addToLayout(aspectWidgetBuilder);
|
||||
aspectWidgetBuilder.attachTo(aspectWidget, false);
|
||||
mainLayout->addWidget(aspectWidget, row, 0, 1, -1);
|
||||
++row;
|
||||
|
||||
@@ -196,9 +197,9 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc)
|
||||
connect(qmlDebugAspect, &QtSupport::QmlDebuggingAspect::changed, this, [this]() {
|
||||
updateButtonState();
|
||||
});
|
||||
auto widget = new QWidget;
|
||||
LayoutBuilder builder(widget);
|
||||
Layouting::Form builder;
|
||||
qmlDebugAspect->addToLayout(builder);
|
||||
auto widget = builder.emerge();
|
||||
mainLayout->addWidget(widget, row, 0, 1, -1);
|
||||
|
||||
++row;
|
||||
|
||||
Reference in New Issue
Block a user