From 65e11062bb1671328e16736db9f2668ba87e5edb Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 24 Nov 2009 15:05:02 +0100 Subject: Polish the settings dialog. Add a title label to the pages. Use QGroupBoxes throughout. Extend SavedAction to work with checkable QGroupBoxes. Polish UI files, use common layout for VCS plugins. Performance: Apply only visited settings pages. Add search keywords. Task-number: QTCREATOR-26 --- src/plugins/texteditor/behaviorsettingspage.cpp | 16 ++++++++++++++++ src/plugins/texteditor/behaviorsettingspage.h | 2 ++ src/plugins/texteditor/behaviorsettingspage.ui | 2 +- src/plugins/texteditor/displaysettingspage.cpp | 18 ++++++++++++++++++ src/plugins/texteditor/displaysettingspage.h | 1 + src/plugins/texteditor/fontsettingspage.cpp | 8 ++++++++ src/plugins/texteditor/fontsettingspage.h | 1 + src/plugins/texteditor/fontsettingspage.ui | 8 ++++---- 8 files changed, 51 insertions(+), 5 deletions(-) (limited to 'src/plugins/texteditor') diff --git a/src/plugins/texteditor/behaviorsettingspage.cpp b/src/plugins/texteditor/behaviorsettingspage.cpp index ed013c6b61..86b7acac5d 100644 --- a/src/plugins/texteditor/behaviorsettingspage.cpp +++ b/src/plugins/texteditor/behaviorsettingspage.cpp @@ -35,6 +35,7 @@ #include #include +#include using namespace TextEditor; @@ -46,6 +47,7 @@ struct BehaviorSettingsPage::BehaviorSettingsPagePrivate Ui::BehaviorSettingsPage m_page; TabSettings m_tabSettings; StorageSettings m_storageSettings; + QString m_searchKeywords; }; BehaviorSettingsPage::BehaviorSettingsPagePrivate::BehaviorSettingsPagePrivate @@ -95,6 +97,15 @@ QWidget *BehaviorSettingsPage::createPage(QWidget *parent) QWidget *w = new QWidget(parent); m_d->m_page.setupUi(w); settingsToUI(); + if (m_d->m_searchKeywords.isEmpty()) { + QTextStream(&m_d->m_searchKeywords) << m_d->m_page.insertSpaces->text() + << ' ' << m_d->m_page.smartBackspace->text() + << ' ' << m_d->m_page.cleanWhitespace->text() + << ' ' << m_d->m_page.addFinalNewLine->text() + << ' ' << m_d->m_page.groupBoxTabAndIndentSettings->title() + << ' ' << m_d->m_page.groupBoxStorageSettings->title(); + m_d->m_searchKeywords.remove(QLatin1Char('&')); + } return w; } @@ -167,3 +178,8 @@ StorageSettings BehaviorSettingsPage::storageSettings() const { return m_d->m_storageSettings; } + +bool BehaviorSettingsPage::matches(const QString &s) const +{ + return m_d->m_searchKeywords.contains(s, Qt::CaseInsensitive); +} diff --git a/src/plugins/texteditor/behaviorsettingspage.h b/src/plugins/texteditor/behaviorsettingspage.h index 2bc524198f..007c11a303 100644 --- a/src/plugins/texteditor/behaviorsettingspage.h +++ b/src/plugins/texteditor/behaviorsettingspage.h @@ -70,6 +70,8 @@ public: TabSettings tabSettings() const; StorageSettings storageSettings() const; + virtual bool matches(const QString &s) const; + signals: void tabSettingsChanged(const TextEditor::TabSettings &); void storageSettingsChanged(const TextEditor::StorageSettings &); diff --git a/src/plugins/texteditor/behaviorsettingspage.ui b/src/plugins/texteditor/behaviorsettingspage.ui index c20e2aaad1..8ba86f0f59 100644 --- a/src/plugins/texteditor/behaviorsettingspage.ui +++ b/src/plugins/texteditor/behaviorsettingspage.ui @@ -138,7 +138,7 @@ - + Tab key performs auto-indent: diff --git a/src/plugins/texteditor/displaysettingspage.cpp b/src/plugins/texteditor/displaysettingspage.cpp index 9f4fa6a90a..ceb011a50c 100644 --- a/src/plugins/texteditor/displaysettingspage.cpp +++ b/src/plugins/texteditor/displaysettingspage.cpp @@ -34,6 +34,7 @@ #include #include +#include using namespace TextEditor; @@ -44,6 +45,7 @@ struct DisplaySettingsPage::DisplaySettingsPagePrivate const DisplaySettingsPageParameters m_parameters; Ui::DisplaySettingsPage m_page; DisplaySettings m_displaySettings; + QString m_searchKeywords; }; DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate @@ -92,6 +94,17 @@ QWidget *DisplaySettingsPage::createPage(QWidget *parent) QWidget *w = new QWidget(parent); m_d->m_page.setupUi(w); settingsToUI(); + if (m_d->m_searchKeywords.isEmpty()) { + QTextStream(&m_d->m_searchKeywords) << m_d->m_page.displayLineNumbers->text() + << ' ' << m_d->m_page.highlightCurrentLine->text() + << ' ' << m_d->m_page.displayFoldingMarkers->text() + << ' ' << m_d->m_page.highlightBlocks->text() + << ' ' << m_d->m_page.visualizeWhitespace->text() + << ' ' << m_d->m_page.animateMatchingParentheses->text() + << ' ' << m_d->m_page.enableTextWrapping->text() + << ' ' << m_d->m_page.mouseNavigation->text(); + m_d->m_searchKeywords.remove(QLatin1Char('&')); + } return w; } @@ -160,3 +173,8 @@ void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySe emit displaySettingsChanged(newDisplaySettings); } } + +bool DisplaySettingsPage::matches(const QString &s) const +{ + return m_d->m_searchKeywords.contains(s, Qt::CaseInsensitive); +} diff --git a/src/plugins/texteditor/displaysettingspage.h b/src/plugins/texteditor/displaysettingspage.h index f9d8ab3b13..902e984a57 100644 --- a/src/plugins/texteditor/displaysettingspage.h +++ b/src/plugins/texteditor/displaysettingspage.h @@ -65,6 +65,7 @@ public: QWidget *createPage(QWidget *parent); void apply(); void finish() { } + virtual bool matches(const QString &s) const; DisplaySettings displaySettings() const; void setDisplaySettings(const DisplaySettings &); diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp index 898f775cc4..de2bf702f0 100644 --- a/src/plugins/texteditor/fontsettingspage.cpp +++ b/src/plugins/texteditor/fontsettingspage.cpp @@ -133,6 +133,7 @@ public: Ui::FontSettingsPage ui; SchemeListModel *m_schemeListModel; bool m_refreshingSchemeList; + QString m_searchKeywords; }; } // namespace Internal @@ -367,6 +368,8 @@ QWidget *FontSettingsPage::createPage(QWidget *parent) updatePointSizes(); refreshColorSchemeList(); d_ptr->m_lastValue = d_ptr->m_value; + if (d_ptr->m_searchKeywords.isEmpty()) + d_ptr->m_searchKeywords = d_ptr->ui.fontGroupBox->title() + QLatin1Char(' ') + d_ptr->ui.colorSchemeGroupBox->title(); return w; } @@ -618,3 +621,8 @@ 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 e2095a3fce..d9d9027284 100644 --- a/src/plugins/texteditor/fontsettingspage.h +++ b/src/plugins/texteditor/fontsettingspage.h @@ -97,6 +97,7 @@ public: QWidget *createPage(QWidget *parent); void apply(); void finish(); + virtual bool matches(const QString &) const; void saveSettings(); diff --git a/src/plugins/texteditor/fontsettingspage.ui b/src/plugins/texteditor/fontsettingspage.ui index 1cd02f47a8..cb7f5d1fb6 100644 --- a/src/plugins/texteditor/fontsettingspage.ui +++ b/src/plugins/texteditor/fontsettingspage.ui @@ -12,13 +12,13 @@ - + Font - + 0 @@ -57,7 +57,7 @@ - + 0 @@ -103,7 +103,7 @@ - + Color Scheme -- cgit v1.2.3