forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
@@ -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 <coreplugin/icore.h>
|
||||
|
||||
#include <projectexplorer/session.h>
|
||||
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/infolabel.h>
|
||||
#include <utils/itemviews.h>
|
||||
#include <utils/layoutbuilder.h>
|
||||
#include <utils/pathchooser.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <QDesktopServices>
|
||||
#include <QFormLayout>
|
||||
#include <QGroupBox>
|
||||
#include <QHBoxLayout>
|
||||
#include <QInputDialog>
|
||||
#include <QPushButton>
|
||||
#include <QSpinBox>
|
||||
@@ -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());
|
||||
|
||||
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 "
|
||||
"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() },
|
||||
}
|
||||
|
||||
CppCodeModelSettingsWidget::~CppCodeModelSettingsWidget()
|
||||
{
|
||||
delete m_ui;
|
||||
},
|
||||
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);
|
||||
|
||||
@@ -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><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></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>
|
||||
@@ -73,7 +73,6 @@ QtcPlugin {
|
||||
"cppcodemodelsettings.h",
|
||||
"cppcodemodelsettingspage.cpp",
|
||||
"cppcodemodelsettingspage.h",
|
||||
"cppcodemodelsettingspage.ui",
|
||||
"cppcodestylepreferences.cpp",
|
||||
"cppcodestylepreferences.h",
|
||||
"cppcodestylepreferencesfactory.cpp",
|
||||
|
||||
Reference in New Issue
Block a user