diff options
Diffstat (limited to 'src/plugins/cppeditor/cppcodemodelsettingspage.cpp')
-rw-r--r-- | src/plugins/cppeditor/cppcodemodelsettingspage.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp index 476a3dae5c1..6454215b4bb 100644 --- a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp @@ -31,6 +31,7 @@ #include <QTextStream> #include <QVBoxLayout> #include <QVersionNumber> +#include <QTextBlock> #include <limits> @@ -54,6 +55,8 @@ private: QCheckBox *m_useBuiltinPreprocessorCheckBox; QCheckBox *m_skipIndexingBigFilesCheckBox; QSpinBox *m_bigFilesLimitSpinBox; + QCheckBox *m_ignoreFilesCheckBox; + QPlainTextEdit *m_ignorePatternTextEdit; }; CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s) @@ -70,6 +73,19 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s) m_bigFilesLimitSpinBox->setRange(1, 500); m_bigFilesLimitSpinBox->setValue(m_settings->indexerFileSizeLimitInMb()); + m_ignoreFilesCheckBox = new QCheckBox(tr("Ignore files")); + m_ignoreFilesCheckBox->setToolTip(tr( + "<html><head/><body><p>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_ignorePatternTextEdit->setToolTip(m_ignoreFilesCheckBox->toolTip()); + m_ignorePatternTextEdit->setEnabled(m_ignoreFilesCheckBox->isChecked()); + + connect(m_ignoreFilesCheckBox, &QCheckBox::stateChanged, [this] { + m_ignorePatternTextEdit->setEnabled(m_ignoreFilesCheckBox->isChecked()); + }); + m_ignorePchCheckBox = new QCheckBox(tr("Ignore precompiled headers")); m_ignorePchCheckBox->setToolTip(tr( "<html><head/><body><p>When precompiled headers are not ignored, the parsing for code " @@ -98,6 +114,7 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s) m_ignorePchCheckBox, m_useBuiltinPreprocessorCheckBox, Row { m_skipIndexingBigFilesCheckBox, m_bigFilesLimitSpinBox, st }, + Row { Column { m_ignoreFilesCheckBox, st }, m_ignorePatternTextEdit }, } }, st @@ -132,6 +149,16 @@ bool CppCodeModelSettingsWidget::applyGeneralWidgetsToSettings() const 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); |