diff --git a/src/plugins/cppeditor/CMakeLists.txt b/src/plugins/cppeditor/CMakeLists.txt index 0f16cc5527d..e6463b77e5b 100644 --- a/src/plugins/cppeditor/CMakeLists.txt +++ b/src/plugins/cppeditor/CMakeLists.txt @@ -26,7 +26,7 @@ add_qtc_plugin(CppEditor cppcodemodelinspectordialog.cpp cppcodemodelinspectordialog.h cppcodemodelinspectordialog.ui cppcodemodelinspectordumper.cpp cppcodemodelinspectordumper.h cppcodemodelsettings.cpp cppcodemodelsettings.h - cppcodemodelsettingspage.cpp cppcodemodelsettingspage.h cppcodemodelsettingspage.ui + cppcodemodelsettingspage.cpp cppcodemodelsettingspage.h cppcodestylepreferences.cpp cppcodestylepreferences.h cppcodestylepreferencesfactory.cpp cppcodestylepreferencesfactory.h cppcodestylesettings.cpp cppcodestylesettings.h diff --git a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp index 280b6060171..30a948e7f94 100644 --- a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp @@ -24,7 +24,6 @@ ****************************************************************************/ #include "cppcodemodelsettingspage.h" -#include "ui_cppcodemodelsettingspage.h" #include "clangdiagnosticconfigsselectionwidget.h" #include "clangdiagnosticconfigswidget.h" @@ -32,17 +31,20 @@ #include "cpptoolsreuse.h" #include + #include + #include #include #include +#include #include #include +#include #include #include #include -#include #include #include #include @@ -61,32 +63,57 @@ class CppCodeModelSettingsWidget final : public Core::IOptionsPageWidget public: CppCodeModelSettingsWidget(CppCodeModelSettings *s); - ~CppCodeModelSettingsWidget() override; private: void apply() final; - void setupGeneralWidgets(); - bool applyGeneralWidgetsToSettings() const; - Ui::CppCodeModelSettingsPage *m_ui = nullptr; CppCodeModelSettings *m_settings = nullptr; + QCheckBox *m_interpretAmbiguousHeadersAsCHeaders; + QCheckBox *m_ignorePchCheckBox; + QCheckBox *m_skipIndexingBigFilesCheckBox; + QSpinBox *m_bigFilesLimitSpinBox; }; CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s) - : m_ui(new Ui::CppCodeModelSettingsPage) + : m_settings(s) { - m_ui->setupUi(this); + m_interpretAmbiguousHeadersAsCHeaders + = new QCheckBox(tr("Interpret ambiguous headers as C headers")); - m_settings = s; + m_skipIndexingBigFilesCheckBox = new QCheckBox(tr("Do not index files greater than")); + m_skipIndexingBigFilesCheckBox->setChecked(m_settings->skipIndexingBigFiles()); - setupGeneralWidgets(); -} + m_bigFilesLimitSpinBox = new QSpinBox; + m_bigFilesLimitSpinBox->setSuffix(tr("MB")); + m_bigFilesLimitSpinBox->setRange(1, 500); + m_bigFilesLimitSpinBox->setValue(m_settings->indexerFileSizeLimitInMb()); -CppCodeModelSettingsWidget::~CppCodeModelSettingsWidget() -{ - delete m_ui; + m_ignorePchCheckBox = new QCheckBox(tr("Ignore precompiled headers")); + m_ignorePchCheckBox->setToolTip(tr( + "

When precompiled headers are not ignored, the parsing for code " + "completion and semantic highlighting will process the precompiled header before " + "processing any file.

")); + + m_interpretAmbiguousHeadersAsCHeaders->setChecked( + m_settings->interpretAmbigiousHeadersAsCHeaders()); + + m_ignorePchCheckBox->setChecked(m_settings->pchUsage() == CppCodeModelSettings::PchUse_None); + + using namespace Utils::Layouting; + + Column { + Group { + Title(tr("General")), + Column { + m_interpretAmbiguousHeadersAsCHeaders, + m_ignorePchCheckBox, + Row { m_skipIndexingBigFilesCheckBox, m_bigFilesLimitSpinBox, Stretch() }, + } + }, + Stretch() + }.attachTo(this); } void CppCodeModelSettingsWidget::apply() @@ -95,45 +122,33 @@ void CppCodeModelSettingsWidget::apply() m_settings->toSettings(Core::ICore::settings()); } -void CppCodeModelSettingsWidget::setupGeneralWidgets() -{ - m_ui->interpretAmbiguousHeadersAsCHeaders->setChecked( - m_settings->interpretAmbigiousHeadersAsCHeaders()); - - m_ui->skipIndexingBigFilesCheckBox->setChecked(m_settings->skipIndexingBigFiles()); - m_ui->bigFilesLimitSpinBox->setValue(m_settings->indexerFileSizeLimitInMb()); - - const bool ignorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None; - m_ui->ignorePCHCheckBox->setChecked(ignorePch); -} - bool CppCodeModelSettingsWidget::applyGeneralWidgetsToSettings() const { bool settingsChanged = false; const bool newInterpretAmbiguousHeaderAsCHeaders - = m_ui->interpretAmbiguousHeadersAsCHeaders->isChecked(); + = m_interpretAmbiguousHeadersAsCHeaders->isChecked(); if (m_settings->interpretAmbigiousHeadersAsCHeaders() != newInterpretAmbiguousHeaderAsCHeaders) { m_settings->setInterpretAmbigiousHeadersAsCHeaders(newInterpretAmbiguousHeaderAsCHeaders); settingsChanged = true; } - const bool newSkipIndexingBigFiles = m_ui->skipIndexingBigFilesCheckBox->isChecked(); + const bool newSkipIndexingBigFiles = m_skipIndexingBigFilesCheckBox->isChecked(); if (m_settings->skipIndexingBigFiles() != newSkipIndexingBigFiles) { m_settings->setSkipIndexingBigFiles(newSkipIndexingBigFiles); settingsChanged = true; } - const int newFileSizeLimit = m_ui->bigFilesLimitSpinBox->value(); + const int newFileSizeLimit = m_bigFilesLimitSpinBox->value(); if (m_settings->indexerFileSizeLimitInMb() != newFileSizeLimit) { m_settings->setIndexerFileSizeLimitInMb(newFileSizeLimit); settingsChanged = true; } - const bool newIgnorePch = m_ui->ignorePCHCheckBox->isChecked(); + const bool newIgnorePch = m_ignorePchCheckBox->isChecked(); const bool previousIgnorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None; if (newIgnorePch != previousIgnorePch) { - const CppCodeModelSettings::PCHUsage pchUsage = m_ui->ignorePCHCheckBox->isChecked() + const CppCodeModelSettings::PCHUsage pchUsage = m_ignorePchCheckBox->isChecked() ? CppCodeModelSettings::PchUse_None : CppCodeModelSettings::PchUse_BuildSystem; m_settings->setPCHUsage(pchUsage); diff --git a/src/plugins/cppeditor/cppcodemodelsettingspage.ui b/src/plugins/cppeditor/cppcodemodelsettingspage.ui deleted file mode 100644 index 43b9e70352e..00000000000 --- a/src/plugins/cppeditor/cppcodemodelsettingspage.ui +++ /dev/null @@ -1,106 +0,0 @@ - - - CppEditor::Internal::CppCodeModelSettingsPage - - - - 0 - 0 - 697 - 440 - - - - - - - - - - General - - - - - - Interpret ambiguous headers as C headers - - - - - - - <html><head/><body><p>When precompiled headers are not ignored, the parsing for code completion and semantic highlighting will process the precompiled header before processing any file.</p></body></html> - - - Ignore precompiled headers - - - - - - - - - Do not index files greater than - - - true - - - - - - - MB - - - 1 - - - 500 - - - 5 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index a724ce5f7e7..989619b9be8 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -73,7 +73,6 @@ QtcPlugin { "cppcodemodelsettings.h", "cppcodemodelsettingspage.cpp", "cppcodemodelsettingspage.h", - "cppcodemodelsettingspage.ui", "cppcodestylepreferences.cpp", "cppcodestylepreferences.h", "cppcodestylepreferencesfactory.cpp",