aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/displaysettingspage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/texteditor/displaysettingspage.cpp')
-rw-r--r--src/plugins/texteditor/displaysettingspage.cpp36
1 files changed, 10 insertions, 26 deletions
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);
-}