forked from qt-creator/qt-creator
CppEditor: Add support for showing pre-processed source files
Fixes: QTCREATORBUG-4 Change-Id: I819709e69e604849264e745da98065829f7cb228 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -50,6 +50,7 @@ private:
|
||||
CppCodeModelSettings *m_settings = nullptr;
|
||||
QCheckBox *m_interpretAmbiguousHeadersAsCHeaders;
|
||||
QCheckBox *m_ignorePchCheckBox;
|
||||
QCheckBox *m_useBuiltinPreprocessorCheckBox;
|
||||
QCheckBox *m_skipIndexingBigFilesCheckBox;
|
||||
QSpinBox *m_bigFilesLimitSpinBox;
|
||||
};
|
||||
@@ -74,10 +75,17 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s)
|
||||
"completion and semantic highlighting will process the precompiled header before "
|
||||
"processing any file.</p></body></html>"));
|
||||
|
||||
m_useBuiltinPreprocessorCheckBox = new QCheckBox(tr("Use built-in preprocessor to show "
|
||||
"pre-processed files"));
|
||||
m_useBuiltinPreprocessorCheckBox->setToolTip
|
||||
(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());
|
||||
|
||||
using namespace Utils::Layouting;
|
||||
|
||||
@@ -87,6 +95,7 @@ CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s)
|
||||
Column {
|
||||
m_interpretAmbiguousHeadersAsCHeaders,
|
||||
m_ignorePchCheckBox,
|
||||
m_useBuiltinPreprocessorCheckBox,
|
||||
Row { m_skipIndexingBigFilesCheckBox, m_bigFilesLimitSpinBox, st },
|
||||
}
|
||||
},
|
||||
@@ -117,6 +126,11 @@ bool CppCodeModelSettingsWidget::applyGeneralWidgetsToSettings() const
|
||||
m_settings->setSkipIndexingBigFiles(newSkipIndexingBigFiles);
|
||||
settingsChanged = true;
|
||||
}
|
||||
const bool newUseBuiltinPreprocessor = m_useBuiltinPreprocessorCheckBox->isChecked();
|
||||
if (m_settings->useBuiltinPreprocessor() != newUseBuiltinPreprocessor) {
|
||||
m_settings->setUseBuiltinPreprocessor(newUseBuiltinPreprocessor);
|
||||
settingsChanged = true;
|
||||
}
|
||||
const int newFileSizeLimit = m_bigFilesLimitSpinBox->value();
|
||||
if (m_settings->indexerFileSizeLimitInMb() != newFileSizeLimit) {
|
||||
m_settings->setIndexerFileSizeLimitInMb(newFileSizeLimit);
|
||||
|
||||
Reference in New Issue
Block a user