diff options
Diffstat (limited to 'src/plugins/cpptools/cppcodemodelsettings.h')
-rw-r--r-- | src/plugins/cpptools/cppcodemodelsettings.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppcodemodelsettings.h b/src/plugins/cpptools/cppcodemodelsettings.h index 6bfccc4bf7..d4da25f3b0 100644 --- a/src/plugins/cpptools/cppcodemodelsettings.h +++ b/src/plugins/cpptools/cppcodemodelsettings.h @@ -98,10 +98,11 @@ private: bool m_categorizeFindReferences = false; // Ephemeral! }; -class CPPTOOLS_EXPORT ClangdSettings +class CPPTOOLS_EXPORT ClangdSettings : public QObject { + Q_OBJECT public: - class Data + class CPPTOOLS_EXPORT Data { public: QVariantMap toMap() const; @@ -131,6 +132,9 @@ public: static void setClangdFilePath(const Utils::FilePath &filePath); #endif +signals: + void changed(); + private: ClangdSettings() { loadSettings(); } @@ -140,12 +144,24 @@ private: Data m_data; }; +inline bool operator==(const ClangdSettings::Data &s1, const ClangdSettings::Data &s2) +{ + return s1.useClangd == s2.useClangd + && s1.executableFilePath == s2.executableFilePath + && s1.workerThreadLimit == s2.workerThreadLimit + && s1.enableIndexing == s2.enableIndexing; +} +inline bool operator!=(const ClangdSettings::Data &s1, const ClangdSettings::Data &s2) +{ + return !(s1 == s2); +} + class CPPTOOLS_EXPORT ClangdProjectSettings { public: ClangdProjectSettings(ProjectExplorer::Project *project); - ClangdSettings settings() const; + ClangdSettings::Data settings() const; void setSettings(const ClangdSettings::Data &data); bool useGlobalSettings() const { return m_useGlobalSettings; } void setUseGlobalSettings(bool useGlobal); |