diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-05-08 16:47:27 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-05-11 12:08:02 +0000 |
commit | de751e5b69f66206ea47ef8dc2a81a5e087f5b17 (patch) | |
tree | 3e318227db5e2b8a6fd813efdab570c2c73f435b /src/plugins/clangtools/clangtoolsprojectsettings.h | |
parent | ba6f6f41d0aa36fc6a930d0585b4a170cd26f3f8 (diff) |
ClangTools: Move CSA's project settings into ClangToolsProjectSettings
Change-Id: I830c280e718aae416cd487eb5d02caf1e873f7c1
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/clangtools/clangtoolsprojectsettings.h')
-rw-r--r-- | src/plugins/clangtools/clangtoolsprojectsettings.h | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.h b/src/plugins/clangtools/clangtoolsprojectsettings.h index c2e14e5f21..d29c0405d7 100644 --- a/src/plugins/clangtools/clangtoolsprojectsettings.h +++ b/src/plugins/clangtools/clangtoolsprojectsettings.h @@ -33,8 +33,39 @@ namespace ClangTools { namespace Internal { +class Diagnostic; + +class SuppressedDiagnostic +{ +public: + SuppressedDiagnostic(const Utils::FileName &filePath, const QString &description, + const QString &contextKind, const QString &context, int uniquifier) + : filePath(filePath) + , description(description) + , contextKind(contextKind) + , context(context) + , uniquifier(uniquifier) + { + } + + SuppressedDiagnostic(const Diagnostic &diag); + + Utils::FileName filePath; // Relative for files in project, absolute otherwise. + QString description; + QString contextKind; + QString context; + int uniquifier; +}; + +inline bool operator==(const SuppressedDiagnostic &d1, const SuppressedDiagnostic &d2) +{ + return d1.filePath == d2.filePath && d1.description == d2.description + && d1.contextKind == d2.contextKind && d1.context == d2.context + && d1.uniquifier == d2.uniquifier; +} + +typedef QList<SuppressedDiagnostic> SuppressedDiagnosticsList; -// TODO: Incorporate Clang Static Analyzer's ProjectSettings class ClangToolsProjectSettings : public QObject { Q_OBJECT @@ -49,6 +80,14 @@ public: QSet<Utils::FileName> selectedFiles() const { return m_selectedFiles; } void setSelectedFiles(const QSet<Utils::FileName> &value) { m_selectedFiles = value; } + SuppressedDiagnosticsList suppressedDiagnostics() const { return m_suppressedDiagnostics; } + void addSuppressedDiagnostic(const SuppressedDiagnostic &diag); + void removeSuppressedDiagnostic(const SuppressedDiagnostic &diag); + void removeAllSuppressedDiagnostics(); + +signals: + void suppressedDiagnosticsChanged(); + private: void load(); void store(); @@ -56,9 +95,9 @@ private: ProjectExplorer::Project *m_project; QSet<Utils::FileName> m_selectedDirs; QSet<Utils::FileName> m_selectedFiles; + SuppressedDiagnosticsList m_suppressedDiagnostics; }; -// TODO: Incorporate Clang Static Analyzer's ProjectSettingsManager class ClangToolsProjectSettingsManager { public: |