diff options
author | Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> | 2009-08-15 04:19:45 +0000 |
---|---|---|
committer | Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> | 2009-08-15 04:19:45 +0000 |
commit | 6b556d4039a6aa0d10223cae45479a7eb39da2e1 (patch) | |
tree | a6e169fbf14544db99e1e04f23854e1b95156fa2 /gtk | |
parent | e15fef4355ff77062f7896807f638bc50d7c0856 (diff) |
Add support for mark/unmark all frames in our new packet list
svn path=/trunk/; revision=29423
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/menus.c | 13 | ||||
-rw-r--r-- | gtk/new_packet_list.c | 32 | ||||
-rw-r--r-- | gtk/new_packet_list.h | 3 |
3 files changed, 37 insertions, 11 deletions
diff --git a/gtk/menus.c b/gtk/menus.c index 114a367a3c..318ff3871f 100644 --- a/gtk/menus.c +++ b/gtk/menus.c @@ -507,13 +507,14 @@ static GtkItemFactoryEntry menu_items[] = 0, NULL, NULL,}, {"/Edit/Find Previous Mark", "<shift><control>B", GTK_MENU_FUNC(find_prev_mark_cb), 0, NULL, NULL,}, -#ifndef NEW_PACKET_LIST - {"/Edit/Mark _All Packets", "<control>A", GTK_MENU_FUNC(packet_list_mark_all_frames_cb), - 0, NULL, NULL,}, - {"/Edit/_Unmark All Packets", "<control>D", GTK_MENU_FUNC(packet_list_unmark_all_frames_cb), - 0, NULL, NULL,}, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,}, +#ifdef NEW_PACKET_LIST + {"/Edit/Mark _All Packets", "<control>A", GTK_MENU_FUNC(new_packet_list_mark_all_frames_cb), 0, NULL, NULL,}, + {"/Edit/_Unmark All Packets", "<control>D", GTK_MENU_FUNC(new_packet_list_unmark_all_frames_cb), 0, NULL, NULL,}, +#else + {"/Edit/Mark _All Packets", "<control>A", GTK_MENU_FUNC(packet_list_mark_all_frames_cb), 0, NULL, NULL,}, + {"/Edit/_Unmark All Packets", "<control>D", GTK_MENU_FUNC(packet_list_unmark_all_frames_cb), 0, NULL, NULL,}, #endif /* NEW_PACKET_LIST */ + {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,}, {"/Edit/Set Time Reference (toggle)", "<control>T", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_TOGGLE, "<StockItem>", WIRESHARK_STOCK_TIME,}, {"/Edit/Find Next Reference", "<alt><shift><control>N", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_FIND_NEXT, NULL, NULL,}, diff --git a/gtk/new_packet_list.c b/gtk/new_packet_list.c index 9c26ba7815..a232255d80 100644 --- a/gtk/new_packet_list.c +++ b/gtk/new_packet_list.c @@ -621,17 +621,39 @@ new_packet_list_queue_draw(void) /* call this after last set_frame_mark is done */ static void mark_frames_ready(void) { - file_save_update_dynamics(); - packets_bar_update(); + file_save_update_dynamics(); + packets_bar_update(); } static void -set_frame_mark(gboolean set, frame_data *frame) +set_frame_mark(gboolean set, frame_data *fdata) { if (set) - cf_mark_frame(&cfile, frame); + cf_mark_frame(&cfile, fdata); else - cf_unmark_frame(&cfile, frame); + cf_unmark_frame(&cfile, fdata); +} + +static void mark_all_frames(gboolean set) +{ + frame_data *fdata; + + /* XXX: we might need a progressbar here */ + for (fdata = cfile.plist; fdata != NULL; fdata = fdata->next) { + set_frame_mark(set, fdata); + } + mark_frames_ready(); + new_packet_list_queue_draw(); +} + +void new_packet_list_mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) +{ + mark_all_frames(TRUE); +} + +void new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) +{ + mark_all_frames(FALSE); } void diff --git a/gtk/new_packet_list.h b/gtk/new_packet_list.h index d475cf5b5e..3ffdd0b864 100644 --- a/gtk/new_packet_list.h +++ b/gtk/new_packet_list.h @@ -46,6 +46,9 @@ extern void new_packet_list_set_font(PangoFontDescription *font); */ extern void new_packet_list_mark_frame_cb(GtkWidget *widget, gpointer data); +void new_packet_list_mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_); +void new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_); + #endif /* NEW_PACKET_LIST */ #endif /* __NEW_PACKET_LIST_H__ */ |