aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangtools/clangtoolsprojectsettings.h
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-13 17:38:33 +0100
committerhjk <hjk@qt.io>2020-01-14 14:04:36 +0000
commit82265d51a7227f3a4d2b31dcf9987a3e8a0b16dc (patch)
tree71aeb6645cdd330c9e5a9b06c7cd38a81f367b1d /src/plugins/clangtools/clangtoolsprojectsettings.h
parent5a4b0b565a0996b3b0955aea088521dce1b73842 (diff)
ClangTools: Attach ClangToolsProjectSettings data to project itself
Easier to reason about life time. Change-Id: I2c61527532f6faa344fc59d858921e66daaf0b7e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/clangtools/clangtoolsprojectsettings.h')
-rw-r--r--src/plugins/clangtools/clangtoolsprojectsettings.h19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.h b/src/plugins/clangtools/clangtoolsprojectsettings.h
index aaf045f056..1b872c3c31 100644
--- a/src/plugins/clangtools/clangtoolsprojectsettings.h
+++ b/src/plugins/clangtools/clangtoolsprojectsettings.h
@@ -87,6 +87,9 @@ public:
void removeSuppressedDiagnostic(const SuppressedDiagnostic &diag);
void removeAllSuppressedDiagnostics();
+ using ClangToolsProjectSettingsPtr = QSharedPointer<ClangToolsProjectSettings>;
+ static ClangToolsProjectSettingsPtr getSettings(ProjectExplorer::Project *project);
+
signals:
void suppressedDiagnosticsChanged();
@@ -106,19 +109,7 @@ private:
SuppressedDiagnosticsList m_suppressedDiagnostics;
};
-class ClangToolsProjectSettingsManager
-{
-public:
- ClangToolsProjectSettingsManager();
-
- static ClangToolsProjectSettings *getSettings(ProjectExplorer::Project *project);
-
-private:
- static void handleProjectToBeRemoved(ProjectExplorer::Project *project);
-
- using SettingsMap = QHash<ProjectExplorer::Project *, QSharedPointer<ClangToolsProjectSettings>>;
- static SettingsMap m_settings;
-};
-
} // namespace Internal
} // namespace ClangTools
+
+Q_DECLARE_METATYPE(QSharedPointer<ClangTools::Internal::ClangToolsProjectSettings>)