diff options
Diffstat (limited to 'src/plugins/texteditor')
16 files changed, 109 insertions, 214 deletions
diff --git a/src/plugins/texteditor/behaviorsettingspage.cpp b/src/plugins/texteditor/behaviorsettingspage.cpp index a5a7001f0a..b9a2bc1524 100644 --- a/src/plugins/texteditor/behaviorsettingspage.cpp +++ b/src/plugins/texteditor/behaviorsettingspage.cpp @@ -49,6 +49,7 @@ #include <qmljseditor/qmljseditorconstants.h> #include <qmljstools/qmljstoolsconstants.h> +#include <QPointer> #include <QSettings> #include <QTextCodec> @@ -59,6 +60,7 @@ struct BehaviorSettingsPage::BehaviorSettingsPagePrivate explicit BehaviorSettingsPagePrivate(const BehaviorSettingsPageParameters &p); const BehaviorSettingsPageParameters m_parameters; + QPointer<QWidget> m_widget; Internal::Ui::BehaviorSettingsPage *m_page; void init(); @@ -70,8 +72,6 @@ struct BehaviorSettingsPage::BehaviorSettingsPagePrivate StorageSettings m_storageSettings; BehaviorSettings m_behaviorSettings; ExtraEncodingSettings m_extraEncodingSettings; - - QString m_searchKeywords; }; BehaviorSettingsPage::BehaviorSettingsPagePrivate::BehaviorSettingsPagePrivate @@ -114,30 +114,28 @@ BehaviorSettingsPage::~BehaviorSettingsPage() delete d; } -QWidget *BehaviorSettingsPage::createPage(QWidget *parent) +QWidget *BehaviorSettingsPage::widget() { - QWidget *w = new QWidget(parent); - d->m_page = new Internal::Ui::BehaviorSettingsPage; - d->m_page->setupUi(w); - if (Utils::HostOsInfo::isMacHost()) - d->m_page->gridLayout->setContentsMargins(-1, 0, -1, 0); // don't ask. - d->m_pageCodeStyle = new SimpleCodeStylePreferences(w); - d->m_pageCodeStyle->setDelegatingPool(d->m_codeStyle->delegatingPool()); - d->m_pageCodeStyle->setTabSettings(d->m_codeStyle->tabSettings()); - d->m_pageCodeStyle->setCurrentDelegate(d->m_codeStyle->currentDelegate()); - d->m_page->behaviorWidget->setCodeStyle(d->m_pageCodeStyle); - - TabSettingsWidget *tabSettingsWidget = d->m_page->behaviorWidget->tabSettingsWidget(); - tabSettingsWidget->setCodingStyleWarningVisible(true); - connect(tabSettingsWidget, SIGNAL(codingStyleLinkClicked(TextEditor::TabSettingsWidget::CodingStyleLink)), - this, SLOT(openCodingStylePreferences(TextEditor::TabSettingsWidget::CodingStyleLink))); - - settingsToUI(); - - if (d->m_searchKeywords.isEmpty()) - d->m_searchKeywords = d->m_page->behaviorWidget->collectUiKeywords(); - - return w; + if (!d->m_widget) { + d->m_widget = new QWidget; + d->m_page = new Internal::Ui::BehaviorSettingsPage; + d->m_page->setupUi(d->m_widget); + if (Utils::HostOsInfo::isMacHost()) + d->m_page->gridLayout->setContentsMargins(-1, 0, -1, 0); // don't ask. + d->m_pageCodeStyle = new SimpleCodeStylePreferences(d->m_widget); + d->m_pageCodeStyle->setDelegatingPool(d->m_codeStyle->delegatingPool()); + d->m_pageCodeStyle->setTabSettings(d->m_codeStyle->tabSettings()); + d->m_pageCodeStyle->setCurrentDelegate(d->m_codeStyle->currentDelegate()); + d->m_page->behaviorWidget->setCodeStyle(d->m_pageCodeStyle); + + TabSettingsWidget *tabSettingsWidget = d->m_page->behaviorWidget->tabSettingsWidget(); + tabSettingsWidget->setCodingStyleWarningVisible(true); + connect(tabSettingsWidget, SIGNAL(codingStyleLinkClicked(TextEditor::TabSettingsWidget::CodingStyleLink)), + this, SLOT(openCodingStylePreferences(TextEditor::TabSettingsWidget::CodingStyleLink))); + + settingsToUI(); + } + return d->m_widget; } void BehaviorSettingsPage::apply() @@ -227,6 +225,7 @@ void BehaviorSettingsPage::settingsToUI() void BehaviorSettingsPage::finish() { + delete d->m_widget; if (!d->m_page) // page was never shown return; delete d->m_page; @@ -263,11 +262,6 @@ const ExtraEncodingSettings &BehaviorSettingsPage::extraEncodingSettings() const return d->m_extraEncodingSettings; } -bool BehaviorSettingsPage::matches(const QString &s) const -{ - return d->m_searchKeywords.contains(s, Qt::CaseInsensitive); -} - void BehaviorSettingsPage::openCodingStylePreferences(TabSettingsWidget::CodingStyleLink link) { diff --git a/src/plugins/texteditor/behaviorsettingspage.h b/src/plugins/texteditor/behaviorsettingspage.h index ccaaaa34ef..042c9640dc 100644 --- a/src/plugins/texteditor/behaviorsettingspage.h +++ b/src/plugins/texteditor/behaviorsettingspage.h @@ -62,10 +62,9 @@ public: ~BehaviorSettingsPage(); // IOptionsPage - QWidget *createPage(QWidget *parent); + QWidget *widget(); void apply(); void finish(); - bool matches(const QString &s) const; ICodeStylePreferences *codeStyle() const; CodeStylePool *codeStylePool() const; diff --git a/src/plugins/texteditor/behaviorsettingswidget.cpp b/src/plugins/texteditor/behaviorsettingswidget.cpp index 044b2a328d..83571a06c3 100644 --- a/src/plugins/texteditor/behaviorsettingswidget.cpp +++ b/src/plugins/texteditor/behaviorsettingswidget.cpp @@ -223,35 +223,6 @@ void BehaviorSettingsWidget::assignedExtraEncodingSettings( (ExtraEncodingSettings::Utf8BomSetting)d->m_ui.utf8BomBox->currentIndex(); } -QString BehaviorSettingsWidget::collectUiKeywords() const -{ - static const QLatin1Char sep(' '); - QString keywords; - QTextStream(&keywords) - << sep << d->m_ui.tabPreferencesWidget->searchKeywords() - << sep << d->m_ui.autoIndent->text() - << sep << d->m_ui.smartBackspaceLabel->text() - << sep << d->m_ui.tabKeyBehaviorLabel->text() - << sep << d->m_ui.cleanWhitespace->text() - << sep << d->m_ui.inEntireDocument->text() - << sep << d->m_ui.cleanIndentation->text() - << sep << d->m_ui.addFinalNewLine->text() - << sep << d->m_ui.encodingLabel->text() - << sep << d->m_ui.utf8BomLabel->text() - << sep << d->m_ui.mouseNavigation->text() - << sep << d->m_ui.scrollWheelZooming->text() - << sep << d->m_ui.helpTooltipsLabel->text() - << sep << d->m_ui.constrainTooltipsBox->itemText(0) - << sep << d->m_ui.constrainTooltipsBox->itemText(1) - << sep << d->m_ui.camelCaseNavigation->text() - << sep << d->m_ui.keyboardTooltips->text() - << sep << d->m_ui.groupBoxStorageSettings->title() - << sep << d->m_ui.groupBoxEncodings->title() - << sep << d->m_ui.groupBoxMouse->title(); - keywords.remove(QLatin1Char('&')); - return keywords; -} - TabSettingsWidget *BehaviorSettingsWidget::tabSettingsWidget() const { return d->m_ui.tabPreferencesWidget->tabSettingsWidget(); diff --git a/src/plugins/texteditor/behaviorsettingswidget.h b/src/plugins/texteditor/behaviorsettingswidget.h index 7fe303da22..50420bfaca 100644 --- a/src/plugins/texteditor/behaviorsettingswidget.h +++ b/src/plugins/texteditor/behaviorsettingswidget.h @@ -76,8 +76,6 @@ public: void setAssignedExtraEncodingSettings(const ExtraEncodingSettings &encodingSettings); void assignedExtraEncodingSettings(ExtraEncodingSettings *encodingSettings) const; - QString collectUiKeywords() const; - TabSettingsWidget *tabSettingsWidget() const; signals: diff --git a/src/plugins/texteditor/displaysettingspage.cpp b/src/plugins/texteditor/displaysettingspage.cpp index b5470e8ea0..010c4f9c9e 100644 --- a/src/plugins/texteditor/displaysettingspage.cpp +++ b/src/plugins/texteditor/displaysettingspage.cpp @@ -33,6 +33,7 @@ #include <coreplugin/icore.h> +#include <QPointer> #include <QTextStream> using namespace TextEditor; @@ -42,9 +43,9 @@ struct DisplaySettingsPage::DisplaySettingsPagePrivate explicit DisplaySettingsPagePrivate(const DisplaySettingsPageParameters &p); const DisplaySettingsPageParameters m_parameters; + QPointer<QWidget> m_widget; Internal::Ui::DisplaySettingsPage *m_page; DisplaySettings m_displaySettings; - QString m_searchKeywords; }; DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate @@ -68,28 +69,15 @@ DisplaySettingsPage::~DisplaySettingsPage() delete d; } -QWidget *DisplaySettingsPage::createPage(QWidget *parent) +QWidget *DisplaySettingsPage::widget() { - QWidget *w = new QWidget(parent); - d->m_page = new Internal::Ui::DisplaySettingsPage; - d->m_page->setupUi(w); - settingsToUI(); - if (d->m_searchKeywords.isEmpty()) { - QTextStream(&d->m_searchKeywords) << d->m_page->displayLineNumbers->text() - << ' ' << d->m_page->highlightCurrentLine->text() - << ' ' << d->m_page->displayFoldingMarkers->text() - << ' ' << d->m_page->highlightBlocks->text() - << ' ' << d->m_page->visualizeWhitespace->text() - << ' ' << d->m_page->animateMatchingParentheses->text() - << ' ' << d->m_page->highlightMatchingParentheses->text() - << ' ' << d->m_page->enableTextWrapping->text() - << ' ' << d->m_page->autoFoldFirstComment->text() - << ' ' << d->m_page->centerOnScroll->text() - << ' ' << d->m_page->openLinksInNextSplit->text() - << ' ' << d->m_page->displayFileEncoding->text(); - d->m_searchKeywords.remove(QLatin1Char('&')); + if (!d->m_widget) { + d->m_widget = new QWidget; + d->m_page = new Internal::Ui::DisplaySettingsPage; + d->m_page->setupUi(d->m_widget); + settingsToUI(); } - return w; + return d->m_widget; } void DisplaySettingsPage::apply() @@ -104,6 +92,7 @@ void DisplaySettingsPage::apply() void DisplaySettingsPage::finish() { + delete d->m_widget; if (!d->m_page) // page was never shown return; delete d->m_page; @@ -163,8 +152,3 @@ void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySe emit displaySettingsChanged(newDisplaySettings); } } - -bool DisplaySettingsPage::matches(const QString &s) const -{ - return d->m_searchKeywords.contains(s, Qt::CaseInsensitive); -} diff --git a/src/plugins/texteditor/displaysettingspage.h b/src/plugins/texteditor/displaysettingspage.h index 802e303277..54f08259e3 100644 --- a/src/plugins/texteditor/displaysettingspage.h +++ b/src/plugins/texteditor/displaysettingspage.h @@ -55,10 +55,9 @@ public: ~DisplaySettingsPage(); // IOptionsPage - QWidget *createPage(QWidget *parent); + QWidget *widget(); void apply(); void finish(); - bool matches(const QString &s) const; const DisplaySettings &displaySettings() const; diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp index e3cd7e496a..a5bd146316 100644 --- a/src/plugins/texteditor/fontsettingspage.cpp +++ b/src/plugins/texteditor/fontsettingspage.cpp @@ -36,14 +36,15 @@ #include <utils/stringutils.h> #include <utils/qtcassert.h> -#include <QDebug> -#include <QSettings> -#include <QTimer> #include <QFileDialog> #include <QFontDatabase> #include <QInputDialog> #include <QMessageBox> #include <QPalette> +#include <QPointer> +#include <QSettings> +#include <QTimer> +#include <QDebug> namespace TextEditor { namespace Internal { @@ -122,10 +123,10 @@ public: TextEditor::FormatDescriptions m_descriptions; FontSettings m_value; FontSettings m_lastValue; + QPointer<QWidget> m_widget; Ui::FontSettingsPage *m_ui; SchemeListModel *m_schemeListModel; bool m_refreshingSchemeList; - QString m_searchKeywords; }; } // namespace Internal @@ -326,49 +327,40 @@ FontSettingsPage::~FontSettingsPage() delete d_ptr; } -QWidget *FontSettingsPage::createPage(QWidget *parent) +QWidget *FontSettingsPage::widget() { - QWidget *w = new QWidget(parent); - d_ptr->m_ui = new Ui::FontSettingsPage; - d_ptr->m_ui->setupUi(w); - d_ptr->m_ui->schemeComboBox->setModel(d_ptr->m_schemeListModel); + if (!d_ptr->m_widget){ + d_ptr->m_widget = new QWidget; + d_ptr->m_ui = new Ui::FontSettingsPage; + d_ptr->m_ui->setupUi(d_ptr->m_widget); + d_ptr->m_ui->schemeComboBox->setModel(d_ptr->m_schemeListModel); - QFontDatabase db; - const QStringList families = db.families(); - d_ptr->m_ui->familyComboBox->addItems(families); - const int idx = families.indexOf(d_ptr->m_value.family()); - d_ptr->m_ui->familyComboBox->setCurrentIndex(idx); + QFontDatabase db; + const QStringList families = db.families(); + d_ptr->m_ui->familyComboBox->addItems(families); + const int idx = families.indexOf(d_ptr->m_value.family()); + d_ptr->m_ui->familyComboBox->setCurrentIndex(idx); - d_ptr->m_ui->antialias->setChecked(d_ptr->m_value.antialias()); - d_ptr->m_ui->zoomSpinBox->setValue(d_ptr->m_value.fontZoom()); + d_ptr->m_ui->antialias->setChecked(d_ptr->m_value.antialias()); + d_ptr->m_ui->zoomSpinBox->setValue(d_ptr->m_value.fontZoom()); - d_ptr->m_ui->schemeEdit->setFormatDescriptions(d_ptr->m_descriptions); - d_ptr->m_ui->schemeEdit->setBaseFont(d_ptr->m_value.font()); - d_ptr->m_ui->schemeEdit->setColorScheme(d_ptr->m_value.colorScheme()); + d_ptr->m_ui->schemeEdit->setFormatDescriptions(d_ptr->m_descriptions); + d_ptr->m_ui->schemeEdit->setBaseFont(d_ptr->m_value.font()); + d_ptr->m_ui->schemeEdit->setColorScheme(d_ptr->m_value.colorScheme()); - connect(d_ptr->m_ui->familyComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(fontFamilySelected(QString))); - connect(d_ptr->m_ui->sizeComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(fontSizeSelected(QString))); - connect(d_ptr->m_ui->zoomSpinBox, SIGNAL(valueChanged(int)), this, SLOT(fontZoomChanged())); - connect(d_ptr->m_ui->schemeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(colorSchemeSelected(int))); - connect(d_ptr->m_ui->copyButton, SIGNAL(clicked()), this, SLOT(copyColorScheme())); - connect(d_ptr->m_ui->deleteButton, SIGNAL(clicked()), this, SLOT(confirmDeleteColorScheme())); + connect(d_ptr->m_ui->familyComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(fontFamilySelected(QString))); + connect(d_ptr->m_ui->sizeComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(fontSizeSelected(QString))); + connect(d_ptr->m_ui->zoomSpinBox, SIGNAL(valueChanged(int)), this, SLOT(fontZoomChanged())); + connect(d_ptr->m_ui->schemeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(colorSchemeSelected(int))); + connect(d_ptr->m_ui->copyButton, SIGNAL(clicked()), this, SLOT(copyColorScheme())); + connect(d_ptr->m_ui->deleteButton, SIGNAL(clicked()), this, SLOT(confirmDeleteColorScheme())); - updatePointSizes(); - refreshColorSchemeList(); - d_ptr->m_lastValue = d_ptr->m_value; - if (d_ptr->m_searchKeywords.isEmpty()) { - QLatin1Char sep(' '); - d_ptr->m_searchKeywords = - d_ptr->m_ui->fontGroupBox->title() + sep - + d_ptr->m_ui->familyLabel->text() + sep - + d_ptr->m_ui->sizeLabel->text() + sep - + d_ptr->m_ui->zoomLabel->text() + sep - + d_ptr->m_ui->antialias->text() + sep - + d_ptr->m_ui->colorSchemeGroupBox->title(); - d_ptr->m_searchKeywords.remove(QLatin1Char('&')); + updatePointSizes(); + refreshColorSchemeList(); + d_ptr->m_lastValue = d_ptr->m_value; } - return w; + return d_ptr->m_widget; } void FontSettingsPage::fontFamilySelected(const QString &family) @@ -630,6 +622,7 @@ void FontSettingsPage::saveSettings() void FontSettingsPage::finish() { + delete d_ptr->m_widget; if (!d_ptr->m_ui) // page was never shown return; // If changes were applied, these are equal. Otherwise restores last value. @@ -642,8 +635,3 @@ const FontSettings &FontSettingsPage::fontSettings() const { return d_ptr->m_value; } - -bool FontSettingsPage::matches(const QString &s) const -{ - return d_ptr->m_searchKeywords.contains(s, Qt::CaseInsensitive); -} diff --git a/src/plugins/texteditor/fontsettingspage.h b/src/plugins/texteditor/fontsettingspage.h index 3870904cd2..a5b9f6057f 100644 --- a/src/plugins/texteditor/fontsettingspage.h +++ b/src/plugins/texteditor/fontsettingspage.h @@ -92,10 +92,9 @@ public: ~FontSettingsPage(); - QWidget *createPage(QWidget *parent); + QWidget *widget(); void apply(); void finish(); - bool matches(const QString &) const; void saveSettings(); diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp index 637a580434..3aba87e3ad 100644 --- a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp @@ -36,6 +36,7 @@ #include <coreplugin/icore.h> #include <QMessageBox> +#include <QPointer> using namespace TextEditor; using namespace Internal; @@ -50,10 +51,9 @@ struct HighlighterSettingsPage::HighlighterSettingsPagePrivate const QString m_displayName; const QString m_settingsPrefix; - QString m_searchKeywords; - HighlighterSettings m_settings; + QPointer<QWidget> m_widget; Ui::HighlighterSettingsPage *m_page; }; @@ -88,36 +88,30 @@ HighlighterSettingsPage::~HighlighterSettingsPage() delete m_d; } -QWidget *HighlighterSettingsPage::createPage(QWidget *parent) -{ - QWidget *w = new QWidget(parent); - m_d->m_page = new Ui::HighlighterSettingsPage; - m_d->m_page->setupUi(w); - m_d->m_page->definitionFilesPath->setExpectedKind(Utils::PathChooser::ExistingDirectory); - m_d->m_page->definitionFilesPath->setHistoryCompleter(QLatin1String("TextEditor.Highlighter.History")); - m_d->m_page->definitionFilesPath->addButton(tr("Download Definitions..."), this, - SLOT(requestAvailableDefinitionsMetaData())); - m_d->m_page->fallbackDefinitionFilesPath->setExpectedKind(Utils::PathChooser::ExistingDirectory); - m_d->m_page->fallbackDefinitionFilesPath->setHistoryCompleter(QLatin1String("TextEditor.Highlighter.History")); - m_d->m_page->fallbackDefinitionFilesPath->addButton(tr("Autodetect"), this, - SLOT(resetDefinitionsLocation())); - - settingsToUI(); - - if (m_d->m_searchKeywords.isEmpty()) { - QTextStream(&m_d->m_searchKeywords) << m_d->m_page->definitionFilesGroupBox->title() - << m_d->m_page->locationLabel->text() - << m_d->m_page->useFallbackLocation->text() - << m_d->m_page->ignoreLabel->text(); +QWidget *HighlighterSettingsPage::widget() +{ + if (!m_d->m_widget) { + m_d->m_widget = new QWidget; + m_d->m_page = new Ui::HighlighterSettingsPage; + m_d->m_page->setupUi(m_d->m_widget); + m_d->m_page->definitionFilesPath->setExpectedKind(Utils::PathChooser::ExistingDirectory); + m_d->m_page->definitionFilesPath->setHistoryCompleter(QLatin1String("TextEditor.Highlighter.History")); + m_d->m_page->definitionFilesPath->addButton(tr("Download Definitions..."), this, + SLOT(requestAvailableDefinitionsMetaData())); + m_d->m_page->fallbackDefinitionFilesPath->setExpectedKind(Utils::PathChooser::ExistingDirectory); + m_d->m_page->fallbackDefinitionFilesPath->setHistoryCompleter(QLatin1String("TextEditor.Highlighter.History")); + m_d->m_page->fallbackDefinitionFilesPath->addButton(tr("Autodetect"), this, + SLOT(resetDefinitionsLocation())); + + settingsToUI(); + + connect(m_d->m_page->useFallbackLocation, SIGNAL(clicked(bool)), + this, SLOT(setFallbackLocationState(bool))); + connect(m_d->m_page->definitionFilesPath, SIGNAL(validChanged(bool)), + this, SLOT(setDownloadDefinitionsState(bool))); + connect(m_d->m_widget, SIGNAL(destroyed()), this, SLOT(ignoreDownloadReply())); } - - connect(m_d->m_page->useFallbackLocation, SIGNAL(clicked(bool)), - this, SLOT(setFallbackLocationState(bool))); - connect(m_d->m_page->definitionFilesPath, SIGNAL(validChanged(bool)), - this, SLOT(setDownloadDefinitionsState(bool))); - connect(w, SIGNAL(destroyed()), this, SLOT(ignoreDownloadReply())); - - return w; + return m_d->m_widget; } void HighlighterSettingsPage::apply() @@ -135,17 +129,13 @@ void HighlighterSettingsPage::apply() void HighlighterSettingsPage::finish() { + delete m_d->m_widget; if (!m_d->m_page) // page was not shown return; delete m_d->m_page; m_d->m_page = 0; } -bool HighlighterSettingsPage::matches(const QString &s) const -{ - return m_d->m_searchKeywords.contains(s, Qt::CaseInsensitive); -} - const HighlighterSettings &HighlighterSettingsPage::highlighterSettings() const { m_d->ensureInitialized(); diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.h b/src/plugins/texteditor/generichighlighter/highlightersettingspage.h index 770ef4c4cf..ef72878b48 100644 --- a/src/plugins/texteditor/generichighlighter/highlightersettingspage.h +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.h @@ -52,10 +52,9 @@ public: HighlighterSettingsPage(Core::Id id, QObject *parent); ~HighlighterSettingsPage(); - QWidget *createPage(QWidget *parent); + QWidget *widget(); void apply(); void finish(); - bool matches(const QString &s) const; const HighlighterSettings &highlighterSettings() const; diff --git a/src/plugins/texteditor/simplecodestylepreferenceswidget.cpp b/src/plugins/texteditor/simplecodestylepreferenceswidget.cpp index 072a8a25f4..f143c249d4 100644 --- a/src/plugins/texteditor/simplecodestylepreferenceswidget.cpp +++ b/src/plugins/texteditor/simplecodestylepreferenceswidget.cpp @@ -94,11 +94,6 @@ void SimpleCodeStylePreferencesWidget::slotTabSettingsChanged(const TextEditor:: current->setTabSettings(settings); } -QString SimpleCodeStylePreferencesWidget::searchKeywords() const -{ - return m_tabSettingsWidget->searchKeywords(); -} - void SimpleCodeStylePreferencesWidget::setFlat(bool on) { m_tabSettingsWidget->setFlat(on); diff --git a/src/plugins/texteditor/simplecodestylepreferenceswidget.h b/src/plugins/texteditor/simplecodestylepreferenceswidget.h index 2ba5a38d36..776da7a75b 100644 --- a/src/plugins/texteditor/simplecodestylepreferenceswidget.h +++ b/src/plugins/texteditor/simplecodestylepreferenceswidget.h @@ -52,7 +52,6 @@ public: explicit SimpleCodeStylePreferencesWidget(QWidget *parent = 0); void setPreferences(ICodeStylePreferences *tabPreferences); - QString searchKeywords() const; void setFlat(bool on); TabSettingsWidget *tabSettingsWidget() const; diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.cpp b/src/plugins/texteditor/snippets/snippetssettingspage.cpp index c59d510f32..88bb429c3e 100644 --- a/src/plugins/texteditor/snippets/snippetssettingspage.cpp +++ b/src/plugins/texteditor/snippets/snippetssettingspage.cpp @@ -39,11 +39,12 @@ #include <texteditor/texteditorsettings.h> #include <extensionsystem/pluginmanager.h> -#include <QModelIndex> #include <QAbstractTableModel> #include <QList> -#include <QTextStream> #include <QMessageBox> +#include <QModelIndex> +#include <QPointer> +#include <QTextStream> namespace TextEditor { namespace Internal { @@ -269,12 +270,13 @@ public: Core::Id id() const { return m_id; } const QString &displayName() const { return m_displayName; } - bool isKeyword(const QString &s) const { return m_keywords.contains(s, Qt::CaseInsensitive); } void configureUi(QWidget *parent); void apply(); void finish(); + QPointer<QWidget> m_widget; + private slots: void loadSnippetGroup(int index); void markSnippetsCollection(); @@ -302,7 +304,6 @@ private: const QString m_settingsPrefix; SnippetsTableModel *m_model; bool m_snippetsCollectionChanged; - QString m_keywords; SnippetsSettings m_settings; Ui::SnippetsSettingsPage m_ui; }; @@ -350,8 +351,6 @@ void SnippetsSettingsPagePrivate::configureUi(QWidget *w) m_ui.revertButton->setEnabled(false); - QTextStream(&m_keywords) << m_displayName; - loadSettings(); loadSnippetGroup(m_ui.groupCombo->currentIndex()); @@ -566,16 +565,13 @@ SnippetsSettingsPage::~SnippetsSettingsPage() delete d; } -bool SnippetsSettingsPage::matches(const QString &s) const +QWidget *SnippetsSettingsPage::widget() { - return d->isKeyword(s); -} - -QWidget *SnippetsSettingsPage::createPage(QWidget *parent) -{ - QWidget *w = new QWidget(parent); - d->configureUi(w); - return w; + if (!d->m_widget) { + d->m_widget = new QWidget; + d->configureUi(d->m_widget); + } + return d->m_widget; } void SnippetsSettingsPage::apply() @@ -586,6 +582,7 @@ void SnippetsSettingsPage::apply() void SnippetsSettingsPage::finish() { d->finish(); + delete d->m_widget; } } // Internal diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.h b/src/plugins/texteditor/snippets/snippetssettingspage.h index 04737b71d3..154dbd670c 100644 --- a/src/plugins/texteditor/snippets/snippetssettingspage.h +++ b/src/plugins/texteditor/snippets/snippetssettingspage.h @@ -45,8 +45,7 @@ public: SnippetsSettingsPage(Core::Id id, QObject *parent); ~SnippetsSettingsPage(); - bool matches(const QString &s) const; - QWidget *createPage(QWidget *parent); + QWidget *widget(); void apply(); void finish(); diff --git a/src/plugins/texteditor/tabsettingswidget.cpp b/src/plugins/texteditor/tabsettingswidget.cpp index 2ce5756437..3f36eef375 100644 --- a/src/plugins/texteditor/tabsettingswidget.cpp +++ b/src/plugins/texteditor/tabsettingswidget.cpp @@ -101,21 +101,6 @@ void TabSettingsWidget::setFlat(bool on) ui->tabsAndIndentationGroupBox->layout()->setContentsMargins(margin, -1, margin, margin); } -QString TabSettingsWidget::searchKeywords() const -{ - QString rc; - QLatin1Char sep(' '); - QTextStream(&rc) - << sep << ui->tabsAndIndentationGroupBox->title() - << sep << ui->tabPolicyLabel->text() - << sep << ui->tabSizeLabel->text() - << sep << ui->indentSizeLabel->text() - << sep << ui->continuationAlignBehaviorLabel->text() - ; - rc.remove(QLatin1Char('&')); - return rc; -} - void TabSettingsWidget::setCodingStyleWarningVisible(bool visible) { ui->codingStyleWarning->setVisible(visible); diff --git a/src/plugins/texteditor/tabsettingswidget.h b/src/plugins/texteditor/tabsettingswidget.h index 802a7933ca..41a490f783 100644 --- a/src/plugins/texteditor/tabsettingswidget.h +++ b/src/plugins/texteditor/tabsettingswidget.h @@ -56,7 +56,6 @@ public: TabSettings tabSettings() const; void setFlat(bool on); - QString searchKeywords() const; void setCodingStyleWarningVisible(bool visible); public slots: |