diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2024-02-20 15:41:42 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2024-02-21 13:28:24 +0000 |
commit | 68cc7f11b7268a93610877e8b33135954d685eb8 (patch) | |
tree | 085f5fa804adc92e880e4b1e4ecbc631784a0a70 /src/plugins/cppeditor | |
parent | ad30de78d694673296f29ea5122c56d632027ccf (diff) |
CppEditor: Use Utils::Store in CppCodeModelSettings
Preparation for introducing a per-project variant.
Change-Id: I40897f3ad5261e0d28e6c1332a6951f61f5e749b
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r-- | src/plugins/cppeditor/cppcodemodelsettings.cpp | 90 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppcodemodelsettings.h | 7 |
2 files changed, 53 insertions, 44 deletions
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index f5fae9cd6d..e06272084d 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -18,6 +18,7 @@ #include <utils/macroexpander.h> #include <utils/process.h> #include <utils/qtcassert.h> +#include <utils/store.h> #include <QDateTime> #include <QDir> @@ -72,56 +73,59 @@ static FilePath fallbackClangdFilePath() void CppCodeModelSettings::fromSettings(QtcSettings *s) { - s->beginGroup(Constants::CPPEDITOR_SETTINGSGROUP); - - 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(); - + fromMap(storeFromSettings(Constants::CPPEDITOR_SETTINGSGROUP, s)); emit changed(); } void CppCodeModelSettings::toSettings(QtcSettings *s) { - s->beginGroup(Constants::CPPEDITOR_SETTINGSGROUP); + storeToSettings(Constants::CPPEDITOR_SETTINGSGROUP, s, toMap()); + emit changed(); // TODO: Why? +} +Store CppCodeModelSettings::toMap() const +{ 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(); - - emit changed(); + Store store; + store.insertValueWithDefault(enableLowerClazyLevelsKey(), + enableLowerClazyLevels(), + def.enableLowerClazyLevels()); + store.insertValueWithDefault(pchUsageKey(), pchUsage(), def.pchUsage()); + store.insertValueWithDefault(interpretAmbiguousHeadersAsCHeadersKey(), + interpretAmbigiousHeadersAsCHeaders(), + def.interpretAmbigiousHeadersAsCHeaders()); + store.insertValueWithDefault(skipIndexingBigFilesKey(), + skipIndexingBigFiles(), + def.skipIndexingBigFiles()); + store.insertValueWithDefault(ignoreFilesKey(), ignoreFiles(), def.ignoreFiles()); + store.insertValueWithDefault(ignorePatternKey(), ignorePattern(), def.ignorePattern()); + store.insertValueWithDefault(useBuiltinPreprocessorKey(), + useBuiltinPreprocessor(), + def.useBuiltinPreprocessor()); + store.insertValueWithDefault(indexerFileSizeLimitKey(), + indexerFileSizeLimitInMb(), + def.indexerFileSizeLimitInMb()); + return store; +} + +void CppCodeModelSettings::fromMap(const Utils::Store &store) +{ + const CppCodeModelSettings def; + setEnableLowerClazyLevels( + store.value(enableLowerClazyLevelsKey(), def.enableLowerClazyLevels()).toBool()); + setPCHUsage(static_cast<PCHUsage>(store.value(pchUsageKey(), def.pchUsage()).toInt())); + setInterpretAmbigiousHeadersAsCHeaders(store + .value(interpretAmbiguousHeadersAsCHeadersKey(), + def.interpretAmbigiousHeadersAsCHeaders()) + .toBool()); + setSkipIndexingBigFiles( + store.value(skipIndexingBigFilesKey(), def.skipIndexingBigFiles()).toBool()); + setIgnoreFiles(store.value(ignoreFilesKey(), def.ignoreFiles()).toBool()); + setIgnorePattern(store.value(ignorePatternKey(), def.ignorePattern()).toString()); + setUseBuiltinPreprocessor( + store.value(useBuiltinPreprocessorKey(), def.useBuiltinPreprocessor()).toBool()); + setIndexerFileSizeLimitInMb( + store.value(indexerFileSizeLimitKey(), def.indexerFileSizeLimitInMb()).toInt()); } CppCodeModelSettings::PCHUsage CppCodeModelSettings::pchUsage() const diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h index f471710014..2343ca0efe 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.h +++ b/src/plugins/cppeditor/cppcodemodelsettings.h @@ -17,7 +17,10 @@ #include <QVersionNumber> namespace ProjectExplorer { class Project; } -namespace Utils { class MacroExpander; } +namespace Utils { +class MacroExpander; +class Store; +} // namespace Utils namespace CppEditor { @@ -68,6 +71,8 @@ signals: private: CppCodeModelSettings() = default; void fromSettings(Utils::QtcSettings *s); + Utils::Store toMap() const; + void fromMap(const Utils::Store &store); PCHUsage m_pchUsage = PchUse_BuildSystem; bool m_interpretAmbigiousHeadersAsCHeaders = false; |