forked from qt-creator/qt-creator
ClangTools: Attach ClangToolsProjectSettings data to project itself
Easier to reason about life time. Change-Id: I2c61527532f6faa344fc59d858921e66daaf0b7e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -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>)
|
||||
|
||||
Reference in New Issue
Block a user