From b9561bd3bbb8d138644aa10a627d587b6b1ae5e7 Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Fri, 12 Feb 2016 13:40:05 -0800 Subject: [PATCH] Qt: Allow regex searching in the advanced prefs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a QRegex for Preferences → Advanced → Search. Change-Id: Iebf1cba9c17ff774ce50ef909b6d181751b272aa Reviewed-on: https://code.wireshark.org/review/13924 Reviewed-by: Gerald Combs --- ui/qt/preferences_dialog.cpp | 11 ++++++----- ui/qt/preferences_dialog.h | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ui/qt/preferences_dialog.cpp b/ui/qt/preferences_dialog.cpp index 58b36c3baa..f21d8f9764 100644 --- a/ui/qt/preferences_dialog.cpp +++ b/ui/qt/preferences_dialog.cpp @@ -524,13 +524,14 @@ void PreferencesDialog::on_prefsTree_currentItemChanged(QTreeWidgetItem *current } } -void PreferencesDialog::on_advancedSearchLineEdit_textEdited(const QString &search_str) +void PreferencesDialog::on_advancedSearchLineEdit_textEdited(const QString &search_re) { // Hide or show each branch QTreeWidgetItemIterator branch_it(pd_ui_->advancedTree); + QRegExp regex(search_re, Qt::CaseInsensitive); while (*branch_it) { if ((*branch_it)->data(pref_ptr_col_, Qt::UserRole).value() == NULL) { - (*branch_it)->setHidden(!search_str.isEmpty()); + (*branch_it)->setHidden(!search_re.isEmpty()); } ++branch_it; } @@ -543,9 +544,9 @@ void PreferencesDialog::on_advancedSearchLineEdit_textEdited(const QString &sear if ((*pref_it)->data(pref_ptr_col_, Qt::UserRole).value()) { QTreeWidgetItem *parent = (*pref_it)->parent(); - if (search_str.isEmpty() || - (*pref_it)->text(0).contains(search_str, Qt::CaseInsensitive) || - (*pref_it)->toolTip(0).contains(search_str, Qt::CaseInsensitive)) { + if (search_re.isEmpty() || + (*pref_it)->text(0).contains(regex) || + (*pref_it)->toolTip(0).contains(regex)) { hidden = false; } diff --git a/ui/qt/preferences_dialog.h b/ui/qt/preferences_dialog.h index 776ecd4429..6f339a6bb6 100644 --- a/ui/qt/preferences_dialog.h +++ b/ui/qt/preferences_dialog.h @@ -80,7 +80,7 @@ private: private slots: void on_prefsTree_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); - void on_advancedSearchLineEdit_textEdited(const QString &search_str); + void on_advancedSearchLineEdit_textEdited(const QString &search_re); void lineEditPrefDestroyed(); void enumPrefDestroyed(); void uintPrefEditingFinished();