aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2024-02-20 13:54:57 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2024-02-21 11:53:49 +0000
commitad30de78d694673296f29ea5122c56d632027ccf (patch)
treeff325ebbb19c02a3ec84a53bd582bfbcf03c75a6 /src/plugins/cppeditor
parent5956254e6f8676d3f409e1c55b0388cfdda3dd2e (diff)
CppEditor: Do not store default values for code model settings
Change-Id: I707135c4256953457ca2f6a4abc3245e45d8b5eb Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettings.cpp74
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettings.h8
2 files changed, 39 insertions, 43 deletions
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp
index 304ffb90cb..f5fae9cd6d 100644
--- a/src/plugins/cppeditor/cppcodemodelsettings.cpp
+++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp
@@ -31,8 +31,6 @@ using namespace Utils;
namespace CppEditor {
static Id initialClangDiagnosticConfigId() { return Constants::CPP_CLANG_DIAG_CONFIG_BUILDSYSTEM; }
-static CppCodeModelSettings::PCHUsage initialPchUsage()
- { return CppCodeModelSettings::PchUse_BuildSystem; }
static Key enableLowerClazyLevelsKey() { return "enableLowerClazyLevels"; }
static Key pchUsageKey() { return Constants::CPPEDITOR_MODEL_MANAGER_PCH_USAGE; }
static Key interpretAmbiguousHeadersAsCHeadersKey()
@@ -72,37 +70,25 @@ static FilePath fallbackClangdFilePath()
return Environment::systemEnvironment().searchInPath("clangd");
}
-CppCodeModelSettings::CppCodeModelSettings()
-{
- fromSettings(Core::ICore::settings());
-}
-
void CppCodeModelSettings::fromSettings(QtcSettings *s)
{
s->beginGroup(Constants::CPPEDITOR_SETTINGSGROUP);
- setEnableLowerClazyLevels(s->value(enableLowerClazyLevelsKey(), true).toBool());
-
- const QVariant pchUsageVariant = s->value(pchUsageKey(), initialPchUsage());
- setPCHUsage(static_cast<PCHUsage>(pchUsageVariant.toInt()));
-
- const QVariant interpretAmbiguousHeadersAsCHeaders
- = s->value(interpretAmbiguousHeadersAsCHeadersKey(), false);
- setInterpretAmbigiousHeadersAsCHeaders(interpretAmbiguousHeadersAsCHeaders.toBool());
-
- const QVariant skipIndexingBigFiles = s->value(skipIndexingBigFilesKey(), true);
- setSkipIndexingBigFiles(skipIndexingBigFiles.toBool());
-
- const QVariant ignoreFiles = s->value(ignoreFilesKey(), false);
- setIgnoreFiles(ignoreFiles.toBool());
-
- const QVariant ignorePattern = s->value(ignorePatternKey(), "");
- setIgnorePattern(ignorePattern.toString());
-
- setUseBuiltinPreprocessor(s->value(useBuiltinPreprocessorKey(), true).toBool());
-
- const QVariant indexerFileSizeLimit = s->value(indexerFileSizeLimitKey(), 5);
- setIndexerFileSizeLimitInMb(indexerFileSizeLimit.toInt());
+ const CppCodeModelSettings def;
+ setEnableLowerClazyLevels(
+ s->value(enableLowerClazyLevelsKey(), def.enableLowerClazyLevels()).toBool());
+ setPCHUsage(static_cast<PCHUsage>(s->value(pchUsageKey(), def.pchUsage()).toInt()));
+ setInterpretAmbigiousHeadersAsCHeaders(s->value(interpretAmbiguousHeadersAsCHeadersKey(),
+ def.interpretAmbigiousHeadersAsCHeaders())
+ .toBool());
+ setSkipIndexingBigFiles(
+ s->value(skipIndexingBigFilesKey(), def.skipIndexingBigFiles()).toBool());
+ setIgnoreFiles(s->value(ignoreFilesKey(), def.ignoreFiles()).toBool());
+ setIgnorePattern(s->value(ignorePatternKey(), def.ignorePattern()).toString());
+ setUseBuiltinPreprocessor(
+ s->value(useBuiltinPreprocessorKey(), def.useBuiltinPreprocessor()).toBool());
+ setIndexerFileSizeLimitInMb(
+ s->value(indexerFileSizeLimitKey(), def.indexerFileSizeLimitInMb()).toInt());
s->endGroup();
@@ -113,15 +99,25 @@ void CppCodeModelSettings::toSettings(QtcSettings *s)
{
s->beginGroup(Constants::CPPEDITOR_SETTINGSGROUP);
- s->setValue(enableLowerClazyLevelsKey(), enableLowerClazyLevels());
- s->setValue(pchUsageKey(), pchUsage());
-
- s->setValue(interpretAmbiguousHeadersAsCHeadersKey(), interpretAmbigiousHeadersAsCHeaders());
- s->setValue(skipIndexingBigFilesKey(), skipIndexingBigFiles());
- s->setValue(ignoreFilesKey(), ignoreFiles());
- s->setValue(ignorePatternKey(), QVariant(ignorePattern()));
- s->setValue(useBuiltinPreprocessorKey(), useBuiltinPreprocessor());
- s->setValue(indexerFileSizeLimitKey(), indexerFileSizeLimitInMb());
+ const CppCodeModelSettings def;
+ s->setValueWithDefault(enableLowerClazyLevelsKey(),
+ enableLowerClazyLevels(),
+ def.enableLowerClazyLevels());
+ s->setValueWithDefault(pchUsageKey(), pchUsage(), def.pchUsage());
+ s->setValueWithDefault(interpretAmbiguousHeadersAsCHeadersKey(),
+ interpretAmbigiousHeadersAsCHeaders(),
+ def.interpretAmbigiousHeadersAsCHeaders());
+ s->setValueWithDefault(skipIndexingBigFilesKey(),
+ skipIndexingBigFiles(),
+ def.skipIndexingBigFiles());
+ s->setValueWithDefault(ignoreFilesKey(), ignoreFiles(), def.ignoreFiles());
+ s->setValueWithDefault(ignorePatternKey(), ignorePattern(), def.ignorePattern());
+ s->setValueWithDefault(useBuiltinPreprocessorKey(),
+ useBuiltinPreprocessor(),
+ def.useBuiltinPreprocessor());
+ s->setValueWithDefault(indexerFileSizeLimitKey(),
+ indexerFileSizeLimitInMb(),
+ def.indexerFileSizeLimitInMb());
s->endGroup();
@@ -670,7 +666,7 @@ int ClangdSettings::Data::defaultCompletionResults()
CppCodeModelSettings &cppCodeModelSettings()
{
- static CppCodeModelSettings theCppCodeModelSettings;
+ static CppCodeModelSettings theCppCodeModelSettings(Core::ICore::settings());
return theCppCodeModelSettings;
}
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h
index 123d639455..f471710014 100644
--- a/src/plugins/cppeditor/cppcodemodelsettings.h
+++ b/src/plugins/cppeditor/cppcodemodelsettings.h
@@ -31,13 +31,10 @@ public:
PchUse_BuildSystem = 2
};
-public:
- CppCodeModelSettings();
+ CppCodeModelSettings(Utils::QtcSettings *s) { fromSettings(s); }
- void fromSettings(Utils::QtcSettings *s);
void toSettings(Utils::QtcSettings *s);
-public:
bool enableLowerClazyLevels() const;
void setEnableLowerClazyLevels(bool yesno);
@@ -69,6 +66,9 @@ signals:
void changed();
private:
+ CppCodeModelSettings() = default;
+ void fromSettings(Utils::QtcSettings *s);
+
PCHUsage m_pchUsage = PchUse_BuildSystem;
bool m_interpretAmbigiousHeadersAsCHeaders = false;
bool m_skipIndexingBigFiles = true;