CppEditor: Inline cppcodemodelsettingspage.ui

Change-Id: I97f27121714adaca00aaa1347d460968be395afa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2022-07-12 18:21:44 +02:00
parent 81dfcb4859
commit db7b523a94
4 changed files with 47 additions and 139 deletions

View File

@@ -26,7 +26,7 @@ add_qtc_plugin(CppEditor
cppcodemodelinspectordialog.cpp cppcodemodelinspectordialog.h cppcodemodelinspectordialog.ui cppcodemodelinspectordialog.cpp cppcodemodelinspectordialog.h cppcodemodelinspectordialog.ui
cppcodemodelinspectordumper.cpp cppcodemodelinspectordumper.h cppcodemodelinspectordumper.cpp cppcodemodelinspectordumper.h
cppcodemodelsettings.cpp cppcodemodelsettings.h cppcodemodelsettings.cpp cppcodemodelsettings.h
cppcodemodelsettingspage.cpp cppcodemodelsettingspage.h cppcodemodelsettingspage.ui cppcodemodelsettingspage.cpp cppcodemodelsettingspage.h
cppcodestylepreferences.cpp cppcodestylepreferences.h cppcodestylepreferences.cpp cppcodestylepreferences.h
cppcodestylepreferencesfactory.cpp cppcodestylepreferencesfactory.h cppcodestylepreferencesfactory.cpp cppcodestylepreferencesfactory.h
cppcodestylesettings.cpp cppcodestylesettings.h cppcodestylesettings.cpp cppcodestylesettings.h

View File

@@ -24,7 +24,6 @@
****************************************************************************/ ****************************************************************************/
#include "cppcodemodelsettingspage.h" #include "cppcodemodelsettingspage.h"
#include "ui_cppcodemodelsettingspage.h"
#include "clangdiagnosticconfigsselectionwidget.h" #include "clangdiagnosticconfigsselectionwidget.h"
#include "clangdiagnosticconfigswidget.h" #include "clangdiagnosticconfigswidget.h"
@@ -32,17 +31,20 @@
#include "cpptoolsreuse.h" #include "cpptoolsreuse.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <projectexplorer/session.h> #include <projectexplorer/session.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/infolabel.h> #include <utils/infolabel.h>
#include <utils/itemviews.h> #include <utils/itemviews.h>
#include <utils/layoutbuilder.h>
#include <utils/pathchooser.h> #include <utils/pathchooser.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCheckBox>
#include <QDesktopServices> #include <QDesktopServices>
#include <QFormLayout> #include <QFormLayout>
#include <QGroupBox> #include <QGroupBox>
#include <QHBoxLayout>
#include <QInputDialog> #include <QInputDialog>
#include <QPushButton> #include <QPushButton>
#include <QSpinBox> #include <QSpinBox>
@@ -61,32 +63,57 @@ class CppCodeModelSettingsWidget final : public Core::IOptionsPageWidget
public: public:
CppCodeModelSettingsWidget(CppCodeModelSettings *s); CppCodeModelSettingsWidget(CppCodeModelSettings *s);
~CppCodeModelSettingsWidget() override;
private: private:
void apply() final; void apply() final;
void setupGeneralWidgets();
bool applyGeneralWidgetsToSettings() const; bool applyGeneralWidgetsToSettings() const;
Ui::CppCodeModelSettingsPage *m_ui = nullptr;
CppCodeModelSettings *m_settings = nullptr; CppCodeModelSettings *m_settings = nullptr;
QCheckBox *m_interpretAmbiguousHeadersAsCHeaders;
QCheckBox *m_ignorePchCheckBox;
QCheckBox *m_skipIndexingBigFilesCheckBox;
QSpinBox *m_bigFilesLimitSpinBox;
}; };
CppCodeModelSettingsWidget::CppCodeModelSettingsWidget(CppCodeModelSettings *s) 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() m_ignorePchCheckBox = new QCheckBox(tr("Ignore precompiled headers"));
{ m_ignorePchCheckBox->setToolTip(tr(
delete m_ui; "<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>"));
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() void CppCodeModelSettingsWidget::apply()
@@ -95,45 +122,33 @@ void CppCodeModelSettingsWidget::apply()
m_settings->toSettings(Core::ICore::settings()); 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 CppCodeModelSettingsWidget::applyGeneralWidgetsToSettings() const
{ {
bool settingsChanged = false; bool settingsChanged = false;
const bool newInterpretAmbiguousHeaderAsCHeaders const bool newInterpretAmbiguousHeaderAsCHeaders
= m_ui->interpretAmbiguousHeadersAsCHeaders->isChecked(); = m_interpretAmbiguousHeadersAsCHeaders->isChecked();
if (m_settings->interpretAmbigiousHeadersAsCHeaders() if (m_settings->interpretAmbigiousHeadersAsCHeaders()
!= newInterpretAmbiguousHeaderAsCHeaders) { != newInterpretAmbiguousHeaderAsCHeaders) {
m_settings->setInterpretAmbigiousHeadersAsCHeaders(newInterpretAmbiguousHeaderAsCHeaders); m_settings->setInterpretAmbigiousHeadersAsCHeaders(newInterpretAmbiguousHeaderAsCHeaders);
settingsChanged = true; settingsChanged = true;
} }
const bool newSkipIndexingBigFiles = m_ui->skipIndexingBigFilesCheckBox->isChecked(); const bool newSkipIndexingBigFiles = m_skipIndexingBigFilesCheckBox->isChecked();
if (m_settings->skipIndexingBigFiles() != newSkipIndexingBigFiles) { if (m_settings->skipIndexingBigFiles() != newSkipIndexingBigFiles) {
m_settings->setSkipIndexingBigFiles(newSkipIndexingBigFiles); m_settings->setSkipIndexingBigFiles(newSkipIndexingBigFiles);
settingsChanged = true; settingsChanged = true;
} }
const int newFileSizeLimit = m_ui->bigFilesLimitSpinBox->value(); const int newFileSizeLimit = m_bigFilesLimitSpinBox->value();
if (m_settings->indexerFileSizeLimitInMb() != newFileSizeLimit) { if (m_settings->indexerFileSizeLimitInMb() != newFileSizeLimit) {
m_settings->setIndexerFileSizeLimitInMb(newFileSizeLimit); m_settings->setIndexerFileSizeLimitInMb(newFileSizeLimit);
settingsChanged = true; settingsChanged = true;
} }
const bool newIgnorePch = m_ui->ignorePCHCheckBox->isChecked(); const bool newIgnorePch = m_ignorePchCheckBox->isChecked();
const bool previousIgnorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None; const bool previousIgnorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None;
if (newIgnorePch != previousIgnorePch) { if (newIgnorePch != previousIgnorePch) {
const CppCodeModelSettings::PCHUsage pchUsage = m_ui->ignorePCHCheckBox->isChecked() const CppCodeModelSettings::PCHUsage pchUsage = m_ignorePchCheckBox->isChecked()
? CppCodeModelSettings::PchUse_None ? CppCodeModelSettings::PchUse_None
: CppCodeModelSettings::PchUse_BuildSystem; : CppCodeModelSettings::PchUse_BuildSystem;
m_settings->setPCHUsage(pchUsage); m_settings->setPCHUsage(pchUsage);

View File

@@ -1,106 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CppEditor::Internal::CppCodeModelSettingsPage</class>
<widget class="QWidget" name="CppEditor:Internal::CppCodeModelSettingsPage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>697</width>
<height>440</height>
</rect>
</property>
<property name="windowTitle">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="anotherGroupBox">
<property name="title">
<string>General</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="interpretAmbiguousHeadersAsCHeaders">
<property name="text">
<string>Interpret ambiguous headers as C headers</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ignorePCHCheckBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When precompiled headers are not ignored, the parsing for code completion and semantic highlighting will process the precompiled header before processing any file.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Ignore precompiled headers</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QCheckBox" name="skipIndexingBigFilesCheckBox">
<property name="text">
<string>Do not index files greater than</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="bigFilesLimitSpinBox">
<property name="suffix">
<string>MB</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>500</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3"/>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -73,7 +73,6 @@ QtcPlugin {
"cppcodemodelsettings.h", "cppcodemodelsettings.h",
"cppcodemodelsettingspage.cpp", "cppcodemodelsettingspage.cpp",
"cppcodemodelsettingspage.h", "cppcodemodelsettingspage.h",
"cppcodemodelsettingspage.ui",
"cppcodestylepreferences.cpp", "cppcodestylepreferences.cpp",
"cppcodestylepreferences.h", "cppcodestylepreferences.h",
"cppcodestylepreferencesfactory.cpp", "cppcodestylepreferencesfactory.cpp",