diff options
Diffstat (limited to 'plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticmodel.h')
-rw-r--r-- | plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticmodel.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticmodel.h b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticmodel.h index 68dcf7ed05..a2dc49c26c 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticmodel.h +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticmodel.h @@ -20,8 +20,15 @@ #define CLANGSTATICANALYZERDIAGNOSTICMODEL_H #include "clangstaticanalyzerlogfilereader.h" +#include "clangstaticanalyzerprojectsettings.h" + +#include <utils/fileutils.h> #include <QAbstractListModel> +#include <QPointer> +#include <QSortFilterProxyModel> + +namespace ProjectExplorer { class Project; } namespace ClangStaticAnalyzer { namespace Internal { @@ -45,6 +52,26 @@ private: QList<Diagnostic> m_diagnostics; }; +class ClangStaticAnalyzerDiagnosticFilterModel : public QSortFilterProxyModel +{ + Q_OBJECT + +public: + ClangStaticAnalyzerDiagnosticFilterModel(QObject *parent = 0); + + void setProject(ProjectExplorer::Project *project); + void addSuppressedDiagnostic(const SuppressedDiagnostic &diag); + ProjectExplorer::Project *project() const { return m_project; } + +private: + bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; + void handleSuppressedDiagnosticsChanged(); + + QPointer<ProjectExplorer::Project> m_project; + Utils::FileName m_lastProjectDirectory; + SuppressedDiagnosticsList m_suppressedDiagnostics; +}; + } // namespace Internal } // namespace ClangStaticAnalyzer |