diff options
author | Guy Harris <guy@alum.mit.edu> | 2002-05-03 21:55:15 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2002-05-03 21:55:15 +0000 |
commit | 71f8208bf93d75b9a592c62ab32ec32d1e501958 (patch) | |
tree | bb4390ef4668e1881fb48551f5a7c00485ad6613 /gtk | |
parent | 7aba39031eb3133e95dd344c31bcfd73f3b33389 (diff) |
From Didieer Gautheron:
Don't show progress bar for quick "Find Frame" searches
Add "Find Next" and "Find Previous" to repeat searches
Add documentation for "Find Next" and "Find Previous".
svn path=/trunk/; revision=5378
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/find_dlg.c | 30 | ||||
-rw-r--r-- | gtk/find_dlg.h | 4 | ||||
-rw-r--r-- | gtk/menu.c | 6 |
3 files changed, 37 insertions, 3 deletions
diff --git a/gtk/find_dlg.c b/gtk/find_dlg.c index 35bc25ae4c..8404d7e99e 100644 --- a/gtk/find_dlg.c +++ b/gtk/find_dlg.c @@ -1,7 +1,7 @@ /* find_dlg.c * Routines for "find frame" window * - * $Id: find_dlg.c,v 1.21 2002/03/05 11:55:59 guy Exp $ + * $Id: find_dlg.c,v 1.22 2002/05/03 21:55:14 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -252,3 +252,31 @@ find_frame_destroy_cb(GtkWidget *win, gpointer user_data _U_) /* Note that we no longer have a "Find Frame" dialog box. */ find_frame_w = NULL; } + +static void +find_previous_next(GtkWidget *w, gpointer d, gboolean sens) +{ + dfilter_t *sfcode; + + if (cfile.sfilter) { + if (!dfilter_compile(cfile.sfilter, &sfcode)) + return; + if (sfcode == NULL) + return; + cfile.sbackward = sens; + find_packet(&cfile, sfcode); + } else + find_frame_cb(w, d); +} + +void +find_next_cb(GtkWidget *w , gpointer d) +{ + find_previous_next(w, d, FALSE); +} + +void +find_previous_cb(GtkWidget *w , gpointer d) +{ + find_previous_next(w, d, TRUE); +} diff --git a/gtk/find_dlg.h b/gtk/find_dlg.h index dd7518b018..b2bfc5bc85 100644 --- a/gtk/find_dlg.h +++ b/gtk/find_dlg.h @@ -1,7 +1,7 @@ /* find_dlg.h * Definitions for "find frame" window * - * $Id: find_dlg.h,v 1.1 1999/11/06 06:27:09 guy Exp $ + * $Id: find_dlg.h,v 1.2 2002/05/03 21:55:15 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -27,5 +27,7 @@ #define __FIND_DLG_H__ void find_frame_cb(GtkWidget *, gpointer); +void find_next_cb(GtkWidget *, gpointer); +void find_previous_cb(GtkWidget *, gpointer); #endif /* find_dlg.h */ diff --git a/gtk/menu.c b/gtk/menu.c index cb542145c3..bcc6a10308 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -1,7 +1,7 @@ /* menu.c * Menu routines * - * $Id: menu.c,v 1.62 2002/01/21 07:37:41 guy Exp $ + * $Id: menu.c,v 1.63 2002/05/03 21:55:15 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -117,6 +117,8 @@ static GtkItemFactoryEntry menu_items[] = {"/Edit/<separator>", NULL, NULL, 0, "<Separator>"}, #endif {"/Edit/_Find Frame...", "<control>F", GTK_MENU_FUNC(find_frame_cb), 0, NULL}, + {"/Edit/Find _Next", "<control>N", GTK_MENU_FUNC(find_next_cb), 0, NULL}, + {"/Edit/Find _Previous", "<control>B", GTK_MENU_FUNC(find_previous_cb), 0, NULL}, {"/Edit/_Go To Frame...", "<control>G", GTK_MENU_FUNC(goto_frame_cb), 0, NULL}, {"/Edit/<separator>", NULL, NULL, 0, "<Separator>"}, {"/Edit/_Mark Frame", "<control>M", GTK_MENU_FUNC(mark_frame_cb), 0, NULL}, @@ -465,6 +467,8 @@ set_menus_for_captured_packets(gboolean have_captured_packets) { set_menu_sensitivity("/File/Print...", have_captured_packets); set_menu_sensitivity("/Edit/Find Frame...", have_captured_packets); + set_menu_sensitivity("/Edit/Find Next", have_captured_packets); + set_menu_sensitivity("/Edit/Find Previous", have_captured_packets); set_menu_sensitivity("/Edit/Go To Frame...", have_captured_packets); set_menu_sensitivity("/Display/Colorize Display...", have_captured_packets); set_menu_sensitivity("/Tools/Summary", have_captured_packets); |