From Cal Turney:
authorAnders Broman <anders.broman@ericsson.com>
Mon, 16 Aug 2010 18:17:45 +0000 (18:17 -0000)
committerAnders Broman <anders.broman@ericsson.com>
Mon, 16 Aug 2010 18:17:45 +0000 (18:17 -0000)
1. Restore the functionality of <Ctrl>A and <Ctrl>X to the filter textbox.
2. Assign intuitive shortcuts without consuming any new shortcut letters.
3. Add 'Un-Time Reference All Packets' to the menu.
4. Disallow the marking or ignoring of all packets in the capture.
5. Make the Mark/Ignore/Time Reference-related menu items context sensitive.
6. Add 'ref_time_count' to the capture_file structure
7. Utilize marked/ignored/ref_time_count vars to prevent needless looping thru
   the entire packet list by exiting the loop when it becomes zero.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5115

svn path=/trunk/; revision=33817

cfile.h
file.c
gtk/main.c
gtk/main.h
gtk/menus.c
gtk/new_packet_list.c
gtk/new_packet_list.h

diff --git a/cfile.h b/cfile.h
index 9e7dd0851fe1d7ab40c2c7ecee487e04fd9e9554..5789b0d230a01f9999d083e3dba7ed71d36a276d 100644 (file)
--- a/cfile.h
+++ b/cfile.h
@@ -59,6 +59,7 @@ typedef struct _capture_file {
   int          displayed_count; /* Number of displayed frames */
   int          marked_count;    /* Number of marked frames */
   int          ignored_count;   /* Number of ignored frames */
+  int          ref_time_count;  /* Number of time referenced frames */
   gboolean     drops_known;     /* TRUE if we know how many packets were dropped */
   guint32      drops;           /* Dropped packets */
   nstime_t     elapsed_time;    /* Elapsed time */
diff --git a/file.c b/file.c
index 194f0e784d550cb5f40e9d7f5543523e1c3ee75f..680940a1c9febaab71ee1862a39977ed56452a9f 100644 (file)
--- a/file.c
+++ b/file.c
@@ -320,6 +320,7 @@ cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err)
   cf->displayed_count = 0;
   cf->marked_count = 0;
   cf->ignored_count = 0;
+  cf->ref_time_count = 0;
   cf->drops_known = FALSE;
   cf->drops     = 0;
   cf->snap      = wtap_snapshot_length(cf->wth);
index 31d25d9e0e2cf23891e62bd7e8c73d8af77d2945..983954ec8f76e18b293ecdd54edd15324d3399f9 100644 (file)
@@ -690,14 +690,16 @@ copy_selected_plist_cb(GtkWidget *w _U_, gpointer data _U_, COPY_SELECTED_E acti
 
 
 /* mark as reference time frame */
-static void
+void
 set_frame_reftime(gboolean set, frame_data *frame, gint row) {
   if (row == -1)
     return;
   if (set) {
     frame->flags.ref_time=1;
+       cfile.ref_time_count++;
   } else {
     frame->flags.ref_time=0;
+    cfile.ref_time_count--;
   }
   cf_reftime_packets(&cfile);
 #ifdef NEW_PACKET_LIST
index 3025b3547a7aff63b36e105104ac8ad1a8496bad..f2b14d42acf19cde0f875dae6056cc6401a1190f 100644 (file)
@@ -136,7 +136,7 @@ typedef enum {
     COPY_SELECTED_VALUE         /**< "Copy Value" */
 } COPY_SELECTED_E;
 
-/** User highlited item in details window and then right clicked and selected the copy option
+/** User highlighted item in details window and then right clicked and selected the copy option
  *
  * @param widget parent widget
  * @param data parent widget
@@ -144,6 +144,14 @@ typedef enum {
  */
 extern void copy_selected_plist_cb(GtkWidget *w _U_, gpointer data, COPY_SELECTED_E action);
 
+/** Set or remove a time reference on this frame 
+ *
+ * @param TRUE = set time ref, FALSE=unset time ref
+ * @param pointer to frame
+ * @param row number
+ */
+extern void set_frame_reftime(gboolean set, frame_data *frame, gint row);
+
 /** User requested the colorize function
  *  by menu or context menu of protocol tree.
  *
index b13f4798324e87aff21117d49dd068279a038fbc..39f85dc9ce0c5b7ea585a428ede88fd93af695d3 100644 (file)
@@ -510,50 +510,48 @@ static GtkItemFactoryEntry menu_items[] =
                              0, "<StockItem>", GTK_STOCK_PASTE,},
 #endif
     {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
-    {"/Edit/_Find Packet...", "<control>F",
-                             GTK_MENU_FUNC(find_frame_cb), 0, "<StockItem>", GTK_STOCK_FIND,},
-    {"/Edit/Find Ne_xt", "<control>N", GTK_MENU_FUNC(find_next_cb), 0, NULL, NULL,},
-    {"/Edit/Find Pre_vious", "<control>B", GTK_MENU_FUNC(find_previous_cb), 0, NULL, NULL,},
-    {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
+    {"/Edit/_Find Packet...",                             "<control>F", GTK_MENU_FUNC(find_frame_cb), 0, "<StockItem>", GTK_STOCK_FIND,},
+    {"/Edit/Find Ne_xt",                                  "<control>N", GTK_MENU_FUNC(find_next_cb), 0, NULL, NULL,},
+    {"/Edit/Find Pre_vious",                              "<control>B", GTK_MENU_FUNC(find_previous_cb), 0, NULL, NULL,},
 #ifdef NEW_PACKET_LIST
-    {"/Edit/_Mark Packet (toggle)", "<control>M", GTK_MENU_FUNC(new_packet_list_mark_frame_cb),
-                       0, NULL, NULL,},
+    {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
+    {"/Edit/_Mark Packet (toggle)",                       "<control>M", GTK_MENU_FUNC(new_packet_list_mark_frame_cb),0, NULL, NULL,},
+    {"/Edit/Mark All Displayed Packets (toggle)",  "<shift><control>M", GTK_MENU_FUNC(new_packet_list_mark_all_displayed_frames_cb), 0, NULL, NULL,},
+    {"/Edit/Unmark All Packets",                     "<alt><control>M", GTK_MENU_FUNC(new_packet_list_unmark_all_frames_cb), 0, NULL, NULL,},
+    {"/Edit/Find Next Mark",                       "<shift><control>N", GTK_MENU_FUNC(find_next_mark_cb), 0, NULL, NULL,},
+    {"/Edit/Find Previous Mark",                   "<shift><control>B", GTK_MENU_FUNC(find_prev_mark_cb), 0, NULL, NULL,},
+    {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
+    {"/Edit/_Ignore Packet (toggle)",                     "<control>D", GTK_MENU_FUNC(new_packet_list_ignore_frame_cb), 0, NULL, NULL,},
+    {"/Edit/Ignore All Displayed Packets (toggle)","<shift><control>D", GTK_MENU_FUNC(new_packet_list_ignore_all_displayed_frames_cb), 0, NULL, NULL,},
+    {"/Edit/U_n-Ignore All Packets",                 "<alt><control>D", GTK_MENU_FUNC(new_packet_list_unignore_all_frames_cb), 0, NULL, NULL,},
+    {"/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/Un-Time Reference All Packets",          "<alt><control>T", GTK_MENU_FUNC(new_packet_list_untime_reference_all_frames_cb), 0, NULL, NULL,},
+    {"/Edit/Find Next Time Reference",               "<alt><control>N", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_FIND_NEXT, NULL, NULL,},
+    {"/Edit/Find Previous Time Reference",           "<alt><control>B", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_FIND_PREV, NULL, NULL,},
 #else
+    {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
     {"/Edit/_Mark Packet (toggle)", "<control>M", GTK_MENU_FUNC(packet_list_mark_frame_cb),
                        0, NULL, NULL,},
-#endif /* NEW_PACKET_LIST */
     {"/Edit/Find Next Mark", "<shift><control>N", GTK_MENU_FUNC(find_next_mark_cb),
                        0, NULL, NULL,},
     {"/Edit/Find Previous Mark", "<shift><control>B", GTK_MENU_FUNC(find_prev_mark_cb),
                        0, NULL, NULL,},
-#ifdef NEW_PACKET_LIST
-    {"/Edit/Mark _All Displayed 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 Displayed 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,},
-#ifdef NEW_PACKET_LIST
-    {"/Edit/_Ignore Packet (toggle)", "<control>X", GTK_MENU_FUNC(new_packet_list_ignore_frame_cb),
-                       0, NULL, NULL,},
-    {"/Edit/Ignore All Displayed Packets", "<alt><shift><control>X", GTK_MENU_FUNC(new_packet_list_ignore_all_frames_cb),
-                       0, NULL, NULL,},
-    {"/Edit/U_n-Ignore All Packets", "<shift><control>X", GTK_MENU_FUNC(new_packet_list_unignore_all_frames_cb),
-                       0, NULL, NULL,},
-#else
     {"/Edit/_Ignore Packet (toggle)", "<control>X", GTK_MENU_FUNC(packet_list_ignore_frame_cb),
                        0, NULL, NULL,},
     {"/Edit/Ignore All Displayed Packets", "<alt><shift><control>X", GTK_MENU_FUNC(packet_list_ignore_all_frames_cb),
                        0, NULL, NULL,},
     {"/Edit/U_n-Ignore All Packets", "<shift><control>X", GTK_MENU_FUNC(packet_list_unignore_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,},
-    {"/Edit/Find Previous Reference", "<alt><shift><control>B", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_FIND_PREV, NULL, NULL,},
+    {"/Edit/Find Next Time Reference", "<alt><shift><control>N", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_FIND_NEXT, NULL, NULL,},
+    {"/Edit/Find Previous Time Reference", "<alt><shift><control>B", GTK_MENU_FUNC(reftime_frame_cb), REFTIME_FIND_PREV, NULL, NULL,},
+#endif /* NEW_PACKET_LIST */
     {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
     {"/Edit/_Configuration Profiles...", "<shift><control>A", GTK_MENU_FUNC(profile_dialog_cb), 0, NULL, NULL,},
     {"/Edit/_Preferences...", "<shift><control>P", GTK_MENU_FUNC(prefs_page_cb),
@@ -2837,36 +2835,61 @@ packet_is_ssl(epan_dissect_t* edt)
 void
 set_menus_for_selected_packet(capture_file *cf)
 {
-    gboolean is_ssl = packet_is_ssl(cf->edt);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Mark Packet (toggle)",
+    /* Making the menu context-sensitive allows for easier selection of the desired item and has
+       the added benefit with large captures of avoiding needless looping through huge lists 
+       for marked, ignored, or time-referenced packets. 
+       
+       When all the packets are currently displayed, there is no benefit to marking or ignoring 
+       all the frames even if the File>Merge function is used, because the marked and ignored 
+       packet attributes are scrubbed in the merged display list. */
+
+       gboolean is_ssl = packet_is_ssl(cf->edt);
+
+       set_menu_sensitivity(main_menu_factory, "/Edit/Mark Packet (toggle)",
                          cf->current_frame != NULL);
     set_menu_sensitivity(packet_list_menu_factory, "/Mark Packet (toggle)",
                          cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Find Next Mark",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Find Previous Mark",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Mark All Displayed Packets",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Unmark All Packets",
-                         cf->current_frame != NULL);
+    set_menu_sensitivity(main_menu_factory, "/Edit/Mark All Displayed Packets (toggle)",
+                            cf->displayed_count > 0 && cf->displayed_count != cf->count);
+       /* Unlike un-gnore, do not allow unmark of all frames when no frames are displayed  */
+       set_menu_sensitivity(main_menu_factory, "/Edit/Unmark All Packets",
+                         cf->current_frame != NULL && cf->marked_count > 0);
+       set_menu_sensitivity(main_menu_factory, "/Edit/Find Next Mark",
+                                                cf->current_frame != NULL ? 
+                                                cf->marked_count > 0 && !(cf->marked_count == 1 && cf->current_frame->flags.marked==TRUE) :
+                                                FALSE );
+       set_menu_sensitivity(main_menu_factory, "/Edit/Find Previous Mark",
+                         cf->current_frame != NULL ?
+                                                cf->marked_count > 0 && !(cf->marked_count == 1 && cf->current_frame->flags.marked==TRUE) :
+                                                FALSE );
+
     set_menu_sensitivity(main_menu_factory, "/Edit/Ignore Packet (toggle)",
                          cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Ignore All Displayed Packets",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Un-Ignore All Packets",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(packet_list_menu_factory, "/Ignore Packet (toggle)",
+       set_menu_sensitivity(packet_list_menu_factory, "/Ignore Packet (toggle)",
                          cf->current_frame != NULL);
+       set_menu_sensitivity(main_menu_factory, "/Edit/Ignore All Displayed Packets (toggle)",
+                            cf->displayed_count > 0 && cf->displayed_count != cf->count);
+       /* Allow un-ignore of all frames even with no frames currently displayed */
+       set_menu_sensitivity(main_menu_factory, "/Edit/Un-Ignore All Packets",
+                         cf->ignored_count > 0);
+       
     set_menu_sensitivity(main_menu_factory, "/Edit/Set Time Reference (toggle)",
                          cf->current_frame != NULL);
+       set_menu_sensitivity(main_menu_factory, "/Edit/Un-Time Reference All Packets",
+                         cf->ref_time_count > 0);
+
     set_menu_sensitivity(packet_list_menu_factory, "/Set Time Reference (toggle)",
                          cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Find Next Reference",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/Edit/Find Previous Reference",
-                         cf->current_frame != NULL);
-    set_menu_sensitivity(main_menu_factory, "/View/Resize All Columns",
+    set_menu_sensitivity(main_menu_factory, "/Edit/Find Next Time Reference",
+                         cf->current_frame != NULL ?
+                                                cf->ref_time_count > 0 && !(cf->ref_time_count == 1 && cf->current_frame->flags.ref_time==TRUE) :
+                                                FALSE );
+    set_menu_sensitivity(main_menu_factory, "/Edit/Find Previous Time Reference",
+                                                cf->current_frame != NULL ?
+                                                cf->ref_time_count > 0 && !(cf->ref_time_count == 1 && cf->current_frame->flags.ref_time==TRUE) :
+                                                FALSE );
+                             
+       set_menu_sensitivity(main_menu_factory, "/View/Resize All Columns",
                          cf->current_frame != NULL);
     set_menu_sensitivity(main_menu_factory, "/View/Collapse All",
                          cf->current_frame != NULL);
index 3198df9f772d8a035ccd776f9c441afef030ea0f..cfa051e3e625e2fbf6fbd6346abaeb429270b8d5 100644 (file)
@@ -1202,58 +1202,6 @@ new_packet_list_queue_draw(void)
        cf_select_packet(&cfile, row);
 }
 
-/* call this after last set_frame_mark is done */
-static void
-mark_frames_ready(void)
-{
-       file_save_update_dynamics();
-       packets_bar_update();
-       new_packet_list_queue_draw();
-}
-
-static void
-set_frame_mark(gboolean set, frame_data *fdata)
-{
-       if (set)
-               cf_mark_frame(&cfile, fdata);
-       else
-               cf_unmark_frame(&cfile, fdata);
-}
-
-static void
-set_frame_ignore(gboolean set, frame_data *fdata)
-{
-       if (set)
-               cf_ignore_frame(&cfile, fdata);
-       else
-               cf_unignore_frame(&cfile, fdata);
-}
-
-static void
-mark_all_frames(gboolean set)
-{
-       frame_data *fdata;
-
-       /* XXX: we might need a progressbar here */
-       for (fdata = cfile.plist_start; fdata != NULL; fdata = fdata->next) {
-                if( fdata->flags.passed_dfilter )
-                       set_frame_mark(set, fdata);
-       }
-       mark_frames_ready();
-}
-
-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);
-}
-
 /* Set the selection mode of the packet list window. */
 void
 new_packet_list_set_sel_browse(gboolean val, gboolean force_set)
@@ -1300,6 +1248,25 @@ new_packet_list_set_font(PangoFontDescription *font)
        gtk_widget_modify_font(packetlist->view, font);
 }
 
+
+/* call this after last set_frame_mark is done */
+static void
+mark_frames_ready(void)
+{
+       file_save_update_dynamics();
+       packets_bar_update();
+       new_packet_list_queue_draw();
+}
+
+static void
+set_frame_mark(gboolean set, frame_data *fdata)
+{
+       if (set)
+               cf_mark_frame(&cfile, fdata);
+       else
+               cf_unmark_frame(&cfile, fdata);
+}
+
 void
 new_packet_list_mark_frame_cb(GtkWidget *w _U_, gpointer data _U_)
 {
@@ -1317,6 +1284,57 @@ new_packet_list_mark_frame_cb(GtkWidget *w _U_, gpointer data _U_)
        mark_frames_ready();
 }
 
+static void
+mark_all_displayed_frames(gboolean set)
+{
+       /* XXX: we might need a progressbar here */
+       frame_data *fdata;
+       for (fdata = cfile.plist_start; fdata != NULL; fdata = fdata->next) {
+               if( fdata->flags.passed_dfilter )
+                       set_frame_mark(set, fdata);
+       }
+}
+
+void
+new_packet_list_mark_all_displayed_frames_cb(GtkWidget *w _U_, gpointer data _U_)
+{
+       if(cfile.displayed_count < cfile.count){
+               if (cf_find_packet_marked(&cfile, SD_FORWARD)) {
+                       mark_all_displayed_frames(FALSE);
+               }else {
+                       mark_all_displayed_frames(TRUE);
+               }
+               mark_frames_ready();
+       }
+}
+
+static void
+unmark_all_frames()
+{
+       /* XXX: we might need a progressbar here */
+       frame_data *fdata;
+       for (fdata = cfile.plist_start; fdata != NULL && cfile.marked_count > 0; fdata = fdata->next) {
+               set_frame_mark(FALSE, fdata);
+       }
+}
+
+void
+new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_)
+{
+       unmark_all_frames();
+       mark_frames_ready();
+}
+
+
+static void
+set_frame_ignore(gboolean set, frame_data *fdata)
+{
+       if (set)
+               cf_ignore_frame(&cfile, fdata);
+       else
+               cf_unignore_frame(&cfile, fdata);
+}
+
 void
 new_packet_list_ignore_frame_cb(GtkWidget *w _U_, gpointer data _U_)
 {
@@ -1329,36 +1347,78 @@ new_packet_list_ignore_frame_cb(GtkWidget *w _U_, gpointer data _U_)
        /* model is filled with the current model as a convenience. */
        gtk_tree_selection_get_selected(selection, &model, &iter);
        record = new_packet_list_get_record(model, &iter);
-
        set_frame_ignore(!record->fdata->flags.ignored, record->fdata);
        redissect_packets();
 }
 
 static void
-ignore_all_frames(gboolean set)
+ignore_all_displayed_frames(gboolean set)
 {
        frame_data *fdata;
 
        /* XXX: we might need a progressbar here */
        for (fdata = cfile.plist_start; fdata != NULL; fdata = fdata->next) {
-                if( fdata->flags.passed_dfilter )
-                       set_frame_ignore(set, fdata);
+               if( fdata->flags.passed_dfilter )
+               set_frame_ignore(set, fdata);
        }
        redissect_packets();
 }
 
 void
-new_packet_list_ignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_)
+new_packet_list_ignore_all_displayed_frames_cb(GtkWidget *w _U_, gpointer data _U_)
+{
+       if(cfile.displayed_count < cfile.count){
+               frame_data *fdata;
+               /* Due to performance impact with large captures, don't check the filtered list for
+               an ignored frame; just check the first. If a ignored frame exists but isn't first and 
+               the user wants to unignore all the displayed frames, they will just re-exec the shortcut. */
+               fdata = cfile.first_displayed;
+               if (fdata->flags.ignored==TRUE) { 
+                       ignore_all_displayed_frames(FALSE);
+               } else {                
+                       ignore_all_displayed_frames(TRUE);
+               }
+       }
+}
+
+static void
+unignore_all_frames()
 {
-       ignore_all_frames(TRUE);
+       frame_data *fdata;
+
+       /* XXX: we might need a progressbar here */
+       for (fdata = cfile.plist_start; fdata != NULL && cfile.ignored_count > 0; fdata = fdata->next) {
+               set_frame_ignore(FALSE, fdata);
+       }
+       redissect_packets();
 }
 
 void
 new_packet_list_unignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_)
 {
-       ignore_all_frames(FALSE);
+       unignore_all_frames();
+}
+
+
+static void
+untime_reference_all_frames()
+{
+       /* XXX: we might need a progressbar here */
+       frame_data *fdata;
+       for (fdata = cfile.plist_start; fdata != NULL && cfile.ref_time_count > 0; fdata = fdata->next) {
+               if (fdata->flags.ref_time == 1) {
+                       set_frame_reftime(FALSE, fdata, cfile.current_row);
+               }
+       }
+}
+
+void
+new_packet_list_untime_reference_all_frames_cb(GtkWidget *w _U_, gpointer data _U_)
+{
+       untime_reference_all_frames();
 }
 
+
 guint
 new_packet_list_get_column_id (gint col_num)
 {
index fbca9de3cf27b434ed1a2146897bbf98c4db14ab..bc9cddf979dd07fbf5ac3a1b73798bf3aaf905bb 100644 (file)
@@ -67,19 +67,19 @@ extern void new_packet_list_set_font(PangoFontDescription *font);
  */
 extern void new_packet_list_mark_frame_cb(GtkWidget *widget, gpointer data);
 
-/** Mark all packets in the list.
+/** Mark/unmark all displayed packets.
  *
  * @param widget parent widget (unused)
  * @param data unused
  */
-void new_packet_list_mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
+extern void new_packet_list_mark_all_displayed_frames_cb(GtkWidget *w _U_, gpointer data _U_);
 
-/** Unmark all packets in the list.
+/** UnMark all packets in the capture.
  *
  * @param widget parent widget (unused)
  * @param data unused
  */
-void new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
+extern void new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
 
 /** Ignore the currently selected packet.
  *
@@ -88,12 +88,12 @@ void new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
  */
 extern void new_packet_list_ignore_frame_cb(GtkWidget *widget, gpointer data);
 
-/** Ignore all packets in the list.
+/** Ignore/Unignore all displayed packets.
  *
  * @param widget parent widget (unused)
  * @param data unused
  */
-extern void new_packet_list_ignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
+extern void new_packet_list_ignore_all_displayed_frames_cb(GtkWidget *w _U_, gpointer data _U_);
 
 /** Un-ignore all packets in the list.
  *
@@ -102,6 +102,13 @@ extern void new_packet_list_ignore_all_frames_cb(GtkWidget *w _U_, gpointer data
  */
 extern void new_packet_list_unignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
 
+/** Un-Time Reference all packets in the capture.
+ *
+ * @param widget parent widget (unused)
+ * @param data unused
+ */
+extern void new_packet_list_untime_reference_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
+
 /* Different modes of copying summary data */
 typedef enum {
     CS_TEXT, /* Packet summary data (tab separated) */