Autotest: Use LayoutBuilder in ProjectTestSettingsWidget

Change-Id: If9f67564323835334e123178806467a999ab73a1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Alessandro Portale
2023-06-05 23:14:51 +02:00
parent 9144706000
commit f3654b8fd2

View File

@@ -10,11 +10,10 @@
#include "testtreemodel.h" #include "testtreemodel.h"
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/layoutbuilder.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QBoxLayout>
#include <QComboBox> #include <QComboBox>
#include <QLabel>
#include <QTreeWidget> #include <QTreeWidget>
namespace Autotest { namespace Autotest {
@@ -25,46 +24,45 @@ enum ItemDataRole {
BaseTypeRole BaseTypeRole
}; };
static QSpacerItem *createSpacer(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
{
return new QSpacerItem(20, 10, horizontal, vertical);
}
ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *project, ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *project,
QWidget *parent) QWidget *parent)
: ProjectExplorer::ProjectSettingsWidget(parent) : ProjectExplorer::ProjectSettingsWidget(parent)
, m_projectSettings(AutotestPlugin::projectSettings(project)) , m_projectSettings(AutotestPlugin::projectSettings(project))
{ {
setGlobalSettingsId(Constants::AUTOTEST_SETTINGS_ID); setGlobalSettingsId(Constants::AUTOTEST_SETTINGS_ID);
auto verticalLayout = new QVBoxLayout(this);
verticalLayout->setContentsMargins(0, 0, 0, 0);
auto generalWidget = new QWidget; QWidget *generalWidget;
auto groupBoxLayout = new QVBoxLayout;
groupBoxLayout->setContentsMargins(0, 0, 0, 0);
m_activeFrameworks = new QTreeWidget; m_activeFrameworks = new QTreeWidget;
m_activeFrameworks->setHeaderHidden(true); m_activeFrameworks->setHeaderHidden(true);
m_activeFrameworks->setRootIsDecorated(false); m_activeFrameworks->setRootIsDecorated(false);
groupBoxLayout->addWidget(new QLabel(Tr::tr("Active frameworks:")));
groupBoxLayout->addWidget(m_activeFrameworks);
auto horizontalLayout = new QHBoxLayout;
horizontalLayout->addWidget(new QLabel(Tr::tr("Automatically run tests after build")));
m_runAfterBuild = new QComboBox; m_runAfterBuild = new QComboBox;
m_runAfterBuild->addItem(Tr::tr("None")); m_runAfterBuild->addItem(Tr::tr("None"));
m_runAfterBuild->addItem(Tr::tr("All")); m_runAfterBuild->addItem(Tr::tr("All"));
m_runAfterBuild->addItem(Tr::tr("Selected")); m_runAfterBuild->addItem(Tr::tr("Selected"));
m_runAfterBuild->setCurrentIndex(int(m_projectSettings->runAfterBuild())); m_runAfterBuild->setCurrentIndex(int(m_projectSettings->runAfterBuild()));
horizontalLayout->addWidget(m_runAfterBuild);
horizontalLayout->addItem(createSpacer(QSizePolicy::Expanding, QSizePolicy::Minimum));
groupBoxLayout->addLayout(horizontalLayout);
generalWidget->setLayout(groupBoxLayout);
horizontalLayout = new QHBoxLayout; using namespace Layouting;
verticalLayout->addItem(createSpacer(QSizePolicy::Minimum, QSizePolicy::Fixed)); Column {
horizontalLayout->addWidget(generalWidget); Widget {
horizontalLayout->addItem(createSpacer(QSizePolicy::Expanding, QSizePolicy::Minimum)); bindTo(&generalWidget),
verticalLayout->addLayout(horizontalLayout); Column {
verticalLayout->addItem(createSpacer(QSizePolicy::Minimum, QSizePolicy::Expanding)); Row {
Group {
title(Tr::tr("Active frameworks:")),
Column { m_activeFrameworks },
},
st,
},
Row {
Tr::tr("Automatically run tests after build"),
m_runAfterBuild,
st,
},
noMargin(),
},
},
noMargin(),
}.attachTo(this);
generalWidget->setDisabled(m_projectSettings->useGlobalSettings()); generalWidget->setDisabled(m_projectSettings->useGlobalSettings());