forked from qt-creator/qt-creator
CppEditor: Use IOptionPage::setWidgetCreator() for cppquickfix settings
Change-Id: I33455f2ea98b1cafbb56ab8267b4d0afca106f33 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -28,7 +28,7 @@ CppQuickFixProjectSettingsWidget::CppQuickFixProjectSettingsWidget(ProjectExplor
|
|||||||
auto layout = new QVBoxLayout();
|
auto layout = new QVBoxLayout();
|
||||||
gridLayout->addLayout(layout, 2, 0, 1, 2);
|
gridLayout->addLayout(layout, 2, 0, 1, 2);
|
||||||
|
|
||||||
m_settingsWidget = new CppQuickFixSettingsWidget(this);
|
m_settingsWidget = new CppQuickFixSettingsWidget;
|
||||||
m_settingsWidget->loadSettings(m_projectSettings->getSettings());
|
m_settingsWidget->loadSettings(m_projectSettings->getSettings());
|
||||||
|
|
||||||
if (QLayout *layout = m_settingsWidget->layout())
|
if (QLayout *layout = m_settingsWidget->layout())
|
||||||
|
@@ -5,12 +5,8 @@
|
|||||||
|
|
||||||
#include "cppeditorconstants.h"
|
#include "cppeditorconstants.h"
|
||||||
#include "cppeditortr.h"
|
#include "cppeditortr.h"
|
||||||
#include "cppquickfixsettings.h"
|
|
||||||
#include "cppquickfixsettingswidget.h"
|
#include "cppquickfixsettingswidget.h"
|
||||||
|
|
||||||
#include <QCoreApplication>
|
|
||||||
#include <QtDebug>
|
|
||||||
|
|
||||||
namespace CppEditor::Internal {
|
namespace CppEditor::Internal {
|
||||||
|
|
||||||
CppQuickFixSettingsPage::CppQuickFixSettingsPage()
|
CppQuickFixSettingsPage::CppQuickFixSettingsPage()
|
||||||
@@ -18,27 +14,7 @@ CppQuickFixSettingsPage::CppQuickFixSettingsPage()
|
|||||||
setId(Constants::QUICK_FIX_SETTINGS_ID);
|
setId(Constants::QUICK_FIX_SETTINGS_ID);
|
||||||
setDisplayName(Tr::tr(Constants::QUICK_FIX_SETTINGS_DISPLAY_NAME));
|
setDisplayName(Tr::tr(Constants::QUICK_FIX_SETTINGS_DISPLAY_NAME));
|
||||||
setCategory(Constants::CPP_SETTINGS_CATEGORY);
|
setCategory(Constants::CPP_SETTINGS_CATEGORY);
|
||||||
}
|
setWidgetCreator([] { return new CppQuickFixSettingsWidget; });
|
||||||
|
|
||||||
QWidget *CppQuickFixSettingsPage::widget()
|
|
||||||
{
|
|
||||||
if (!m_widget) {
|
|
||||||
m_widget = new CppQuickFixSettingsWidget;
|
|
||||||
m_widget->loadSettings(CppQuickFixSettings::instance());
|
|
||||||
}
|
|
||||||
return m_widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppQuickFixSettingsPage::apply()
|
|
||||||
{
|
|
||||||
const auto s = CppQuickFixSettings::instance();
|
|
||||||
m_widget->saveSettings(s);
|
|
||||||
s->saveAsGlobalSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppQuickFixSettingsPage::finish()
|
|
||||||
{
|
|
||||||
delete m_widget;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // CppEditor::Internal
|
} // CppEditor::Internal
|
||||||
|
@@ -5,24 +5,12 @@
|
|||||||
|
|
||||||
#include <coreplugin/dialogs/ioptionspage.h>
|
#include <coreplugin/dialogs/ioptionspage.h>
|
||||||
|
|
||||||
#include <QPointer>
|
namespace CppEditor::Internal {
|
||||||
|
|
||||||
namespace CppEditor {
|
|
||||||
namespace Internal {
|
|
||||||
class CppQuickFixSettingsWidget;
|
|
||||||
|
|
||||||
class CppQuickFixSettingsPage : public Core::IOptionsPage
|
class CppQuickFixSettingsPage : public Core::IOptionsPage
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CppQuickFixSettingsPage();
|
CppQuickFixSettingsPage();
|
||||||
|
|
||||||
QWidget *widget() override;
|
|
||||||
void apply() override;
|
|
||||||
void finish() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
QPointer<CppQuickFixSettingsWidget> m_widget;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // CppEditor::Internal
|
||||||
} // namespace CppEditor
|
|
||||||
|
@@ -88,9 +88,8 @@ void LineCountSpinBox::updateFields()
|
|||||||
m_unitLabel->setEnabled(enabled);
|
m_unitLabel->setEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
CppQuickFixSettingsWidget::CppQuickFixSettingsWidget(QWidget *parent)
|
CppQuickFixSettingsWidget::CppQuickFixSettingsWidget()
|
||||||
: QWidget(parent)
|
: m_typeSplitter("\\s*,\\s*")
|
||||||
, m_typeSplitter("\\s*,\\s*")
|
|
||||||
{
|
{
|
||||||
m_lines_getterOutsideClass = new LineCountSpinBox;
|
m_lines_getterOutsideClass = new LineCountSpinBox;
|
||||||
m_lines_getterInCppFile = new LineCountSpinBox;
|
m_lines_getterInCppFile = new LineCountSpinBox;
|
||||||
@@ -319,6 +318,8 @@ e.g. name = "m_test_foo_":
|
|||||||
connect(m_radioButton_addUsingnamespace, &QRadioButton::clicked, then);
|
connect(m_radioButton_addUsingnamespace, &QRadioButton::clicked, then);
|
||||||
connect(m_radioButton_generateMissingNamespace, &QRadioButton::clicked, then);
|
connect(m_radioButton_generateMissingNamespace, &QRadioButton::clicked, then);
|
||||||
connect(m_radioButton_rewriteTypes, &QRadioButton::clicked, then);
|
connect(m_radioButton_rewriteTypes, &QRadioButton::clicked, then);
|
||||||
|
|
||||||
|
loadSettings(CppQuickFixSettings::instance());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppQuickFixSettingsWidget::loadSettings(CppQuickFixSettings *settings)
|
void CppQuickFixSettingsWidget::loadSettings(CppQuickFixSettings *settings)
|
||||||
@@ -426,6 +427,13 @@ void CppQuickFixSettingsWidget::saveSettings(CppQuickFixSettings *settings)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CppQuickFixSettingsWidget::apply()
|
||||||
|
{
|
||||||
|
const auto s = CppQuickFixSettings::instance();
|
||||||
|
saveSettings(s);
|
||||||
|
s->saveAsGlobalSettings();
|
||||||
|
}
|
||||||
|
|
||||||
void CppQuickFixSettingsWidget::currentCustomItemChanged(QListWidgetItem *newItem,
|
void CppQuickFixSettingsWidget::currentCustomItemChanged(QListWidgetItem *newItem,
|
||||||
QListWidgetItem *oldItem)
|
QListWidgetItem *oldItem)
|
||||||
{
|
{
|
||||||
|
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <coreplugin/dialogs/ioptionspage.h>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
@@ -23,7 +25,7 @@ namespace CppEditor::Internal {
|
|||||||
|
|
||||||
class LineCountSpinBox;
|
class LineCountSpinBox;
|
||||||
|
|
||||||
class CppQuickFixSettingsWidget : public QWidget
|
class CppQuickFixSettingsWidget : public Core::IOptionsPageWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
@@ -36,7 +38,7 @@ class CppQuickFixSettingsWidget : public QWidget
|
|||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CppQuickFixSettingsWidget(QWidget *parent = nullptr);
|
CppQuickFixSettingsWidget();
|
||||||
|
|
||||||
void loadSettings(CppQuickFixSettings *settings);
|
void loadSettings(CppQuickFixSettings *settings);
|
||||||
void saveSettings(CppQuickFixSettings *settings);
|
void saveSettings(CppQuickFixSettings *settings);
|
||||||
@@ -45,6 +47,7 @@ signals:
|
|||||||
void settingsChanged();
|
void settingsChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void apply() final;
|
||||||
void currentCustomItemChanged(QListWidgetItem *newItem, QListWidgetItem *oldItem);
|
void currentCustomItemChanged(QListWidgetItem *newItem, QListWidgetItem *oldItem);
|
||||||
|
|
||||||
bool m_isLoadingSettings = false;
|
bool m_isLoadingSettings = false;
|
||||||
|
Reference in New Issue
Block a user