diff options
author | Gerald Combs <gerald@wireshark.org> | 2006-11-18 17:17:28 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2006-11-18 17:17:28 +0000 |
commit | 1f01b81e6e166aa3bb8dde0ac9103e4d09710ebd (patch) | |
tree | ab698c97b1dd2ee8f78419f7ffbc68c045d88d8a /gtk | |
parent | edbc4b922ec53d89cc900794c211768b6de9f3b8 (diff) |
If the user starts typing ([a-zA-Z0-9]) anywhere in the main window, start
filling in a display filter.
svn path=/trunk/; revision=19930
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/main.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/gtk/main.c b/gtk/main.c index 3615ae964c..8d69997f71 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -3803,13 +3803,20 @@ toolbar_display_airpcap_key_management_cb(GtkWidget *w, gpointer data) static int top_level_key_pressed_cb(GtkCTree *ctree _U_, GdkEventKey *event, gpointer user_data _U_) { - switch (event->keyval) { - case GDK_F8: - packet_list_next(); - return TRUE; - case GDK_F7: - packet_list_prev(); - return TRUE; + if (event->keyval == GDK_F8) { + packet_list_next(); + return TRUE; + } else if (event->keyval == GDK_F7) { + packet_list_prev(); + return TRUE; + } else if ((event->keyval >= GDK_0 && event->keyval <= GDK_9) || + (event->keyval >= GDK_A && event->keyval <= GDK_Z) || + (event->keyval >= GDK_a && event->keyval <= GDK_z) ) { + /* Forward the keypress on to the display filter entry */ + if (main_display_filter_widget && !gtk_widget_is_focus(main_display_filter_widget)) { + gtk_window_set_focus(GTK_WINDOW(top_level), main_display_filter_widget); + } + return FALSE; } return FALSE; } |