AutoTest: Add project based {en|dis}abling of test frameworks

Provide integration into the 'Project' view which allows to set
some settings on a per project base.
For now only enabling or disabling of test frameworks.

Task-number: QTCREATORBUG-16704
Change-Id: Iedd9a300164931e07a21cbb4e5a222be3266c81e
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2019-08-05 15:47:10 +02:00
committed by David Schulz
parent edcd955aad
commit 43e27f76b3
13 changed files with 476 additions and 49 deletions

View File

@@ -165,7 +165,6 @@ void TestSettingsPage::apply()
if (!m_widget) // page was not shown at all
return;
const TestSettings newSettings = m_widget->settings();
bool frameworkSyncNecessary = newSettings.frameworks != m_settings->frameworks;
const QList<Core::Id> changedIds = Utils::filtered(newSettings.frameworksGrouping.keys(),
[newSettings, this] (const Core::Id &id) {
return newSettings.frameworksGrouping[id] != m_settings->frameworksGrouping[id];
@@ -174,9 +173,8 @@ void TestSettingsPage::apply()
m_settings->toSettings(Core::ICore::settings());
TestFrameworkManager *frameworkManager = TestFrameworkManager::instance();
frameworkManager->activateFrameworksFromSettings(m_settings);
if (frameworkSyncNecessary)
TestTreeModel::instance()->syncTestFrameworks();
else if (!changedIds.isEmpty())
TestTreeModel::instance()->scheduleTestFrameworksSync(true);
if (!changedIds.isEmpty())
TestTreeModel::instance()->rebuild(changedIds);
}