aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2012-06-27 13:37:13 +0000
committerBill Meier <wmeier@newsguy.com>2012-06-27 13:37:13 +0000
commit45ca434f3240390e45f8e5c23334d15b64ae0037 (patch)
tree65ced30a5fb051f5ece72edbef1cf5a8f6248d21
parentfca94d1d2d45eb83515179f14eb6453d2ddc8e44 (diff)
From Jakub Zawadzki: Fix "typeahead search broken in Display Filter Expression Window"
Revert SVN #42291. Fixes Bug #7412: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7412 svn path=/trunk/; revision=43506
-rw-r--r--ui/gtk/dfilter_expr_dlg.c42
1 files changed, 4 insertions, 38 deletions
diff --git a/ui/gtk/dfilter_expr_dlg.c b/ui/gtk/dfilter_expr_dlg.c
index 08e377124f..cac5499084 100644
--- a/ui/gtk/dfilter_expr_dlg.c
+++ b/ui/gtk/dfilter_expr_dlg.c
@@ -890,39 +890,6 @@ dfilter_expr_dlg_destroy_cb(GtkWidget *w, gpointer filter_te)
g_signal_handlers_disconnect_by_func(filter_te, dfilter_expr_dlg_cancel_cb, w);
}
-/*
- * Length of string used for protocol fields.
- */
-#define TAG_STRING_LEN 256
-
-static void
-show_hfinfo_name_func(GtkTreeViewColumn *col _U_, GtkCellRenderer *renderer,
- GtkTreeModel *model, GtkTreeIter *iter, gpointer data _U_)
-{
- char str[TAG_STRING_LEN+1];
- header_field_info *hfinfo;
-
- gtk_tree_model_get(model, iter, 0, &hfinfo, -1);
-
- if (hfinfo->parent == -1) {
- protocol_t *protocol = find_protocol_by_id(hfinfo->id);
-
- g_snprintf(str, TAG_STRING_LEN, "%s - %s",
- proto_get_protocol_short_name(protocol),
- proto_get_protocol_long_name(protocol));
-
- } else {
- if (hfinfo->blurb != NULL && hfinfo->blurb[0] != '\0') {
- g_snprintf(str, TAG_STRING_LEN, "%s - %s (%s)",
- hfinfo->abbrev, hfinfo->name, hfinfo->blurb);
- } else {
- g_snprintf(str, TAG_STRING_LEN, "%s - %s",
- hfinfo->abbrev, hfinfo->name);
- }
- }
- g_object_set(renderer, "text", str, NULL);
-}
-
GtkWidget *
dfilter_expr_dlg_new(GtkWidget *filter_te)
{
@@ -982,11 +949,8 @@ dfilter_expr_dlg_new(GtkWidget *filter_te)
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(field_tree));
gtk_tree_selection_set_mode(selection, GTK_SELECTION_BROWSE);
renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new();
- gtk_tree_view_column_pack_start(column, renderer, TRUE);
- gtk_tree_view_column_set_title(column, "Field name");
- gtk_tree_view_column_set_cell_data_func(column, renderer,
- show_hfinfo_name_func, NULL, NULL);
+ column = gtk_tree_view_column_new_with_attributes("Field name", renderer,
+ "text", 1, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(field_tree), column);
gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
gtk_tree_view_column_set_sort_column_id(column, 0);
@@ -1123,6 +1087,8 @@ dfilter_expr_dlg_new(GtkWidget *filter_te)
store = proto_hier_tree_model_new();
gtk_tree_view_set_model(GTK_TREE_VIEW(field_tree), GTK_TREE_MODEL(store));
+ gtk_tree_view_set_search_column(GTK_TREE_VIEW(field_tree), 1);
+ gtk_tree_view_set_enable_search(GTK_TREE_VIEW(field_tree), TRUE);
g_object_unref(G_OBJECT(store));
range_label = gtk_label_new("Range (offset:length)");