AutoTest: Tweak run after successful build

Make it possible to distinguish between all and selected
test cases also for the automatic run after build feature.

Change-Id: I91715a7ae4f09cea2e31844940a6b21ae9e62157
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2019-09-13 10:50:32 +02:00
parent 4a20a596c8
commit a8cad2038e
9 changed files with 87 additions and 31 deletions

View File

@@ -29,7 +29,6 @@
#include "testprojectsettings.h"
#include <QBoxLayout>
#include <QCheckBox>
#include <QComboBox>
#include <QLabel>
#include <QTreeWidget>
@@ -61,12 +60,19 @@ ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *p
m_activeFrameworks->setRootIsDecorated(false);
groupBoxLayout->addWidget(new QLabel(tr("Active frameworks:")));
groupBoxLayout->addWidget(m_activeFrameworks);
m_runAfterBuild = new QCheckBox(tr("Automatically run after build"));
m_runAfterBuild->setChecked(m_projectSettings->runAfterBuild());
groupBoxLayout->addWidget(m_runAfterBuild);
auto horizontalLayout = new QHBoxLayout;
horizontalLayout->addWidget(new QLabel(tr("Automatically run tests after build")));
m_runAfterBuild = new QComboBox;
m_runAfterBuild->addItem(tr("None"));
m_runAfterBuild->addItem(tr("All"));
m_runAfterBuild->addItem(tr("Selected"));
m_runAfterBuild->setCurrentIndex(int(m_projectSettings->runAfterBuild()));
horizontalLayout->addWidget(m_runAfterBuild);
horizontalLayout->addItem(createSpacer(QSizePolicy::Expanding, QSizePolicy::Minimum));
groupBoxLayout->addLayout(horizontalLayout);
generalWidget->setLayout(groupBoxLayout);
auto horizontalLayout = new QHBoxLayout;
horizontalLayout = new QHBoxLayout;
horizontalLayout->addWidget(m_useGlobalSettings);
horizontalLayout->addItem(createSpacer(QSizePolicy::Expanding, QSizePolicy::Minimum));
verticalLayout->addLayout(horizontalLayout);
@@ -90,8 +96,10 @@ ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *p
});
connect(m_activeFrameworks, &QTreeWidget::itemChanged,
this, &ProjectTestSettingsWidget::onActiveFrameworkChanged);
connect(m_runAfterBuild, &QCheckBox::toggled,
m_projectSettings, &TestProjectSettings::setRunAfterBuild);
connect(m_runAfterBuild, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, [this](int index) {
m_projectSettings->setRunAfterBuild(RunAfterBuildMode(index));
});
m_syncFrameworksTimer.setSingleShot(true);
connect(&m_syncFrameworksTimer, &QTimer::timeout,
TestTreeModel::instance(), &TestTreeModel::synchronizeTestFrameworks);