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:
@@ -442,8 +442,6 @@ QString CMakeBuildStep::activeRunConfigTarget() const
|
||||
|
||||
QWidget *CMakeBuildStep::createConfigWidget()
|
||||
{
|
||||
auto widget = new QWidget;
|
||||
|
||||
auto updateDetails = [this] {
|
||||
ProcessParameters param;
|
||||
setupProcessParameters(¶m);
|
||||
@@ -453,10 +451,6 @@ QWidget *CMakeBuildStep::createConfigWidget()
|
||||
|
||||
setDisplayName(tr("Build", "ConfigWidget display name."));
|
||||
|
||||
LayoutBuilder builder(widget);
|
||||
builder.addRow(m_cmakeArguments);
|
||||
builder.addRow(m_toolArguments);
|
||||
|
||||
auto buildTargetsView = new QTreeView;
|
||||
buildTargetsView->setMinimumHeight(200);
|
||||
buildTargetsView->setModel(&m_buildTargetModel);
|
||||
@@ -466,7 +460,11 @@ QWidget *CMakeBuildStep::createConfigWidget()
|
||||
auto frame = ItemViewFind::createSearchableWrapper(buildTargetsView,
|
||||
ItemViewFind::LightColored);
|
||||
|
||||
Layouting::Form builder;
|
||||
builder.addRow(m_cmakeArguments);
|
||||
builder.addRow(m_toolArguments);
|
||||
builder.addRow({new QLabel(tr("Targets:")), frame});
|
||||
auto widget = builder.emerge();
|
||||
|
||||
updateDetails();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user