forked from qt-creator/qt-creator
TextEditor: Use IOptionPage::setWidgetCreator() for snippets settings
Change-Id: I9aa91edef20f325f1a2fc93388aecb5776b970d6 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -78,9 +78,7 @@ SnippetsCollection::SnippetsCollection()
|
|||||||
m_builtInSnippetsFiles(Core::ICore::resourcePath("snippets")
|
m_builtInSnippetsFiles(Core::ICore::resourcePath("snippets")
|
||||||
.dirEntries(FileFilter({"*.xml"})))
|
.dirEntries(FileFilter({"*.xml"})))
|
||||||
{
|
{
|
||||||
|
identifyGroups();
|
||||||
connect(Core::ICore::instance(), &Core::ICore::coreOpened,
|
|
||||||
this, &SnippetsCollection::identifyGroups);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SnippetsCollection::~SnippetsCollection() = default;
|
SnippetsCollection::~SnippetsCollection() = default;
|
||||||
|
@@ -35,15 +35,14 @@
|
|||||||
#include <QStackedWidget>
|
#include <QStackedWidget>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
|
|
||||||
namespace TextEditor {
|
namespace TextEditor::Internal {
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
// SnippetsTableModel
|
// SnippetsTableModel
|
||||||
|
|
||||||
class SnippetsTableModel : public QAbstractTableModel
|
class SnippetsTableModel : public QAbstractTableModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
|
||||||
public:
|
public:
|
||||||
SnippetsTableModel(QObject *parent);
|
SnippetsTableModel();
|
||||||
~SnippetsTableModel() override = default;
|
~SnippetsTableModel() override = default;
|
||||||
|
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
@@ -74,9 +73,8 @@ private:
|
|||||||
QString m_activeGroupId;
|
QString m_activeGroupId;
|
||||||
};
|
};
|
||||||
|
|
||||||
SnippetsTableModel::SnippetsTableModel(QObject *parent) :
|
SnippetsTableModel::SnippetsTableModel()
|
||||||
QAbstractTableModel(parent),
|
: m_collection(SnippetsCollection::instance())
|
||||||
m_collection(SnippetsCollection::instance())
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
int SnippetsTableModel::rowCount(const QModelIndex &) const
|
int SnippetsTableModel::rowCount(const QModelIndex &) const
|
||||||
@@ -244,19 +242,15 @@ void SnippetsTableModel::replaceSnippet(const Snippet &snippet, const QModelInde
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SnippetsSettingsPagePrivate
|
// SnippetsSettingsWidget
|
||||||
class SnippetsSettingsPagePrivate : public QObject
|
|
||||||
|
class SnippetsSettingsWidget : public Core::IOptionsPageWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SnippetsSettingsPagePrivate();
|
SnippetsSettingsWidget();
|
||||||
~SnippetsSettingsPagePrivate() override { delete m_model; }
|
|
||||||
|
|
||||||
void configureUi(QWidget *parent);
|
void apply() final;
|
||||||
|
void finish() final;
|
||||||
void apply();
|
|
||||||
void finish();
|
|
||||||
|
|
||||||
QPointer<QWidget> m_widget;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadSnippetGroup(int index);
|
void loadSnippetGroup(int index);
|
||||||
@@ -279,9 +273,9 @@ private:
|
|||||||
bool settingsChanged() const;
|
bool settingsChanged() const;
|
||||||
void writeSettings();
|
void writeSettings();
|
||||||
|
|
||||||
const QString m_settingsPrefix;
|
const QString m_settingsPrefix{QLatin1String("Text")};
|
||||||
SnippetsTableModel *m_model;
|
SnippetsTableModel m_model;
|
||||||
bool m_snippetsCollectionChanged;
|
bool m_snippetsCollectionChanged = false;
|
||||||
SnippetsSettings m_settings;
|
SnippetsSettings m_settings;
|
||||||
|
|
||||||
QStackedWidget *m_snippetsEditorStack;
|
QStackedWidget *m_snippetsEditorStack;
|
||||||
@@ -290,38 +284,22 @@ private:
|
|||||||
QPushButton *m_revertButton;
|
QPushButton *m_revertButton;
|
||||||
};
|
};
|
||||||
|
|
||||||
SnippetsSettingsPagePrivate::SnippetsSettingsPagePrivate() :
|
SnippetsSettingsWidget::SnippetsSettingsWidget()
|
||||||
m_settingsPrefix(QLatin1String("Text")),
|
|
||||||
m_model(new SnippetsTableModel(nullptr)),
|
|
||||||
m_snippetsCollectionChanged(false)
|
|
||||||
{}
|
|
||||||
|
|
||||||
SnippetEditorWidget *SnippetsSettingsPagePrivate::currentEditor() const
|
|
||||||
{
|
|
||||||
return editorAt(m_snippetsEditorStack->currentIndex());
|
|
||||||
}
|
|
||||||
|
|
||||||
SnippetEditorWidget *SnippetsSettingsPagePrivate::editorAt(int i) const
|
|
||||||
{
|
|
||||||
return static_cast<SnippetEditorWidget *>(m_snippetsEditorStack->widget(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::configureUi(QWidget *w)
|
|
||||||
{
|
{
|
||||||
m_groupCombo = new QComboBox;
|
m_groupCombo = new QComboBox;
|
||||||
m_snippetsEditorStack = new QStackedWidget;
|
m_snippetsEditorStack = new QStackedWidget;
|
||||||
for (const SnippetProvider &provider : SnippetProvider::snippetProviders()) {
|
for (const SnippetProvider &provider : SnippetProvider::snippetProviders()) {
|
||||||
m_groupCombo->addItem(provider.displayName(), provider.groupId());
|
m_groupCombo->addItem(provider.displayName(), provider.groupId());
|
||||||
auto snippetEditor = new SnippetEditorWidget(w);
|
auto snippetEditor = new SnippetEditorWidget(this);
|
||||||
SnippetProvider::decorateEditor(snippetEditor, provider.groupId());
|
SnippetProvider::decorateEditor(snippetEditor, provider.groupId());
|
||||||
m_snippetsEditorStack->insertWidget(m_groupCombo->count() - 1, snippetEditor);
|
m_snippetsEditorStack->insertWidget(m_groupCombo->count() - 1, snippetEditor);
|
||||||
connect(snippetEditor, &SnippetEditorWidget::snippetContentChanged,
|
connect(snippetEditor, &SnippetEditorWidget::snippetContentChanged,
|
||||||
this, &SnippetsSettingsPagePrivate::setSnippetContent);
|
this, &SnippetsSettingsWidget::setSnippetContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_snippetsTable = new Utils::TreeView;
|
m_snippetsTable = new Utils::TreeView;
|
||||||
m_snippetsTable->setRootIsDecorated(false);
|
m_snippetsTable->setRootIsDecorated(false);
|
||||||
m_snippetsTable->setModel(m_model);
|
m_snippetsTable->setModel(&m_model);
|
||||||
|
|
||||||
m_revertButton = new QPushButton(Tr::tr("Revert Built-in"));
|
m_revertButton = new QPushButton(Tr::tr("Revert Built-in"));
|
||||||
m_revertButton->setEnabled(false);
|
m_revertButton->setEnabled(false);
|
||||||
@@ -350,40 +328,50 @@ void SnippetsSettingsPagePrivate::configureUi(QWidget *w)
|
|||||||
st,
|
st,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.attachTo(w);
|
}.attachTo(this);
|
||||||
|
|
||||||
loadSettings();
|
loadSettings();
|
||||||
loadSnippetGroup(m_groupCombo->currentIndex());
|
loadSnippetGroup(m_groupCombo->currentIndex());
|
||||||
|
|
||||||
connect(m_model, &QAbstractItemModel::rowsInserted,
|
connect(&m_model, &QAbstractItemModel::rowsInserted,
|
||||||
this, &SnippetsSettingsPagePrivate::selectSnippet);
|
this, &SnippetsSettingsWidget::selectSnippet);
|
||||||
connect(m_model, &QAbstractItemModel::rowsInserted,
|
connect(&m_model, &QAbstractItemModel::rowsInserted,
|
||||||
this, &SnippetsSettingsPagePrivate::markSnippetsCollection);
|
this, &SnippetsSettingsWidget::markSnippetsCollection);
|
||||||
connect(m_model, &QAbstractItemModel::rowsRemoved,
|
connect(&m_model, &QAbstractItemModel::rowsRemoved,
|
||||||
this, &SnippetsSettingsPagePrivate::markSnippetsCollection);
|
this, &SnippetsSettingsWidget::markSnippetsCollection);
|
||||||
connect(m_model, &QAbstractItemModel::rowsMoved,
|
connect(&m_model, &QAbstractItemModel::rowsMoved,
|
||||||
this, &SnippetsSettingsPagePrivate::selectMovedSnippet);
|
this, &SnippetsSettingsWidget::selectMovedSnippet);
|
||||||
connect(m_model, &QAbstractItemModel::rowsMoved,
|
connect(&m_model, &QAbstractItemModel::rowsMoved,
|
||||||
this, &SnippetsSettingsPagePrivate::markSnippetsCollection);
|
this, &SnippetsSettingsWidget::markSnippetsCollection);
|
||||||
connect(m_model, &QAbstractItemModel::dataChanged,
|
connect(&m_model, &QAbstractItemModel::dataChanged,
|
||||||
this, &SnippetsSettingsPagePrivate::markSnippetsCollection);
|
this, &SnippetsSettingsWidget::markSnippetsCollection);
|
||||||
connect(m_model, &QAbstractItemModel::modelReset,
|
connect(&m_model, &QAbstractItemModel::modelReset,
|
||||||
this, [this] { this->updateCurrentSnippetDependent(); });
|
this, [this] { this->updateCurrentSnippetDependent(); });
|
||||||
connect(m_model, &QAbstractItemModel::modelReset,
|
connect(&m_model, &QAbstractItemModel::modelReset,
|
||||||
this, &SnippetsSettingsPagePrivate::markSnippetsCollection);
|
this, &SnippetsSettingsWidget::markSnippetsCollection);
|
||||||
|
|
||||||
connect(m_groupCombo, &QComboBox::currentIndexChanged,
|
connect(m_groupCombo, &QComboBox::currentIndexChanged,
|
||||||
this, &SnippetsSettingsPagePrivate::loadSnippetGroup);
|
this, &SnippetsSettingsWidget::loadSnippetGroup);
|
||||||
connect(m_revertButton, &QAbstractButton::clicked,
|
connect(m_revertButton, &QAbstractButton::clicked,
|
||||||
this, &SnippetsSettingsPagePrivate::revertBuiltInSnippet);
|
this, &SnippetsSettingsWidget::revertBuiltInSnippet);
|
||||||
connect(m_snippetsTable->selectionModel(), &QItemSelectionModel::currentChanged,
|
connect(m_snippetsTable->selectionModel(), &QItemSelectionModel::currentChanged,
|
||||||
this, &SnippetsSettingsPagePrivate::updateCurrentSnippetDependent);
|
this, &SnippetsSettingsWidget::updateCurrentSnippetDependent);
|
||||||
|
|
||||||
connect(TextEditorSettings::instance(), &TextEditorSettings::fontSettingsChanged,
|
connect(TextEditorSettings::instance(), &TextEditorSettings::fontSettingsChanged,
|
||||||
this, &SnippetsSettingsPagePrivate::decorateEditors);
|
this, &SnippetsSettingsWidget::decorateEditors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::apply()
|
SnippetEditorWidget *SnippetsSettingsWidget::currentEditor() const
|
||||||
|
{
|
||||||
|
return editorAt(m_snippetsEditorStack->currentIndex());
|
||||||
|
}
|
||||||
|
|
||||||
|
SnippetEditorWidget *SnippetsSettingsWidget::editorAt(int i) const
|
||||||
|
{
|
||||||
|
return static_cast<SnippetEditorWidget *>(m_snippetsEditorStack->widget(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
void SnippetsSettingsWidget::apply()
|
||||||
{
|
{
|
||||||
if (settingsChanged())
|
if (settingsChanged())
|
||||||
writeSettings();
|
writeSettings();
|
||||||
@@ -402,7 +390,7 @@ void SnippetsSettingsPagePrivate::apply()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::finish()
|
void SnippetsSettingsWidget::finish()
|
||||||
{
|
{
|
||||||
if (m_snippetsCollectionChanged) {
|
if (m_snippetsCollectionChanged) {
|
||||||
SnippetsCollection::instance()->reload();
|
SnippetsCollection::instance()->reload();
|
||||||
@@ -412,7 +400,7 @@ void SnippetsSettingsPagePrivate::finish()
|
|||||||
disconnect(TextEditorSettings::instance(), nullptr, this, nullptr);
|
disconnect(TextEditorSettings::instance(), nullptr, this, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::loadSettings()
|
void SnippetsSettingsWidget::loadSettings()
|
||||||
{
|
{
|
||||||
if (m_groupCombo->count() == 0)
|
if (m_groupCombo->count() == 0)
|
||||||
return;
|
return;
|
||||||
@@ -426,7 +414,7 @@ void SnippetsSettingsPagePrivate::loadSettings()
|
|||||||
m_groupCombo->setCurrentIndex(0);
|
m_groupCombo->setCurrentIndex(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::writeSettings()
|
void SnippetsSettingsWidget::writeSettings()
|
||||||
{
|
{
|
||||||
if (m_groupCombo->count() == 0)
|
if (m_groupCombo->count() == 0)
|
||||||
return;
|
return;
|
||||||
@@ -435,72 +423,72 @@ void SnippetsSettingsPagePrivate::writeSettings()
|
|||||||
m_settings.toSettings(m_settingsPrefix, Core::ICore::settings());
|
m_settings.toSettings(m_settingsPrefix, Core::ICore::settings());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SnippetsSettingsPagePrivate::settingsChanged() const
|
bool SnippetsSettingsWidget::settingsChanged() const
|
||||||
{
|
{
|
||||||
if (m_settings.lastUsedSnippetGroup() != m_groupCombo->currentText())
|
if (m_settings.lastUsedSnippetGroup() != m_groupCombo->currentText())
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::loadSnippetGroup(int index)
|
void SnippetsSettingsWidget::loadSnippetGroup(int index)
|
||||||
{
|
{
|
||||||
if (index == -1)
|
if (index == -1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_snippetsEditorStack->setCurrentIndex(index);
|
m_snippetsEditorStack->setCurrentIndex(index);
|
||||||
currentEditor()->clear();
|
currentEditor()->clear();
|
||||||
m_model->load(m_groupCombo->itemData(index).toString());
|
m_model.load(m_groupCombo->itemData(index).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::markSnippetsCollection()
|
void SnippetsSettingsWidget::markSnippetsCollection()
|
||||||
{
|
{
|
||||||
if (!m_snippetsCollectionChanged)
|
if (!m_snippetsCollectionChanged)
|
||||||
m_snippetsCollectionChanged = true;
|
m_snippetsCollectionChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::addSnippet()
|
void SnippetsSettingsWidget::addSnippet()
|
||||||
{
|
{
|
||||||
const QModelIndex &modelIndex = m_model->createSnippet();
|
const QModelIndex &modelIndex = m_model.createSnippet();
|
||||||
selectSnippet(QModelIndex(), modelIndex.row());
|
selectSnippet(QModelIndex(), modelIndex.row());
|
||||||
m_snippetsTable->edit(modelIndex);
|
m_snippetsTable->edit(modelIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::removeSnippet()
|
void SnippetsSettingsWidget::removeSnippet()
|
||||||
{
|
{
|
||||||
const QModelIndex &modelIndex = m_snippetsTable->selectionModel()->currentIndex();
|
const QModelIndex &modelIndex = m_snippetsTable->selectionModel()->currentIndex();
|
||||||
if (!modelIndex.isValid()) {
|
if (!modelIndex.isValid()) {
|
||||||
QMessageBox::critical(Core::ICore::dialogParent(), Tr::tr("Error"), Tr::tr("No snippet selected."));
|
QMessageBox::critical(Core::ICore::dialogParent(), Tr::tr("Error"), Tr::tr("No snippet selected."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_model->removeSnippet(modelIndex);
|
m_model.removeSnippet(modelIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::restoreRemovedBuiltInSnippets()
|
void SnippetsSettingsWidget::restoreRemovedBuiltInSnippets()
|
||||||
{
|
{
|
||||||
m_model->restoreRemovedBuiltInSnippets();
|
m_model.restoreRemovedBuiltInSnippets();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::revertBuiltInSnippet()
|
void SnippetsSettingsWidget::revertBuiltInSnippet()
|
||||||
{
|
{
|
||||||
m_model->revertBuitInSnippet(m_snippetsTable->selectionModel()->currentIndex());
|
m_model.revertBuitInSnippet(m_snippetsTable->selectionModel()->currentIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::resetAllSnippets()
|
void SnippetsSettingsWidget::resetAllSnippets()
|
||||||
{
|
{
|
||||||
m_model->resetSnippets();
|
m_model.resetSnippets();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::selectSnippet(const QModelIndex &parent, int row)
|
void SnippetsSettingsWidget::selectSnippet(const QModelIndex &parent, int row)
|
||||||
{
|
{
|
||||||
QModelIndex topLeft = m_model->index(row, 0, parent);
|
QModelIndex topLeft = m_model.index(row, 0, parent);
|
||||||
QModelIndex bottomRight = m_model->index(row, 1, parent);
|
QModelIndex bottomRight = m_model.index(row, 1, parent);
|
||||||
QItemSelection selection(topLeft, bottomRight);
|
QItemSelection selection(topLeft, bottomRight);
|
||||||
m_snippetsTable->selectionModel()->select(selection, QItemSelectionModel::SelectCurrent);
|
m_snippetsTable->selectionModel()->select(selection, QItemSelectionModel::SelectCurrent);
|
||||||
m_snippetsTable->setCurrentIndex(topLeft);
|
m_snippetsTable->setCurrentIndex(topLeft);
|
||||||
m_snippetsTable->scrollTo(topLeft);
|
m_snippetsTable->scrollTo(topLeft);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::selectMovedSnippet(const QModelIndex &,
|
void SnippetsSettingsWidget::selectMovedSnippet(const QModelIndex &,
|
||||||
int sourceRow,
|
int sourceRow,
|
||||||
int,
|
int,
|
||||||
const QModelIndex &destinationParent,
|
const QModelIndex &destinationParent,
|
||||||
@@ -508,17 +496,17 @@ void SnippetsSettingsPagePrivate::selectMovedSnippet(const QModelIndex &,
|
|||||||
{
|
{
|
||||||
QModelIndex modelIndex;
|
QModelIndex modelIndex;
|
||||||
if (sourceRow < destinationRow)
|
if (sourceRow < destinationRow)
|
||||||
modelIndex = m_model->index(destinationRow - 1, 0, destinationParent);
|
modelIndex = m_model.index(destinationRow - 1, 0, destinationParent);
|
||||||
else
|
else
|
||||||
modelIndex = m_model->index(destinationRow, 0, destinationParent);
|
modelIndex = m_model.index(destinationRow, 0, destinationParent);
|
||||||
m_snippetsTable->scrollTo(modelIndex);
|
m_snippetsTable->scrollTo(modelIndex);
|
||||||
currentEditor()->setPlainText(m_model->snippetAt(modelIndex).content());
|
currentEditor()->setPlainText(m_model.snippetAt(modelIndex).content());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::updateCurrentSnippetDependent(const QModelIndex &modelIndex)
|
void SnippetsSettingsWidget::updateCurrentSnippetDependent(const QModelIndex &modelIndex)
|
||||||
{
|
{
|
||||||
if (modelIndex.isValid()) {
|
if (modelIndex.isValid()) {
|
||||||
const Snippet &snippet = m_model->snippetAt(modelIndex);
|
const Snippet &snippet = m_model.snippetAt(modelIndex);
|
||||||
currentEditor()->setPlainText(snippet.content());
|
currentEditor()->setPlainText(snippet.content());
|
||||||
m_revertButton->setEnabled(snippet.isBuiltIn());
|
m_revertButton->setEnabled(snippet.isBuiltIn());
|
||||||
} else {
|
} else {
|
||||||
@@ -527,16 +515,16 @@ void SnippetsSettingsPagePrivate::updateCurrentSnippetDependent(const QModelInde
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::setSnippetContent()
|
void SnippetsSettingsWidget::setSnippetContent()
|
||||||
{
|
{
|
||||||
const QModelIndex &modelIndex = m_snippetsTable->selectionModel()->currentIndex();
|
const QModelIndex &modelIndex = m_snippetsTable->selectionModel()->currentIndex();
|
||||||
if (modelIndex.isValid()) {
|
if (modelIndex.isValid()) {
|
||||||
m_model->setSnippetContent(modelIndex, currentEditor()->toPlainText());
|
m_model.setSnippetContent(modelIndex, currentEditor()->toPlainText());
|
||||||
markSnippetsCollection();
|
markSnippetsCollection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnippetsSettingsPagePrivate::decorateEditors(const TextEditor::FontSettings &fontSettings)
|
void SnippetsSettingsWidget::decorateEditors(const TextEditor::FontSettings &fontSettings)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < m_groupCombo->count(); ++i) {
|
for (int i = 0; i < m_groupCombo->count(); ++i) {
|
||||||
SnippetEditorWidget *snippetEditor = editorAt(i);
|
SnippetEditorWidget *snippetEditor = editorAt(i);
|
||||||
@@ -550,41 +538,13 @@ void SnippetsSettingsPagePrivate::decorateEditors(const TextEditor::FontSettings
|
|||||||
// SnippetsSettingsPage
|
// SnippetsSettingsPage
|
||||||
|
|
||||||
SnippetsSettingsPage::SnippetsSettingsPage()
|
SnippetsSettingsPage::SnippetsSettingsPage()
|
||||||
: d(new SnippetsSettingsPagePrivate)
|
|
||||||
{
|
{
|
||||||
setId(Constants::TEXT_EDITOR_SNIPPETS_SETTINGS);
|
setId(Constants::TEXT_EDITOR_SNIPPETS_SETTINGS);
|
||||||
setDisplayName(Tr::tr("Snippets"));
|
setDisplayName(Tr::tr("Snippets"));
|
||||||
setCategory(TextEditor::Constants::TEXT_EDITOR_SETTINGS_CATEGORY);
|
setCategory(TextEditor::Constants::TEXT_EDITOR_SETTINGS_CATEGORY);
|
||||||
setDisplayCategory(Tr::tr("Text Editor"));
|
setDisplayCategory(Tr::tr("Text Editor"));
|
||||||
setCategoryIconPath(TextEditor::Constants::TEXT_EDITOR_SETTINGS_CATEGORY_ICON_PATH);
|
setCategoryIconPath(TextEditor::Constants::TEXT_EDITOR_SETTINGS_CATEGORY_ICON_PATH);
|
||||||
|
setWidgetCreator([] { return new SnippetsSettingsWidget; });
|
||||||
}
|
}
|
||||||
|
|
||||||
SnippetsSettingsPage::~SnippetsSettingsPage()
|
} // TextEditor::Internal
|
||||||
{
|
|
||||||
delete d;
|
|
||||||
}
|
|
||||||
|
|
||||||
QWidget *SnippetsSettingsPage::widget()
|
|
||||||
{
|
|
||||||
if (!d->m_widget) {
|
|
||||||
d->m_widget = new QWidget;
|
|
||||||
d->configureUi(d->m_widget);
|
|
||||||
}
|
|
||||||
return d->m_widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SnippetsSettingsPage::apply()
|
|
||||||
{
|
|
||||||
d->apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SnippetsSettingsPage::finish()
|
|
||||||
{
|
|
||||||
d->finish();
|
|
||||||
delete d->m_widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // Internal
|
|
||||||
} // TextEditor
|
|
||||||
|
|
||||||
#include "snippetssettingspage.moc"
|
|
||||||
|
@@ -5,24 +5,12 @@
|
|||||||
|
|
||||||
#include <coreplugin/dialogs/ioptionspage.h>
|
#include <coreplugin/dialogs/ioptionspage.h>
|
||||||
|
|
||||||
namespace TextEditor {
|
namespace TextEditor::Internal {
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
class SnippetsSettingsPagePrivate;
|
|
||||||
|
|
||||||
class SnippetsSettingsPage final : public Core::IOptionsPage
|
class SnippetsSettingsPage final : public Core::IOptionsPage
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SnippetsSettingsPage();
|
SnippetsSettingsPage();
|
||||||
~SnippetsSettingsPage() override;
|
|
||||||
|
|
||||||
QWidget *widget() override;
|
|
||||||
void apply() override;
|
|
||||||
void finish() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
SnippetsSettingsPagePrivate *d;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Internal
|
} // TextEditor::Internal
|
||||||
} // TextEditor
|
|
||||||
|
Reference in New Issue
Block a user