diff options
author | Gerald Combs <gerald@wireshark.org> | 2013-03-21 18:39:16 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2013-03-21 18:39:16 +0000 |
commit | fa7cc9c20f69cc5f254ea4e0b4675fc5427466a0 (patch) | |
tree | 0a19e634ec8c9c0e2cc2d8eb381344c7224c2206 /ui | |
parent | 7e706abafb0689915b5556ba2e996d02f8fb5b98 (diff) | |
download | wireshark-fa7cc9c20f69cc5f254ea4e0b4675fc5427466a0.tar.gz |
Bill pointed out that gtk_window_get_size() + gtk_window_resize()
doesn't work well in some cases. Switch to window_get_geometry() +
gtk_window_set_default_size(). (We use gtk_widget_get_preferred_size()
elsewhere but fetches what appeares the minimum width of the top-level
window on my machine instead of the actual width.)
Use a macro to define the initial conversation and endpoint dialog
heigth and increase its value. Use best-guess dialog metrics and UTF8
entities in a few more spots.
Add a comment about alignment not working quite right in Gtk3.
svn path=/trunk/; revision=48459
Diffstat (limited to 'ui')
-rw-r--r-- | ui/gtk/capture_dlg.c | 25 | ||||
-rw-r--r-- | ui/gtk/conversations_table.c | 47 | ||||
-rw-r--r-- | ui/gtk/hostlist_table.c | 39 | ||||
-rw-r--r-- | ui/gtk/stock_icons.c | 5 |
4 files changed, 48 insertions, 68 deletions
diff --git a/ui/gtk/capture_dlg.c b/ui/gtk/capture_dlg.c index 0c47948da3..5d1631b7c1 100644 --- a/ui/gtk/capture_dlg.c +++ b/ui/gtk/capture_dlg.c @@ -4430,7 +4430,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) GtkTreeViewColumn *column; gboolean if_present = TRUE; GList *all_cfilter_list, *cf_entry; - gint tl_width, co_width, co_height; + window_geometry_t tl_geom; if (interfaces_dialog_window_present()) { destroy_if_window(); @@ -4784,6 +4784,11 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) g_signal_connect(file_bt, "clicked", G_CALLBACK(capture_prep_file_cb), file_te); /* multiple files table */ + /* XXX We want multi_grid to shrink to its minimum size horizontally + * and be left-aligned within file_fr. Using a horizontal GtkBox works + * in Gtk2 but not Gtk3. The situation gets sillier below with limit_fr + * and limit_grid because we have both horizontal and vertical GtkBoxes. + */ multi_hb = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_box_pack_start(GTK_BOX(file_vb), multi_hb, FALSE, FALSE, 0); multi_grid = ws_gtk_grid_new(); @@ -4906,7 +4911,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) row++; /* Capture limits frame */ - limit_fr = frame_new("Stop Capture ..."); + limit_fr = frame_new("Stop Capture..."); gtk_box_pack_start(GTK_BOX (left_vb), limit_fr, TRUE, TRUE, 0); limit_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_UNRELATED_SPACING, FALSE); @@ -4923,7 +4928,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) row = 0; /* Packet count row */ - stop_packets_cb = gtk_check_button_new_with_label("... after"); + stop_packets_cb = gtk_check_button_new_with_label("after"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_packets_cb), global_capture_opts.has_autostop_packets); g_signal_connect(stop_packets_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w); @@ -4943,7 +4948,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) row++; /* Filesize row */ - stop_filesize_cb = gtk_check_button_new_with_label("... after"); + stop_filesize_cb = gtk_check_button_new_with_label("after"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_filesize_cb), global_capture_opts.has_autostop_filesize); g_signal_connect(stop_filesize_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w); @@ -4966,7 +4971,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) row++; /* Duration row */ - stop_duration_cb = gtk_check_button_new_with_label("... after"); + stop_duration_cb = gtk_check_button_new_with_label("after"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_duration_cb), global_capture_opts.has_autostop_duration); g_signal_connect(stop_duration_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w); @@ -5139,12 +5144,8 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_) g_signal_connect(cap_open_w, "delete_event", G_CALLBACK(window_delete_event_cb), NULL); g_signal_connect(cap_open_w, "destroy", G_CALLBACK(capture_prep_destroy_cb), NULL); - gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL); - gtk_window_get_size(GTK_WINDOW(cap_open_w), &co_width, &co_height); - tl_width = tl_width * 8 / 10; - if (tl_width > co_width) { - gtk_window_resize(GTK_WINDOW(cap_open_w), tl_width, co_height); - } + window_get_geometry(top_level, &tl_geom); + gtk_window_set_default_size(GTK_WINDOW(cap_open_w), tl_geom.width * 8 / 10, -1); gtk_widget_show_all(cap_open_w); window_present(cap_open_w); @@ -5461,7 +5462,7 @@ capture_dlg_prep(gpointer parent_w) { } else { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%sStop Capture: Requested filesize too large!%s\n\n" - "The setting \"... after x byte(s)\" can't be greater than %u bytes (2GB).", + "The setting \"after x byte(s)\" can't be greater than %u bytes (2GB).", simple_dialog_primary_start(), simple_dialog_primary_end(), G_MAXINT); return FALSE; } diff --git a/ui/gtk/conversations_table.c b/ui/gtk/conversations_table.c index aa04e643cf..7dd8dbb5a2 100644 --- a/ui/gtk/conversations_table.c +++ b/ui/gtk/conversations_table.c @@ -65,6 +65,7 @@ #define GRAPH_A_B_BT_KEY "graph-a-b-button" #define GRAPH_B_A_BT_KEY "graph-b-a-button" #define NO_BPS_STR "N/A" +#define CONV_DLG_HEIGHT 550 #define CMP_NUM(n1, n2) \ if ((n1) > (n2)) \ @@ -2609,7 +2610,7 @@ init_conversation_table(gboolean hide_ports, const char *table_name, const char GtkWidget *graph_b_a_bt; gboolean add_follow_stream_button = FALSE; gboolean add_graph_buttons = FALSE; - gint tl_width, ct_width, ct_height; + window_geometry_t tl_geom; conversations=g_new0(conversations_table,1); @@ -2622,11 +2623,12 @@ init_conversation_table(gboolean hide_ports, const char *table_name, const char conversations->win = dlg_window_new(title); /* transient_for top_level */ gtk_window_set_destroy_with_parent (GTK_WINDOW(conversations->win), TRUE); - gtk_window_set_default_size(GTK_WINDOW(conversations->win), 750, 400); + window_get_geometry(top_level, &tl_geom); + gtk_window_set_default_size(GTK_WINDOW(conversations->win), tl_geom.width * 8 / 10, CONV_DLG_HEIGHT); - vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 3, FALSE); + vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE); gtk_container_add(GTK_CONTAINER(conversations->win), vbox); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); + gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN); ret = init_ct_table_page(conversations, vbox, hide_ports, table_name, tap_name, filter, packet_func); if(ret == FALSE) { @@ -2684,14 +2686,14 @@ init_conversation_table(gboolean hide_ports, const char *table_name, const char if (add_graph_buttons) { /* Graph A->B */ graph_a_b_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_A_B); - gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph A->B."); + gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph traffic from address A to address B."); g_object_set_data(G_OBJECT(graph_a_b_bt), E_DFILTER_TE_KEY, main_display_filter_widget); g_object_set_data(G_OBJECT(graph_a_b_bt), CONV_PTR_KEY, conversations); g_signal_connect(graph_a_b_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)FALSE); /* Graph B->A */ graph_b_a_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_B_A); - gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph B->A."); + gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph traffic from address B to address A."); g_object_set_data(G_OBJECT(graph_b_a_bt), E_DFILTER_TE_KEY, main_display_filter_widget); g_object_set_data(G_OBJECT(graph_b_a_bt), CONV_PTR_KEY, conversations); g_signal_connect(graph_b_a_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)TRUE); @@ -2706,13 +2708,6 @@ init_conversation_table(gboolean hide_ports, const char *table_name, const char /* Initially there is no conversation selection to reselect */ conversations->reselection_idx = -1; - gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL); - gtk_window_get_size(GTK_WINDOW(conversations->win), &ct_width, &ct_height); - tl_width = tl_width * 8 / 10; - if (tl_width > ct_width) { - gtk_window_resize(GTK_WINDOW(conversations->win), tl_width, ct_height); - } - gtk_widget_show_all(conversations->win); window_present(conversations->win); @@ -2744,7 +2739,7 @@ ct_nb_switch_page_cb(GtkNotebook *nb, gpointer *pg _U_, guint page, gpointer dat if (strcmp(((conversations_table *)pages[page])->name, "TCP") == 0) { gtk_widget_set_tooltip_text(follow_stream_bt, "Follow TCP Stream."); gtk_widget_set_sensitive(follow_stream_bt, TRUE); - gtk_widget_set_tooltip_text(follow_stream_bt, "Graph A->B."); + gtk_widget_set_tooltip_text(follow_stream_bt, "Graph traffic from address A to address B."); gtk_widget_set_sensitive(graph_a_b_bt, TRUE); gtk_widget_set_sensitive(graph_b_a_bt, TRUE); } else if (strcmp(((conversations_table *)pages[page])->name, "UDP") == 0) { @@ -2896,7 +2891,7 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) GtkWidget *follow_stream_bt; GtkWidget *graph_a_b_bt; GtkWidget *graph_b_a_bt; - gint tl_width, cn_width, cn_height; + window_geometry_t tl_geom; pages = (void **)g_malloc(sizeof(void *) * (g_slist_length(registered_ct_tables) + 1)); @@ -2906,11 +2901,12 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) win = dlg_window_new(title); /* transient_for top_level */ gtk_window_set_destroy_with_parent (GTK_WINDOW(win), TRUE); - gtk_window_set_default_size(GTK_WINDOW(win), 750, 400); + window_get_geometry(top_level, &tl_geom); + gtk_window_set_default_size(GTK_WINDOW(win), tl_geom.width * 8 / 10, CONV_DLG_HEIGHT); - vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 6, FALSE); + vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE); gtk_container_add(GTK_CONTAINER(win), vbox); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); + gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN); nb = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX (vbox), nb, TRUE, TRUE, 0); @@ -2936,7 +2932,7 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) pages[0] = GINT_TO_POINTER(page); - hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3, FALSE); + hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, DLG_UNRELATED_SPACING, FALSE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); resolv_cb = gtk_check_button_new_with_mnemonic("Name resolution"); @@ -2947,7 +2943,7 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) g_signal_connect(resolv_cb, "toggled", G_CALLBACK(ct_resolve_toggle_dest), pages); filter_cb = gtk_check_button_new_with_mnemonic("Limit to display filter"); - gtk_box_pack_start(GTK_BOX (hbox), filter_cb, FALSE, FALSE, DLG_UNRELATED_SPACING); + gtk_box_pack_start(GTK_BOX (hbox), filter_cb, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filter_cb), FALSE); gtk_widget_set_tooltip_text(filter_cb, "Limit the list to conversations matching the current display filter."); g_signal_connect(filter_cb, "toggled", G_CALLBACK(ct_filter_toggle_dest), pages); @@ -2975,7 +2971,7 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) /* Graph A->B */ graph_a_b_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_A_B); - gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph A->B."); + gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph traffic from address A to address B."); g_object_set_data(G_OBJECT(graph_a_b_bt), E_DFILTER_TE_KEY, main_display_filter_widget); g_object_set_data(G_OBJECT(graph_a_b_bt), CONV_PTR_KEY, pages[page]); g_signal_connect(graph_a_b_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)FALSE); @@ -2983,7 +2979,7 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) /* Graph B->A */ graph_b_a_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_B_A); - gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph B->A."); + gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph traffic from address B to address A."); g_object_set_data(G_OBJECT(graph_b_a_bt), E_DFILTER_TE_KEY, main_display_filter_widget); g_object_set_data(G_OBJECT(graph_b_a_bt), CONV_PTR_KEY, pages[page]); g_signal_connect(graph_b_a_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)TRUE); @@ -3007,13 +3003,6 @@ init_conversation_notebook_cb(GtkWidget *w _U_, gpointer d _U_) g_signal_connect(win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL); g_signal_connect(win, "destroy", G_CALLBACK(ct_win_destroy_notebook_cb), pages); - gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL); - gtk_window_get_size(GTK_WINDOW(win), &cn_width, &cn_height); - tl_width = tl_width * 8 / 10; - if (tl_width > cn_width) { - gtk_window_resize(GTK_WINDOW(win), tl_width, cn_height); - } - gtk_widget_show_all(win); window_present(win); diff --git a/ui/gtk/hostlist_table.c b/ui/gtk/hostlist_table.c index abeb38deb9..8e6138b6a2 100644 --- a/ui/gtk/hostlist_table.c +++ b/ui/gtk/hostlist_table.c @@ -69,6 +69,7 @@ #define HOST_PTR_KEY "hostlist-pointer" #define NB_PAGES_KEY "notebook-pages" +#define HL_DLG_HEIGHT 550 #define CMP_INT(i1, i2) \ if ((i1) > (i2)) \ @@ -1395,7 +1396,7 @@ init_hostlist_table(gboolean hide_ports, const char *table_name, const char *tap #ifdef HAVE_GEOIP GtkWidget *map_bt; #endif - gint tl_width, ht_width, ht_height; + window_geometry_t tl_geom; hosttable=g_new(hostlist_table,1); @@ -1408,11 +1409,12 @@ init_hostlist_table(gboolean hide_ports, const char *table_name, const char *tap hosttable->win = dlg_window_new(title); /* transient_for top_level */ gtk_window_set_destroy_with_parent (GTK_WINDOW(hosttable->win), TRUE); - gtk_window_set_default_size(GTK_WINDOW(hosttable->win), 750, 400); + window_get_geometry(top_level, &tl_geom); + gtk_window_set_default_size(GTK_WINDOW(hosttable->win), tl_geom.width * 8 / 10, HL_DLG_HEIGHT); - vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 3, FALSE); + vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE); gtk_container_add(GTK_CONTAINER(hosttable->win), vbox); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); + gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN); ret = init_hostlist_table_page(hosttable, vbox, hide_ports, table_name, tap_name, filter, packet_func); if(ret == FALSE) { @@ -1458,13 +1460,6 @@ init_hostlist_table(gboolean hide_ports, const char *table_name, const char *tap g_signal_connect(hosttable->win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL); g_signal_connect(hosttable->win, "destroy", G_CALLBACK(hostlist_win_destroy_cb), hosttable); - gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL); - gtk_window_get_size(GTK_WINDOW(hosttable->win), &ht_width, &ht_height); - tl_width = tl_width * 8 / 10; - if (tl_width > ht_width) { - gtk_window_resize(GTK_WINDOW(hosttable->win), tl_width, ht_height); - } - gtk_widget_show_all(hosttable->win); window_present(hosttable->win); @@ -1644,8 +1639,7 @@ init_hostlist_notebook_cb(GtkWidget *w _U_, gpointer d _U_) #ifdef HAVE_GEOIP GtkWidget *map_bt; #endif - gint tl_width, hn_width, hn_height; - + window_geometry_t tl_geom; pages = (void **)g_malloc(sizeof(void *) * (g_slist_length(registered_hostlist_tables) + 1)); @@ -1656,11 +1650,13 @@ init_hostlist_notebook_cb(GtkWidget *w _U_, gpointer d _U_) g_snprintf(title, sizeof(title), "Endpoints: %s", display_name); g_free(display_name); gtk_window_set_title(GTK_WINDOW(win), title); - gtk_window_set_default_size(GTK_WINDOW(win), 750, 400); - vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 6, FALSE); + window_get_geometry(top_level, &tl_geom); + gtk_window_set_default_size(GTK_WINDOW(win), tl_geom.width * 8 / 10, HL_DLG_HEIGHT); + + vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE); gtk_container_add(GTK_CONTAINER(win), vbox); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); + gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN); nb = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX(vbox), nb, TRUE, TRUE, 0); @@ -1685,7 +1681,7 @@ init_hostlist_notebook_cb(GtkWidget *w _U_, gpointer d _U_) pages[0] = GINT_TO_POINTER(page); - hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3, FALSE); + hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, DLG_UNRELATED_SPACING, FALSE); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); resolv_cb = gtk_check_button_new_with_mnemonic("Name resolution"); @@ -1697,7 +1693,7 @@ init_hostlist_notebook_cb(GtkWidget *w _U_, gpointer d _U_) g_signal_connect(resolv_cb, "toggled", G_CALLBACK(hostlist_resolve_toggle_dest), pages); filter_cb = gtk_check_button_new_with_mnemonic("Limit to display filter"); - gtk_box_pack_start(GTK_BOX(hbox), filter_cb, FALSE, FALSE, DLG_UNRELATED_SPACING); + gtk_box_pack_start(GTK_BOX(hbox), filter_cb, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filter_cb), FALSE); gtk_widget_set_tooltip_text(filter_cb, "Limit the list to endpoints matching the current display filter."); @@ -1736,13 +1732,6 @@ init_hostlist_notebook_cb(GtkWidget *w _U_, gpointer d _U_) g_signal_connect(win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL); g_signal_connect(win, "destroy", G_CALLBACK(hostlist_win_destroy_notebook_cb), pages); - gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL); - gtk_window_get_size(GTK_WINDOW(win), &hn_width, &hn_height); - tl_width = tl_width * 8 / 10; - if (tl_width > hn_width) { - gtk_window_resize(GTK_WINDOW(win), tl_width, hn_height); - } - gtk_widget_show_all(win); window_present(win); diff --git a/ui/gtk/stock_icons.c b/ui/gtk/stock_icons.c index 7a95775875..ae616026d2 100644 --- a/ui/gtk/stock_icons.c +++ b/ui/gtk/stock_icons.c @@ -29,6 +29,7 @@ #include "ui/gtk/stock_icons.h" #include "ui/gtk/toolbar_icons.h" +#include "ui/utf8_entities.h" /* these icons are derived from the original stock icons */ #include "../../image/toolbar/capture_interfaces_24.xpm" @@ -108,8 +109,8 @@ void stock_icons_init(void) { #ifdef HAVE_GEOIP { (char *)WIRESHARK_STOCK_MAP, (char *)"Map", NO_MOD, 0, NULL }, #endif - { (char *)WIRESHARK_STOCK_GRAPH_A_B, (char *)"Graph A->B", NO_MOD, 0, NULL }, - { (char *)WIRESHARK_STOCK_GRAPH_B_A, (char *)"Graph B->A", NO_MOD, 0, NULL }, + { (char *)WIRESHARK_STOCK_GRAPH_A_B, (char *)"Graph A" UTF8_RIGHTWARDS_ARROW "B", NO_MOD, 0, NULL }, + { (char *)WIRESHARK_STOCK_GRAPH_B_A, (char *)"Graph B" UTF8_RIGHTWARDS_ARROW "A", NO_MOD, 0, NULL }, { (char *)WIRESHARK_STOCK_FOLLOW_STREAM, (char *)"Follow Stream", NO_MOD, 0, NULL }, { (char *)WIRESHARK_STOCK_DISPLAY_FILTER, (char *)"Display _Filter", NO_MOD, 0, NULL }, { (char *)WIRESHARK_STOCK_DISPLAY_FILTER_ENTRY, (char *)"F_ilter:", NO_MOD, 0, NULL }, |