blob: 29d126e38b85893ab5df6fd9b94559b3a6fba15a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "itemdatacache.h"
#include "testsettings.h"
namespace ProjectExplorer { class Project; }
namespace Autotest {
class ITestFramework;
class ITestTool;
namespace Internal {
class TestProjectSettings : public QObject
{
Q_OBJECT
public:
explicit TestProjectSettings(ProjectExplorer::Project *project);
~TestProjectSettings();
void setUseGlobalSettings(bool useGlobal);
bool useGlobalSettings() const { return m_useGlobalSettings; }
void setRunAfterBuild(RunAfterBuildMode mode) {m_runAfterBuild = mode; }
RunAfterBuildMode runAfterBuild() const { return m_runAfterBuild; }
QHash<ITestFramework *, bool> activeFrameworks() const { return m_activeTestFrameworks; }
void activateFramework(const Utils::Id &id, bool activate);
QHash<ITestTool *, bool> activeTestTools() const { return m_activeTestTools; }
void activateTestTool(const Utils::Id &id, bool activate);
Internal::ItemDataCache<Qt::CheckState> *checkStateCache() { return &m_checkStateCache; }
bool limitToFilters() const { return m_limitToFilter; }
void setLimitToFilter(bool enable) { m_limitToFilter = enable; }
const QStringList pathFilters() const { return m_pathFilters; }
void setPathFilters(const QStringList &filters) { m_pathFilters = filters; }
void addPathFilter(const QString &filter) { m_pathFilters.append(filter); }
private:
void load();
void save();
ProjectExplorer::Project *m_project;
bool m_useGlobalSettings = true;
bool m_limitToFilter = false;
RunAfterBuildMode m_runAfterBuild = RunAfterBuildMode::None;
QHash<ITestFramework *, bool> m_activeTestFrameworks;
QHash<ITestTool *, bool> m_activeTestTools;
QStringList m_pathFilters;
Internal::ItemDataCache<Qt::CheckState> m_checkStateCache;
};
} // namespace Internal
} // namespace Autotest
|