First polish of options dialog find: Set item flags, match on category.

Strip buddy markers.
This commit is contained in:
Friedemann Kleint
2009-11-20 12:56:49 +01:00
parent 1d9af6cc7d
commit 03d0b577fd
2 changed files with 9 additions and 3 deletions

View File

@@ -66,6 +66,7 @@ template<class Parent>
IOptionsPage *page = 0) IOptionsPage *page = 0)
{ {
QStandardItem *rc = new QStandardItem(text); QStandardItem *rc = new QStandardItem(text);
rc->setFlags(Qt::ItemIsEnabled|Qt::ItemIsSelectable);
rc->setData(QVariant(int(type)), TypeRole); rc->setData(QVariant(int(type)), TypeRole);
rc->setData(QVariant(index), IndexRole); rc->setData(QVariant(index), IndexRole);
rc->setData(qVariantFromValue(page), PageRole); 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. // Regular contents check, then check page-filter.
if (QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent)) if (QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent))
return true; return true;
if (const IOptionsPage *page = pageOfItem(sourceModel(), source_parent.child(source_row, 0))) if (const IOptionsPage *page = pageOfItem(sourceModel(), source_parent.child(source_row, 0))) {
return page->matches(filterRegExp().pattern()); const QString pattern = filterRegExp().pattern();
return page->trCategory().contains(pattern, Qt::CaseInsensitive) ||
page->matches(pattern);
}
return false; return false;
} }

View File

@@ -88,6 +88,7 @@ QString VCSBaseSettingsWidget::searchKeyWordMatchString() const
rc += m_ui->nickNameMailMapLabel->text(); rc += m_ui->nickNameMailMapLabel->text();
rc += blank; rc += blank;
rc += m_ui->nickNameFieldsFileLabel->text(); rc += m_ui->nickNameFieldsFileLabel->text();
rc.remove(QLatin1Char('&')); // Strip buddy markers.
return rc; return rc;
} }
@@ -130,7 +131,8 @@ QWidget *VCSBaseSettingsPage::createPage(QWidget *parent)
{ {
m_widget = new VCSBaseSettingsWidget(parent); m_widget = new VCSBaseSettingsWidget(parent);
m_widget->setSettings(m_settings); m_widget->setSettings(m_settings);
m_searchKeyWords = m_widget->searchKeyWordMatchString(); if (m_searchKeyWords.isEmpty())
m_searchKeyWords = m_widget->searchKeyWordMatchString();
return m_widget; return m_widget;
} }