forked from qt-creator/qt-creator
CppEditor: Use Utils::Store in CppCodeModelSettings
Preparation for introducing a per-project variant. Change-Id: I40897f3ad5261e0d28e6c1332a6951f61f5e749b Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
#include <utils/macroexpander.h>
|
#include <utils/macroexpander.h>
|
||||||
#include <utils/process.h>
|
#include <utils/process.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
#include <utils/store.h>
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
@@ -72,56 +73,59 @@ static FilePath fallbackClangdFilePath()
|
|||||||
|
|
||||||
void CppCodeModelSettings::fromSettings(QtcSettings *s)
|
void CppCodeModelSettings::fromSettings(QtcSettings *s)
|
||||||
{
|
{
|
||||||
s->beginGroup(Constants::CPPEDITOR_SETTINGSGROUP);
|
fromMap(storeFromSettings(Constants::CPPEDITOR_SETTINGSGROUP, s));
|
||||||
|
|
||||||
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();
|
|
||||||
|
|
||||||
emit changed();
|
emit changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppCodeModelSettings::toSettings(QtcSettings *s)
|
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;
|
const CppCodeModelSettings def;
|
||||||
s->setValueWithDefault(enableLowerClazyLevelsKey(),
|
Store store;
|
||||||
enableLowerClazyLevels(),
|
store.insertValueWithDefault(enableLowerClazyLevelsKey(),
|
||||||
def.enableLowerClazyLevels());
|
enableLowerClazyLevels(),
|
||||||
s->setValueWithDefault(pchUsageKey(), pchUsage(), def.pchUsage());
|
def.enableLowerClazyLevels());
|
||||||
s->setValueWithDefault(interpretAmbiguousHeadersAsCHeadersKey(),
|
store.insertValueWithDefault(pchUsageKey(), pchUsage(), def.pchUsage());
|
||||||
interpretAmbigiousHeadersAsCHeaders(),
|
store.insertValueWithDefault(interpretAmbiguousHeadersAsCHeadersKey(),
|
||||||
def.interpretAmbigiousHeadersAsCHeaders());
|
interpretAmbigiousHeadersAsCHeaders(),
|
||||||
s->setValueWithDefault(skipIndexingBigFilesKey(),
|
def.interpretAmbigiousHeadersAsCHeaders());
|
||||||
skipIndexingBigFiles(),
|
store.insertValueWithDefault(skipIndexingBigFilesKey(),
|
||||||
def.skipIndexingBigFiles());
|
skipIndexingBigFiles(),
|
||||||
s->setValueWithDefault(ignoreFilesKey(), ignoreFiles(), def.ignoreFiles());
|
def.skipIndexingBigFiles());
|
||||||
s->setValueWithDefault(ignorePatternKey(), ignorePattern(), def.ignorePattern());
|
store.insertValueWithDefault(ignoreFilesKey(), ignoreFiles(), def.ignoreFiles());
|
||||||
s->setValueWithDefault(useBuiltinPreprocessorKey(),
|
store.insertValueWithDefault(ignorePatternKey(), ignorePattern(), def.ignorePattern());
|
||||||
useBuiltinPreprocessor(),
|
store.insertValueWithDefault(useBuiltinPreprocessorKey(),
|
||||||
def.useBuiltinPreprocessor());
|
useBuiltinPreprocessor(),
|
||||||
s->setValueWithDefault(indexerFileSizeLimitKey(),
|
def.useBuiltinPreprocessor());
|
||||||
indexerFileSizeLimitInMb(),
|
store.insertValueWithDefault(indexerFileSizeLimitKey(),
|
||||||
def.indexerFileSizeLimitInMb());
|
indexerFileSizeLimitInMb(),
|
||||||
|
def.indexerFileSizeLimitInMb());
|
||||||
|
return store;
|
||||||
|
}
|
||||||
|
|
||||||
s->endGroup();
|
void CppCodeModelSettings::fromMap(const Utils::Store &store)
|
||||||
|
{
|
||||||
emit changed();
|
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
|
CppCodeModelSettings::PCHUsage CppCodeModelSettings::pchUsage() const
|
||||||
|
|||||||
@@ -17,7 +17,10 @@
|
|||||||
#include <QVersionNumber>
|
#include <QVersionNumber>
|
||||||
|
|
||||||
namespace ProjectExplorer { class Project; }
|
namespace ProjectExplorer { class Project; }
|
||||||
namespace Utils { class MacroExpander; }
|
namespace Utils {
|
||||||
|
class MacroExpander;
|
||||||
|
class Store;
|
||||||
|
} // namespace Utils
|
||||||
|
|
||||||
namespace CppEditor {
|
namespace CppEditor {
|
||||||
|
|
||||||
@@ -68,6 +71,8 @@ signals:
|
|||||||
private:
|
private:
|
||||||
CppCodeModelSettings() = default;
|
CppCodeModelSettings() = default;
|
||||||
void fromSettings(Utils::QtcSettings *s);
|
void fromSettings(Utils::QtcSettings *s);
|
||||||
|
Utils::Store toMap() const;
|
||||||
|
void fromMap(const Utils::Store &store);
|
||||||
|
|
||||||
PCHUsage m_pchUsage = PchUse_BuildSystem;
|
PCHUsage m_pchUsage = PchUse_BuildSystem;
|
||||||
bool m_interpretAmbigiousHeadersAsCHeaders = false;
|
bool m_interpretAmbigiousHeadersAsCHeaders = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user