From fe7c5ea0c11d5e9a2a2a09eb3cd6b06fdf459ffb Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Thu, 21 May 2015 12:12:40 -0700 Subject: Fixup capture filter completion logic. Don't add the current word to the completion list. Change-Id: Ia475520092f461c9e7b03f82cc3427585e095162 Reviewed-on: https://code.wireshark.org/review/8577 Reviewed-by: Gerald Combs --- ui/qt/capture_filter_edit.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ui/qt/capture_filter_edit.cpp') diff --git a/ui/qt/capture_filter_edit.cpp b/ui/qt/capture_filter_edit.cpp index 502af592db..45707e6f6f 100644 --- a/ui/qt/capture_filter_edit.cpp +++ b/ui/qt/capture_filter_edit.cpp @@ -85,6 +85,7 @@ UIMiniCancelButton::UIMiniCancelButton(QWidget *pParent /* = 0 */) static const QString libpcap_primitive_chars_ = "-0123456789abcdefghijklmnopqrstuvwxyz"; // grep '^[a-z].*return [A-Z].*;$' scanner.l | awk '{gsub(/\|/, "\n") ; print " << \"" $1 "\""}' | sort +// Remove "and" and "or". static const QStringList libpcap_primitives_ = QStringList() << "aarp" << "action" << "address1" << "address2" << "address3" << "address4" << "ah" << "arp" << "atalk" << "bcc" << "broadcast" << "byte" << "carp" @@ -406,7 +407,12 @@ void CaptureFilterEdit::buildCompletionList(const QString &primitive_word) } } - completion_model_->setStringList(complex_list + libpcap_primitives_); + // libpcap has a small number of primitives so we just add the whole list + // sans the current word. + QStringList primitive_list = libpcap_primitives_; + primitive_list.removeAll(primitive_word); + + completion_model_->setStringList(complex_list + primitive_list); completer()->setCompletionPrefix(primitive_word); } -- cgit v1.2.1