forked from qt-creator/qt-creator
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:
@@ -127,7 +127,7 @@ static void checkSystemForClangdSuitability()
|
|||||||
if (ClangdSettings::hardwareFulfillsRequirements())
|
if (ClangdSettings::hardwareFulfillsRequirements())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ClangdSettings::setUseClangd(false);
|
ClangdSettings::setUseClangdAndSave(false);
|
||||||
const QString warnStr = ClangModelManagerSupport::tr("The use of clangd for the C/C++ "
|
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 "
|
"code model was disabled, because it is likely that its memory requirements "
|
||||||
"would be higher than what your system can handle.");
|
"would be higher than what your system can handle.");
|
||||||
@@ -148,7 +148,7 @@ static void checkSystemForClangdSuitability()
|
|||||||
return label;
|
return label;
|
||||||
});
|
});
|
||||||
info.addCustomButton(ClangModelManagerSupport::tr("Enable Anyway"), [clangdWarningSetting] {
|
info.addCustomButton(ClangModelManagerSupport::tr("Enable Anyway"), [clangdWarningSetting] {
|
||||||
ClangdSettings::setUseClangd(true);
|
ClangdSettings::setUseClangdAndSave(true);
|
||||||
Core::ICore::infoBar()->removeInfo(clangdWarningSetting);
|
Core::ICore::infoBar()->removeInfo(clangdWarningSetting);
|
||||||
});
|
});
|
||||||
Core::ICore::infoBar()->addInfo(info);
|
Core::ICore::infoBar()->addInfo(info);
|
||||||
|
@@ -218,6 +218,12 @@ bool ClangdSettings::useClangd() const
|
|||||||
|
|
||||||
void ClangdSettings::setUseClangd(bool use) { instance().m_data.useClangd = use; }
|
void ClangdSettings::setUseClangd(bool use) { instance().m_data.useClangd = use; }
|
||||||
|
|
||||||
|
void ClangdSettings::setUseClangdAndSave(bool use)
|
||||||
|
{
|
||||||
|
setUseClangd(use);
|
||||||
|
instance().saveSettings();
|
||||||
|
}
|
||||||
|
|
||||||
bool ClangdSettings::hardwareFulfillsRequirements()
|
bool ClangdSettings::hardwareFulfillsRequirements()
|
||||||
{
|
{
|
||||||
instance().m_data.haveCheckedHardwareReqirements = true;
|
instance().m_data.haveCheckedHardwareReqirements = true;
|
||||||
|
@@ -126,6 +126,7 @@ public:
|
|||||||
static ClangdSettings &instance();
|
static ClangdSettings &instance();
|
||||||
bool useClangd() const;
|
bool useClangd() const;
|
||||||
static void setUseClangd(bool use);
|
static void setUseClangd(bool use);
|
||||||
|
static void setUseClangdAndSave(bool use);
|
||||||
|
|
||||||
static bool hardwareFulfillsRequirements();
|
static bool hardwareFulfillsRequirements();
|
||||||
static bool haveCheckedHardwareRequirements();
|
static bool haveCheckedHardwareRequirements();
|
||||||
|
Reference in New Issue
Block a user