summaryrefslogtreecommitdiff
path: root/ui/qt/capture_filter_edit.cpp
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-05-21 12:12:40 -0700
committerGerald Combs <gerald@wireshark.org>2015-05-21 19:18:19 +0000
commitfe7c5ea0c11d5e9a2a2a09eb3cd6b06fdf459ffb (patch)
tree1f08dfa8303dc527b3a51bac4cdd629db4a84199 /ui/qt/capture_filter_edit.cpp
parent0289d5c2b59f8b79dba5484426c8cdd7292d48dd (diff)
downloadwireshark-fe7c5ea0c11d5e9a2a2a09eb3cd6b06fdf459ffb.tar.gz
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 <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/capture_filter_edit.cpp')
-rw-r--r--ui/qt/capture_filter_edit.cpp8
1 files changed, 7 insertions, 1 deletions
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);
}