aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2002-05-03 21:55:15 +0000
committerGuy Harris <guy@alum.mit.edu>2002-05-03 21:55:15 +0000
commit71f8208bf93d75b9a592c62ab32ec32d1e501958 (patch)
treebb4390ef4668e1881fb48551f5a7c00485ad6613 /gtk
parent7aba39031eb3133e95dd344c31bcfd73f3b33389 (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.c30
-rw-r--r--gtk/find_dlg.h4
-rw-r--r--gtk/menu.c6
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);