diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp index b92f12279f3..0e76423e69f 100644 --- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp +++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp @@ -127,7 +127,7 @@ static void checkSystemForClangdSuitability() if (ClangdSettings::hardwareFulfillsRequirements()) return; - ClangdSettings::setUseClangd(false); + ClangdSettings::setUseClangdAndSave(false); const QString warnStr = ClangModelManagerSupport::tr("The use of clangd for the C/C++ " "code model was disabled, because it is likely that its memory requirements " "would be higher than what your system can handle."); @@ -148,7 +148,7 @@ static void checkSystemForClangdSuitability() return label; }); info.addCustomButton(ClangModelManagerSupport::tr("Enable Anyway"), [clangdWarningSetting] { - ClangdSettings::setUseClangd(true); + ClangdSettings::setUseClangdAndSave(true); Core::ICore::infoBar()->removeInfo(clangdWarningSetting); }); Core::ICore::infoBar()->addInfo(info); diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index 18512cf10c4..b713583dfe4 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -218,6 +218,12 @@ bool ClangdSettings::useClangd() const void ClangdSettings::setUseClangd(bool use) { instance().m_data.useClangd = use; } +void ClangdSettings::setUseClangdAndSave(bool use) +{ + setUseClangd(use); + instance().saveSettings(); +} + bool ClangdSettings::hardwareFulfillsRequirements() { instance().m_data.haveCheckedHardwareReqirements = true; diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h index cd010eec995..93e9e550608 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.h +++ b/src/plugins/cppeditor/cppcodemodelsettings.h @@ -126,6 +126,7 @@ public: static ClangdSettings &instance(); bool useClangd() const; static void setUseClangd(bool use); + static void setUseClangdAndSave(bool use); static bool hardwareFulfillsRequirements(); static bool haveCheckedHardwareRequirements();