diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index f2794d31949bdd5d49c162a5b15b7382a4e8454c..be51bb792d4b7732a32addb1dfe52695ad571939 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -66,6 +66,7 @@ template<class Parent> IOptionsPage *page = 0) { QStandardItem *rc = new QStandardItem(text); + rc->setFlags(Qt::ItemIsEnabled|Qt::ItemIsSelectable); rc->setData(QVariant(int(type)), TypeRole); rc->setData(QVariant(index), IndexRole); rc->setData(qVariantFromValue(page), PageRole); @@ -115,8 +116,11 @@ bool PageFilterModel::filterAcceptsRow(int source_row, const QModelIndex &source // Regular contents check, then check page-filter. if (QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent)) return true; - if (const IOptionsPage *page = pageOfItem(sourceModel(), source_parent.child(source_row, 0))) - return page->matches(filterRegExp().pattern()); + if (const IOptionsPage *page = pageOfItem(sourceModel(), source_parent.child(source_row, 0))) { + const QString pattern = filterRegExp().pattern(); + return page->trCategory().contains(pattern, Qt::CaseInsensitive) || + page->matches(pattern); + } return false; } diff --git a/src/plugins/vcsbase/vcsbasesettingspage.cpp b/src/plugins/vcsbase/vcsbasesettingspage.cpp index ac5ef4c2372bb9ffbcee3bfbf034e568c2e7bc7a..5d9fcb0a83a7ab72d2708af2a22f1fbc70beebb0 100644 --- a/src/plugins/vcsbase/vcsbasesettingspage.cpp +++ b/src/plugins/vcsbase/vcsbasesettingspage.cpp @@ -88,6 +88,7 @@ QString VCSBaseSettingsWidget::searchKeyWordMatchString() const rc += m_ui->nickNameMailMapLabel->text(); rc += blank; rc += m_ui->nickNameFieldsFileLabel->text(); + rc.remove(QLatin1Char('&')); // Strip buddy markers. return rc; } @@ -130,7 +131,8 @@ QWidget *VCSBaseSettingsPage::createPage(QWidget *parent) { m_widget = new VCSBaseSettingsWidget(parent); m_widget->setSettings(m_settings); - m_searchKeyWords = m_widget->searchKeyWordMatchString(); + if (m_searchKeyWords.isEmpty()) + m_searchKeyWords = m_widget->searchKeyWordMatchString(); return m_widget; }