aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2024-02-21 15:49:10 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2024-02-26 14:49:59 +0000
commit3f692e2f1743d58bf7af6312a9199a857fc7ddee (patch)
treea12033673b74d64ee1a7aa52ff5d83df5958a184 /src/plugins/cppeditor
parent48a8fa4c5df86807506a0faa20feec1abb19ffc0 (diff)
CppEditor: Refactor CppCodeModelSettings
Preparation for per-project settings. Change-Id: I78ecf0cde6150e40353c4aea6a98717d119f05c7 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/baseeditordocumentprocessor.cpp6
-rw-r--r--src/plugins/cppeditor/clangdiagnosticconfigsselectionwidget.cpp4
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettings.cpp159
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettings.h70
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettingspage.cpp93
5 files changed, 123 insertions, 209 deletions
diff --git a/src/plugins/cppeditor/baseeditordocumentprocessor.cpp b/src/plugins/cppeditor/baseeditordocumentprocessor.cpp
index f48c5a710b..d7da8251ee 100644
--- a/src/plugins/cppeditor/baseeditordocumentprocessor.cpp
+++ b/src/plugins/cppeditor/baseeditordocumentprocessor.cpp
@@ -35,9 +35,9 @@ BaseEditorDocumentProcessor::~BaseEditorDocumentProcessor() = default;
void BaseEditorDocumentProcessor::run(bool projectsUpdated)
{
- const Utils::Language languagePreference = codeModelSettings()->interpretAmbigiousHeadersAsCHeaders()
- ? Utils::Language::C
- : Utils::Language::Cxx;
+ const Utils::Language languagePreference = codeModelSettings()->interpretAmbigiousHeadersAsC()
+ ? Utils::Language::C
+ : Utils::Language::Cxx;
runImpl({CppModelManager::workingCopy(),
ProjectExplorer::ProjectManager::startupProject(),
diff --git a/src/plugins/cppeditor/clangdiagnosticconfigsselectionwidget.cpp b/src/plugins/cppeditor/clangdiagnosticconfigsselectionwidget.cpp
index 3a3ceacad4..8cdc803f46 100644
--- a/src/plugins/cppeditor/clangdiagnosticconfigsselectionwidget.cpp
+++ b/src/plugins/cppeditor/clangdiagnosticconfigsselectionwidget.cpp
@@ -90,11 +90,7 @@ void ClangDiagnosticConfigsSelectionWidget::onButtonClicked()
connect(buttonsBox, &QDialogButtonBox::accepted, &dialog, &QDialog::accept);
connect(buttonsBox, &QDialogButtonBox::rejected, &dialog, &QDialog::reject);
- const bool previousEnableLowerClazyLevels = codeModelSettings()->enableLowerClazyLevels();
if (dialog.exec() == QDialog::Accepted) {
- if (previousEnableLowerClazyLevels != codeModelSettings()->enableLowerClazyLevels())
- codeModelSettings()->toSettings(Core::ICore::settings());
-
m_diagnosticConfigsModel = ClangDiagnosticConfigsModel(widget->configs());
m_currentConfigId = widget->currentConfig().id();
m_button->setText(widget->currentConfig().displayName());
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp
index e06272084d..2c57490701 100644
--- a/src/plugins/cppeditor/cppcodemodelsettings.cpp
+++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp
@@ -71,135 +71,98 @@ static FilePath fallbackClangdFilePath()
return Environment::systemEnvironment().searchInPath("clangd");
}
-void CppCodeModelSettings::fromSettings(QtcSettings *s)
+bool operator==(const CppEditor::CppCodeModelSettings::Data &s1,
+ const CppEditor::CppCodeModelSettings::Data &s2)
{
- fromMap(storeFromSettings(Constants::CPPEDITOR_SETTINGSGROUP, s));
- emit changed();
+ return s1.pchUsage == s2.pchUsage
+ && s1.interpretAmbigiousHeadersAsC == s2.interpretAmbigiousHeadersAsC
+ && s1.skipIndexingBigFiles == s2.skipIndexingBigFiles
+ && s1.useBuiltinPreprocessor == s2.useBuiltinPreprocessor
+ && s1.indexerFileSizeLimitInMb == s2.indexerFileSizeLimitInMb
+ && s1.enableLowerClazyLevels == s2.enableLowerClazyLevels
+ && s1.categorizeFindReferences == s2.categorizeFindReferences
+ && s1.ignoreFiles == s2.ignoreFiles && s1.ignorePattern == s2.ignorePattern;
}
-void CppCodeModelSettings::toSettings(QtcSettings *s)
+Store CppCodeModelSettings::Data::toMap() const
{
- storeToSettings(Constants::CPPEDITOR_SETTINGSGROUP, s, toMap());
- emit changed(); // TODO: Why?
-}
-
-Store CppCodeModelSettings::toMap() const
-{
- const CppCodeModelSettings def;
+ const CppCodeModelSettings::Data def;
Store store;
store.insertValueWithDefault(enableLowerClazyLevelsKey(),
- enableLowerClazyLevels(),
- def.enableLowerClazyLevels());
- store.insertValueWithDefault(pchUsageKey(), pchUsage(), def.pchUsage());
+ enableLowerClazyLevels,
+ def.enableLowerClazyLevels);
+ store.insertValueWithDefault(pchUsageKey(), pchUsage, def.pchUsage);
store.insertValueWithDefault(interpretAmbiguousHeadersAsCHeadersKey(),
- interpretAmbigiousHeadersAsCHeaders(),
- def.interpretAmbigiousHeadersAsCHeaders());
+ interpretAmbigiousHeadersAsC,
+ def.interpretAmbigiousHeadersAsC);
store.insertValueWithDefault(skipIndexingBigFilesKey(),
- skipIndexingBigFiles(),
- def.skipIndexingBigFiles());
- store.insertValueWithDefault(ignoreFilesKey(), ignoreFiles(), def.ignoreFiles());
- store.insertValueWithDefault(ignorePatternKey(), ignorePattern(), def.ignorePattern());
+ skipIndexingBigFiles,
+ def.skipIndexingBigFiles);
+ store.insertValueWithDefault(ignoreFilesKey(), ignoreFiles, def.ignoreFiles);
+ store.insertValueWithDefault(ignorePatternKey(), ignorePattern, def.ignorePattern);
store.insertValueWithDefault(useBuiltinPreprocessorKey(),
- useBuiltinPreprocessor(),
- def.useBuiltinPreprocessor());
+ useBuiltinPreprocessor,
+ def.useBuiltinPreprocessor);
store.insertValueWithDefault(indexerFileSizeLimitKey(),
- indexerFileSizeLimitInMb(),
- def.indexerFileSizeLimitInMb());
+ 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
-{
- return m_pchUsage;
-}
-
-void CppCodeModelSettings::setPCHUsage(CppCodeModelSettings::PCHUsage pchUsage)
-{
- m_pchUsage = pchUsage;
-}
-
-bool CppCodeModelSettings::interpretAmbigiousHeadersAsCHeaders() const
-{
- return m_interpretAmbigiousHeadersAsCHeaders;
-}
-
-void CppCodeModelSettings::setInterpretAmbigiousHeadersAsCHeaders(bool yesno)
-{
- m_interpretAmbigiousHeadersAsCHeaders = yesno;
-}
-
-bool CppCodeModelSettings::skipIndexingBigFiles() const
+void CppCodeModelSettings::Data::fromMap(const Utils::Store &store)
{
- return m_skipIndexingBigFiles;
+ const CppCodeModelSettings::Data def;
+ enableLowerClazyLevels
+ = store.value(enableLowerClazyLevelsKey(), def.enableLowerClazyLevels).toBool();
+ pchUsage = static_cast<PCHUsage>(store.value(pchUsageKey(), def.pchUsage).toInt());
+ interpretAmbigiousHeadersAsC = store
+ .value(interpretAmbiguousHeadersAsCHeadersKey(),
+ def.interpretAmbigiousHeadersAsC)
+ .toBool();
+ skipIndexingBigFiles = store.value(skipIndexingBigFilesKey(), def.skipIndexingBigFiles).toBool();
+ ignoreFiles = store.value(ignoreFilesKey(), def.ignoreFiles).toBool();
+ ignorePattern = store.value(ignorePatternKey(), def.ignorePattern).toString();
+ useBuiltinPreprocessor
+ = store.value(useBuiltinPreprocessorKey(), def.useBuiltinPreprocessor).toBool();
+ indexerFileSizeLimitInMb
+ = store.value(indexerFileSizeLimitKey(), def.indexerFileSizeLimitInMb).toInt();
}
-void CppCodeModelSettings::setSkipIndexingBigFiles(bool yesno)
-{
- m_skipIndexingBigFiles = yesno;
-}
-
-int CppCodeModelSettings::indexerFileSizeLimitInMb() const
-{
- return m_indexerFileSizeLimitInMB;
-}
-
-void CppCodeModelSettings::setIndexerFileSizeLimitInMb(int sizeInMB)
-{
- m_indexerFileSizeLimitInMB = sizeInMB;
-}
-
-bool CppCodeModelSettings::ignoreFiles() const
-{
- return m_ignoreFiles;
-}
-
-void CppCodeModelSettings::setIgnoreFiles(bool ignoreFiles)
+void CppCodeModelSettings::fromSettings(QtcSettings *s)
{
- m_ignoreFiles = ignoreFiles;
+ m_data.fromMap(storeFromSettings(Constants::CPPEDITOR_SETTINGSGROUP, s));
+ emit changed();
}
-QString CppCodeModelSettings::ignorePattern() const
+void CppCodeModelSettings::toSettings(QtcSettings *s)
{
- return m_ignorePattern;
+ storeToSettings(Constants::CPPEDITOR_SETTINGSGROUP, s, m_data.toMap());
+ emit changed(); // TODO: Why?
}
-void CppCodeModelSettings::setIgnorePattern(const QString& ignorePattern)
+void CppCodeModelSettings::setData(const Data &data)
{
- m_ignorePattern = ignorePattern;
+ if (m_data != data) {
+ m_data = data;
+ toSettings(Core::ICore::settings());
+ emit changed();
+ }
}
-
-bool CppCodeModelSettings::enableLowerClazyLevels() const
+void CppCodeModelSettings::setEnableLowerClazyLevels(bool enable)
{
- return m_enableLowerClazyLevels;
+ Data d = data();
+ d.enableLowerClazyLevels = enable;
+ setData(d);
}
-void CppCodeModelSettings::setEnableLowerClazyLevels(bool yesno)
+void CppCodeModelSettings::setCategorizeFindReferences(bool categorize)
{
- m_enableLowerClazyLevels = yesno;
+ Data d = data();
+ d.categorizeFindReferences = categorize;
+ setData(d);
}
-
QString ClangdSettings::priorityToString(const IndexingPriority &priority)
{
switch (priority) {
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h
index fbca534c38..c81fbda6f0 100644
--- a/src/plugins/cppeditor/cppcodemodelsettings.h
+++ b/src/plugins/cppeditor/cppcodemodelsettings.h
@@ -34,54 +34,56 @@ public:
PchUse_BuildSystem = 2
};
- CppCodeModelSettings(Utils::QtcSettings *s) { fromSettings(s); }
-
- void toSettings(Utils::QtcSettings *s);
-
- bool enableLowerClazyLevels() const;
- void setEnableLowerClazyLevels(bool yesno);
+ class Data
+ {
+ public:
+ Utils::Store toMap() const;
+ void fromMap(const Utils::Store &store);
- PCHUsage pchUsage() const;
- void setPCHUsage(PCHUsage pchUsage);
+ friend bool operator==(const Data &s1, const Data &s2);
+ friend bool operator!=(const Data &s1, const Data &s2) { return !(s1 == s2); }
- bool interpretAmbigiousHeadersAsCHeaders() const;
- void setInterpretAmbigiousHeadersAsCHeaders(bool yesno);
+ PCHUsage pchUsage = PchUse_BuildSystem;
+ bool interpretAmbigiousHeadersAsC = false;
+ bool skipIndexingBigFiles = true;
+ bool useBuiltinPreprocessor = true;
+ int indexerFileSizeLimitInMb = 5;
+ bool enableLowerClazyLevels = true; // For UI behavior only
+ bool categorizeFindReferences = false; // Ephemeral!
+ bool ignoreFiles = false;
+ QString ignorePattern;
+ };
- bool skipIndexingBigFiles() const;
- void setSkipIndexingBigFiles(bool yesno);
+ CppCodeModelSettings(Utils::QtcSettings *s) { fromSettings(s); }
- bool useBuiltinPreprocessor() const { return m_useBuiltinPreprocessor; }
- void setUseBuiltinPreprocessor(bool useBuiltin) { m_useBuiltinPreprocessor = useBuiltin; }
+ void setData(const Data &data);
+ Data data() const { return m_data; }
- int indexerFileSizeLimitInMb() const;
- void setIndexerFileSizeLimitInMb(int sizeInMB);
+ bool enableLowerClazyLevels() const { return m_data.enableLowerClazyLevels; }
+ PCHUsage pchUsage() const { return m_data.pchUsage; }
+ bool interpretAmbigiousHeadersAsC() const { return m_data.interpretAmbigiousHeadersAsC; }
+ bool skipIndexingBigFiles() const { return m_data.skipIndexingBigFiles; }
+ bool useBuiltinPreprocessor() const { return m_data.useBuiltinPreprocessor; }
+ int indexerFileSizeLimitInMb() const { return m_data.indexerFileSizeLimitInMb; }
+ bool categorizeFindReferences() const { return m_data.categorizeFindReferences; }
+ bool ignoreFiles() const { return m_data.ignoreFiles; }
+ QString ignorePattern() const { return m_data.ignorePattern; }
- void setCategorizeFindReferences(bool categorize) { m_categorizeFindReferences = categorize; }
- bool categorizeFindReferences() const { return m_categorizeFindReferences; }
+ // FIXME: Doesn't belong here.
+ void setEnableLowerClazyLevels(bool enable);
- bool ignoreFiles() const;
- void setIgnoreFiles(bool ignoreFiles);
- QString ignorePattern() const;
- void setIgnorePattern(const QString& ignorePattern);
+ void setCategorizeFindReferences(bool categorize);
signals:
void changed();
private:
CppCodeModelSettings() = default;
+
+ void toSettings(Utils::QtcSettings *s);
void fromSettings(Utils::QtcSettings *s);
- Utils::Store toMap() const;
- void fromMap(const Utils::Store &store);
-
- PCHUsage m_pchUsage = PchUse_BuildSystem;
- bool m_interpretAmbigiousHeadersAsCHeaders = false;
- bool m_skipIndexingBigFiles = true;
- bool m_useBuiltinPreprocessor = true;
- int m_indexerFileSizeLimitInMB = 5;
- bool m_enableLowerClazyLevels = true; // For UI behavior only
- bool m_categorizeFindReferences = false; // Ephemeral!
- bool m_ignoreFiles = false;
- QString m_ignorePattern;
+
+ Data m_data;
};
class CPPEDITOR_EXPORT ClangdSettings : public QObject
diff --git a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp
index b4a19ccaae..b267b66242 100644
--- a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp
+++ b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp
@@ -51,14 +51,13 @@ namespace CppEditor::Internal {
class CppCodeModelSettingsWidget final : public Core::IOptionsPageWidget
{
public:
- CppCodeModelSettingsWidget();
+ CppCodeModelSettingsWidget(const CppCodeModelSettings::Data &data);
private:
- void apply() final;
+ void apply() final { codeModelSettings()->setData(data()); }
- bool applyGeneralWidgetsToSettings() const;
+ CppCodeModelSettings::Data data() const;
- CppCodeModelSettings *m_settings = nullptr;
QCheckBox *m_interpretAmbiguousHeadersAsCHeaders;
QCheckBox *m_ignorePchCheckBox;
QCheckBox *m_useBuiltinPreprocessorCheckBox;
@@ -68,19 +67,18 @@ private:
QPlainTextEdit *m_ignorePatternTextEdit;
};
-CppCodeModelSettingsWidget::CppCodeModelSettingsWidget()
- : m_settings(&cppCodeModelSettings())
+CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(const CppCodeModelSettings::Data &data)
{
m_interpretAmbiguousHeadersAsCHeaders
= new QCheckBox(Tr::tr("Interpret ambiguous headers as C headers"));
m_skipIndexingBigFilesCheckBox = new QCheckBox(Tr::tr("Do not index files greater than"));
- m_skipIndexingBigFilesCheckBox->setChecked(m_settings->skipIndexingBigFiles());
+ m_skipIndexingBigFilesCheckBox->setChecked(data.skipIndexingBigFiles);
m_bigFilesLimitSpinBox = new QSpinBox;
m_bigFilesLimitSpinBox->setSuffix(Tr::tr("MB"));
m_bigFilesLimitSpinBox->setRange(1, 500);
- m_bigFilesLimitSpinBox->setValue(m_settings->indexerFileSizeLimitInMb());
+ m_bigFilesLimitSpinBox->setValue(data.indexerFileSizeLimitInMb);
m_ignoreFilesCheckBox = new QCheckBox(Tr::tr("Ignore files"));
m_ignoreFilesCheckBox->setToolTip(
@@ -88,8 +86,8 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget()
+ Tr::tr("Ignore files that match these wildcard patterns, one wildcard per line.")
+ "</p></body></html>");
- m_ignoreFilesCheckBox->setChecked(m_settings->ignoreFiles());
- m_ignorePatternTextEdit = new QPlainTextEdit(m_settings->ignorePattern());
+ m_ignoreFilesCheckBox->setChecked(data.ignoreFiles);
+ m_ignorePatternTextEdit = new QPlainTextEdit(data.ignorePattern);
m_ignorePatternTextEdit->setToolTip(m_ignoreFilesCheckBox->toolTip());
m_ignorePatternTextEdit->setEnabled(m_ignoreFilesCheckBox->isChecked());
@@ -109,11 +107,9 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget()
(Tr::tr("Uncheck this to invoke the actual compiler "
"to show a pre-processed source file in the editor."));
- m_interpretAmbiguousHeadersAsCHeaders->setChecked(
- m_settings->interpretAmbigiousHeadersAsCHeaders());
-
- m_ignorePchCheckBox->setChecked(m_settings->pchUsage() == CppCodeModelSettings::PchUse_None);
- m_useBuiltinPreprocessorCheckBox->setChecked(m_settings->useBuiltinPreprocessor());
+ m_interpretAmbiguousHeadersAsCHeaders->setChecked(data.interpretAmbigiousHeadersAsC);
+ m_ignorePchCheckBox->setChecked(data.pchUsage == CppCodeModelSettings::PchUse_None);
+ m_useBuiltinPreprocessorCheckBox->setChecked(data.useBuiltinPreprocessor);
using namespace Layouting;
@@ -132,61 +128,18 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget()
}.attachTo(this);
}
-void CppCodeModelSettingsWidget::apply()
-{
- if (applyGeneralWidgetsToSettings())
- m_settings->toSettings(Core::ICore::settings());
-}
-
-bool CppCodeModelSettingsWidget::applyGeneralWidgetsToSettings() const
+CppCodeModelSettings::Data CppCodeModelSettingsWidget::data() const
{
- bool settingsChanged = false;
-
- const bool newInterpretAmbiguousHeaderAsCHeaders
- = m_interpretAmbiguousHeadersAsCHeaders->isChecked();
- if (m_settings->interpretAmbigiousHeadersAsCHeaders()
- != newInterpretAmbiguousHeaderAsCHeaders) {
- m_settings->setInterpretAmbigiousHeadersAsCHeaders(newInterpretAmbiguousHeaderAsCHeaders);
- settingsChanged = true;
- }
-
- const bool newSkipIndexingBigFiles = m_skipIndexingBigFilesCheckBox->isChecked();
- if (m_settings->skipIndexingBigFiles() != newSkipIndexingBigFiles) {
- m_settings->setSkipIndexingBigFiles(newSkipIndexingBigFiles);
- settingsChanged = true;
- }
- const bool newUseBuiltinPreprocessor = m_useBuiltinPreprocessorCheckBox->isChecked();
- if (m_settings->useBuiltinPreprocessor() != newUseBuiltinPreprocessor) {
- m_settings->setUseBuiltinPreprocessor(newUseBuiltinPreprocessor);
- settingsChanged = true;
- }
- const bool ignoreFiles = m_ignoreFilesCheckBox->isChecked();
- if (m_settings->ignoreFiles() != ignoreFiles) {
- m_settings->setIgnoreFiles(ignoreFiles);
- settingsChanged = true;
- }
- const QString ignorePattern = m_ignorePatternTextEdit->toPlainText();
- if (m_settings->ignorePattern() != ignorePattern) {
- m_settings->setIgnorePattern(ignorePattern);
- settingsChanged = true;
- }
- const int newFileSizeLimit = m_bigFilesLimitSpinBox->value();
- if (m_settings->indexerFileSizeLimitInMb() != newFileSizeLimit) {
- m_settings->setIndexerFileSizeLimitInMb(newFileSizeLimit);
- settingsChanged = true;
- }
-
- const bool newIgnorePch = m_ignorePchCheckBox->isChecked();
- const bool previousIgnorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None;
- if (newIgnorePch != previousIgnorePch) {
- const CppCodeModelSettings::PCHUsage pchUsage = m_ignorePchCheckBox->isChecked()
- ? CppCodeModelSettings::PchUse_None
- : CppCodeModelSettings::PchUse_BuildSystem;
- m_settings->setPCHUsage(pchUsage);
- settingsChanged = true;
- }
-
- return settingsChanged;
+ CppCodeModelSettings::Data data;
+ data.interpretAmbigiousHeadersAsC = m_interpretAmbiguousHeadersAsCHeaders->isChecked();
+ data.skipIndexingBigFiles = m_skipIndexingBigFilesCheckBox->isChecked();
+ data.useBuiltinPreprocessor = m_useBuiltinPreprocessorCheckBox->isChecked();
+ data.ignoreFiles = m_ignoreFilesCheckBox->isChecked();
+ data.ignorePattern = m_ignorePatternTextEdit->toPlainText();
+ data.indexerFileSizeLimitInMb = m_bigFilesLimitSpinBox->value();
+ data.pchUsage = m_ignorePchCheckBox->isChecked() ? CppCodeModelSettings::PchUse_None
+ : CppCodeModelSettings::PchUse_BuildSystem;
+ return data;
}
class CppCodeModelSettingsPage final : public Core::IOptionsPage
@@ -199,7 +152,7 @@ public:
setCategory(Constants::CPP_SETTINGS_CATEGORY);
setDisplayCategory(Tr::tr("C++"));
setCategoryIconPath(":/projectexplorer/images/settingscategory_cpp.png");
- setWidgetCreator([] { return new CppCodeModelSettingsWidget; });
+ setWidgetCreator([] { return new CppCodeModelSettingsWidget(codeModelSettings()->data()); });
}
};