aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2024-02-20 15:41:42 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2024-02-21 13:28:24 +0000
commit68cc7f11b7268a93610877e8b33135954d685eb8 (patch)
tree085f5fa804adc92e880e4b1e4ecbc631784a0a70 /src/plugins/cppeditor
parentad30de78d694673296f29ea5122c56d632027ccf (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.cpp90
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettings.h7
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;