ClangCodeModel: Switch off clangd persistently

... after failed machine suitability check.

Fixes: QTCREATORBUG-28441
Change-Id: Ic0fb956168204d8023ff96f92ae3fcd7cea8b0e9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2022-11-24 12:25:07 +01:00
parent 98a40b3690
commit ed06978830
3 changed files with 9 additions and 2 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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();