diff options
36 files changed, 11 insertions, 2617 deletions
diff --git a/color_filters.c b/color_filters.c index 99f72a99f5..368e9d2cb9 100644 --- a/color_filters.c +++ b/color_filters.c @@ -410,11 +410,7 @@ tmp_color_filters_used(void) void color_filters_enable(gboolean enable) { -#ifdef NEW_PACKET_LIST new_packet_list_enable_color(enable); -#else - filters_enabled = enable; -#endif } @@ -442,11 +438,7 @@ color_filters_prime_edt(epan_dissect_t *edt) * * Return the color_t for later use (new packet list) */ const color_filter_t * -#ifdef NEW_PACKET_LIST color_filters_colorize_packet(epan_dissect_t *edt) -#else -color_filters_colorize_packet(gint row, epan_dissect_t *edt) -#endif { GSList *curr; color_filter_t *colorf; @@ -460,11 +452,6 @@ color_filters_colorize_packet(gint row, epan_dissect_t *edt) if ( (!colorf->disabled) && (colorf->c_colorfilter != NULL) && dfilter_apply_edt(colorf->c_colorfilter, edt)) { - /* this is the filter to use, apply it to the packet list */ -#ifndef NEW_PACKET_LIST - /* We'll do this in the column cell function instead. */ - packet_list_set_colors(row, &(colorf->fg_color), &(colorf->bg_color)); -#endif return colorf; } curr = g_slist_next(curr); diff --git a/color_filters.h b/color_filters.h index 9c4e8d1822..709f61b3b4 100644 --- a/color_filters.h +++ b/color_filters.h @@ -104,11 +104,7 @@ void color_filters_prime_edt(epan_dissect_t *edt); * @return the matching color filter or NULL */ const color_filter_t * -#ifdef NEW_PACKET_LIST color_filters_colorize_packet(epan_dissect_t *edt); -#else -color_filters_colorize_packet(gint row, epan_dissect_t *edt); -#endif /** Clone the currently active filter list. * diff --git a/epan/column-utils.c b/epan/column-utils.c index 1a5b9e7f93..e21b236bc7 100644 --- a/epan/column-utils.c +++ b/epan/column-utils.c @@ -1295,12 +1295,7 @@ col_set_addr(packet_info *pinfo, const int col, const address *addr, const gbool return; } -#ifdef NEW_PACKET_LIST pinfo->cinfo->col_data[col] = se_get_addr_name(addr); -#else - get_addr_name_buf(addr, pinfo->cinfo->col_buf[col], COL_MAX_LEN); - pinfo->cinfo->col_data[col] = pinfo->cinfo->col_buf[col]; -#endif if (!fill_col_exprs) return; diff --git a/epan/frame_data.c b/epan/frame_data.c index 3ce944bf56..b07681b1d9 100644 --- a/epan/frame_data.c +++ b/epan/frame_data.c @@ -209,10 +209,8 @@ frame_data_init(frame_data *fdata, guint32 num, fdata->flags.ref_time = 0; fdata->flags.ignored = 0; fdata->color_filter = NULL; -#ifdef NEW_PACKET_LIST fdata->col_text_len = NULL; fdata->col_text = NULL; -#endif } void diff --git a/epan/frame_data.h b/epan/frame_data.h index 847ed1e3ff..2165278216 100644 --- a/epan/frame_data.h +++ b/epan/frame_data.h @@ -66,10 +66,8 @@ typedef struct _frame_data { nstime_t del_dis_ts; /**< Delta timestamp to previous displayed frame (yes, it can be negative) */ nstime_t del_cap_ts; /**< Delta timestamp to previous captured frame (yes, it can be negative) */ -#ifdef NEW_PACKET_LIST gchar **col_text; /**< The column text for some columns, see colum_utils */ guint *col_text_len; /**< The length of the column text strings in 'col_text' */ -#endif } frame_data; /** @@ -127,9 +127,7 @@ static void cf_open_failure_alert_box(const char *filename, int err, static const char *file_rename_error_message(int err); static void cf_write_failure_alert_box(const char *filename, int err); static void cf_close_failure_alert_box(const char *filename, int err); -#ifdef NEW_PACKET_LIST static void ref_time_packets(capture_file *cf); -#endif /* Update the progress bar this many times when reading a file. */ #define N_PROGBAR_UPDATES 100 /* We read around 200k/100ms don't update the progress bar more often than that */ @@ -200,9 +198,7 @@ cf_callback_remove(cf_callback_t func) void cf_timestamp_auto_precision(capture_file *cf) { -#ifdef NEW_PACKET_LIST int i; -#endif int prec = timestamp_get_precision(); @@ -243,7 +239,6 @@ cf_timestamp_auto_precision(capture_file *cf) g_assert_not_reached(); } } -#ifdef NEW_PACKET_LIST /* Set the column widths of those columns that show the time in "command-line-specified" format. */ for (i = 0; i < cf->cinfo.num_cols; i++) { @@ -251,7 +246,6 @@ cf_timestamp_auto_precision(capture_file *cf) new_packet_list_resize_column(i); } } -#endif } gulong @@ -350,15 +344,10 @@ cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err) g_assert(cf->plist_chunk); #endif -#ifdef NEW_PACKET_LIST /* Adjust timestamp precision if auto is selected, col width will be adjusted */ cf_timestamp_auto_precision(cf); /* XXX needed ? */ new_packet_list_queue_draw(); -#else - /* change the time formats now, as we might have a new precision */ - cf_change_time_formats(cf); -#endif fileset_file_opened(fname); if(cf->cd_t == WTAP_FILE_BER) { @@ -428,15 +417,9 @@ cf_reset_state(capture_file *cf) cf->finfo_selected = NULL; /* Clear the packet list. */ -#ifdef NEW_PACKET_LIST new_packet_list_freeze(); new_packet_list_clear(); new_packet_list_thaw(); -#else - packet_list_freeze(); - packet_list_clear(); - packet_list_thaw(); -#endif cf->f_datalen = 0; cf->count = 0; @@ -581,11 +564,7 @@ cf_read(capture_file *cf, gboolean from_save) /* Progress so far. */ progbar_val = 0.0f; -#ifdef NEW_PACKET_LIST new_packet_list_freeze(); -#else - packet_list_freeze(); -#endif stop_flag = FALSE; g_get_current_time(&start_time); @@ -620,17 +599,10 @@ cf_read(capture_file *cf, gboolean from_save) if (progbar_quantum > 500000 || displayed_once == 0) { if ((auto_scroll_live || displayed_once == 0 || cf->displayed_count < 1000) && cf->plist_end != NULL) { displayed_once = 1; -#ifdef NEW_PACKET_LIST new_packet_list_thaw(); if (auto_scroll_live) new_packet_list_moveto_end(); new_packet_list_freeze(); -#else - packet_list_thaw(); - if (auto_scroll_live) - packet_list_moveto_end(); - packet_list_freeze(); -#endif /* NEW_PACKET_LIST */ } } #endif /* HAVE_LIBPCAP */ @@ -706,11 +678,7 @@ cf_read(capture_file *cf, gboolean from_save) cf->current_frame = cf->first_displayed; cf->current_row = 0; -#ifdef NEW_PACKET_LIST new_packet_list_thaw(); -#else - packet_list_thaw(); -#endif if (from_save == FALSE) cf_callback_invoke(cf_cb_file_read_finished, cf); else @@ -719,11 +687,7 @@ cf_read(capture_file *cf, gboolean from_save) /* If we have any displayed packets to select, select the first of those packets by making the first row the selected row. */ if (cf->first_displayed != NULL){ -#ifdef NEW_PACKET_LIST new_packet_list_select_first_row(); -#else - packet_list_select_row(0); -#endif /* NEW_PACKET_LIST */ } if(stop_flag) { @@ -819,14 +783,9 @@ cf_continue_tail(capture_file *cf, volatile int to_read, int *err) *err = 0; -#ifdef NEW_PACKET_LIST new_packet_list_check_end(); /* Don't freeze/thaw the list when doing live capture */ /*new_packet_list_freeze();*/ -#else - packet_list_check_end(); - packet_list_freeze(); -#endif /*g_log(NULL, G_LOG_LEVEL_MESSAGE, "cf_continue_tail: %u new: %u", cf->count, to_read);*/ @@ -868,12 +827,8 @@ cf_continue_tail(capture_file *cf, volatile int to_read, int *err) /* XXX - how to avoid a busy wait? */ /* Sleep(100); */ }; -#ifdef NEW_PACKET_LIST /* Don't freeze/thaw the list when doing live capture */ /*new_packet_list_thaw();*/ -#else - packet_list_thaw(); -#endif return CF_READ_ABORTED; } ENDTRY; @@ -888,7 +843,6 @@ cf_continue_tail(capture_file *cf, volatile int to_read, int *err) /*g_log(NULL, G_LOG_LEVEL_MESSAGE, "cf_continue_tail: count %u state: %u err: %u", cf->count, cf->state, *err);*/ -#ifdef NEW_PACKET_LIST /* Don't freeze/thaw the list when doing live capture */ /*new_packet_list_thaw();*/ /* With the new packet list the first packet @@ -896,23 +850,11 @@ cf_continue_tail(capture_file *cf, volatile int to_read, int *err) */ if(!cf->current_frame) new_packet_list_select_first_row(); -#else - /* XXX - this causes "flickering" of the list */ - packet_list_thaw(); -#endif /* moving to the end of the packet list - if the user requested so and we have some new packets. */ if (newly_displayed_packets && auto_scroll_live && cf->plist_end != NULL) -#ifdef NEW_PACKET_LIST new_packet_list_moveto_end(); -#else - /* this doesn't seem to work well with a frozen GTK_Clist, so do this after - packet_list_thaw() is done, see bugzilla 1188 */ - /* XXX - this cheats and looks inside the packet list to find the final - row number. */ - packet_list_moveto_end(); -#endif /* NEW_PACKET_LIST */ if (cf->state == FILE_READ_ABORTED) { /* Well, the user decided to exit Wireshark. Return CF_READ_ABORTED @@ -965,14 +907,9 @@ cf_finish_tail(capture_file *cf, int *err) return CF_READ_ERROR; } -#ifdef NEW_PACKET_LIST new_packet_list_check_end(); /* Don't freeze/thaw the list when doing live capture */ /*new_packet_list_freeze();*/ -#else - packet_list_check_end(); - packet_list_freeze(); -#endif while ((wtap_read(cf->wth, err, &err_info, &data_offset))) { if (cf->state == FILE_READ_ABORTED) { @@ -989,12 +926,8 @@ cf_finish_tail(capture_file *cf, int *err) dfilter_free(dfcode); } -#ifdef NEW_PACKET_LIST /* Don't freeze/thaw the list when doing live capture */ /*new_packet_list_thaw();*/ -#else - packet_list_thaw(); -#endif if (cf->state == FILE_READ_ABORTED) { /* Well, the user decided to abort the read. We're only called @@ -1007,13 +940,7 @@ cf_finish_tail(capture_file *cf, int *err) } if (auto_scroll_live && cf->plist_end != NULL) -#ifdef NEW_PACKET_LIST new_packet_list_moveto_end(); -#else - /* XXX - this cheats and looks inside the packet list to find the final - row number. */ - packet_list_moveto_end(); -#endif /* We're done reading sequentially through the file. */ cf->state = FILE_READ_DONE; @@ -1143,7 +1070,6 @@ void cf_set_rfcode(capture_file *cf, dfilter_t *rfcode) cf->rfcode = rfcode; } -#ifdef NEW_PACKET_LIST static int add_packet_to_packet_list(frame_data *fdata, capture_file *cf, dfilter_t *dfcode, gboolean filtering_tap_listeners, @@ -1232,124 +1158,6 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf, return row; } -#else - -static int -add_packet_to_packet_list(frame_data *fdata, capture_file *cf, - dfilter_t *dfcode, gboolean filtering_tap_listeners, - guint tap_flags, - union wtap_pseudo_header *pseudo_header, const guchar *buf, - gboolean refilter, - gboolean add_to_packet_list _U_) -{ - gboolean create_proto_tree = FALSE; - epan_dissect_t edt; - column_info *cinfo; - gint row = -1; - - cinfo = &cf->cinfo; - - /* just add some value here until we know if it is being displayed or not */ - fdata->cum_bytes = cum_bytes + fdata->pkt_len; - - frame_data_set_before_dissect(fdata, &cf->elapsed_time, - &first_ts, &prev_dis_ts, &prev_cap_ts); - - /* If either - - we have a display filter and are re-applying it; - - we have a list of color filters; - - we have tap listeners with filters; - - we have tap listeners that require a protocol tree; - - we have custom columns; - - allocate a protocol tree root node, so that we'll construct - a protocol tree against which a filter expression can be - evaluated. */ - if ((dfcode != NULL && refilter) || - color_filters_used() || - have_custom_cols(cinfo) || - filtering_tap_listeners || (tap_flags & TL_REQUIRES_PROTO_TREE)) - create_proto_tree = TRUE; - - /* Dissect the frame. */ - epan_dissect_init(&edt, create_proto_tree, FALSE); - - if (dfcode != NULL && refilter) { - epan_dissect_prime_dfilter(&edt, dfcode); - } - - /* prepare color filters */ - color_filters_prime_edt(&edt); - col_custom_prime_edt(&edt, cinfo); - - tap_queue_init(&edt); - epan_dissect_run(&edt, pseudo_header, buf, fdata, cinfo); - tap_push_tapped_queue(&edt); - - /* If we have a display filter, apply it if we're refiltering, otherwise - leave the "passed_dfilter" flag alone. - - If we don't have a display filter, set "passed_dfilter" to 1. */ - if (dfcode != NULL) { - if (refilter) { - fdata->flags.passed_dfilter = dfilter_apply_edt(dfcode, &edt) ? 1 : 0; - } - } else - fdata->flags.passed_dfilter = 1; - - if( (fdata->flags.passed_dfilter) || (fdata->flags.ref_time) ) - { - frame_data_set_after_dissect(fdata, &cum_bytes, &prev_dis_ts); - - epan_dissect_fill_in_columns(&edt, FALSE, TRUE); - - /* If we haven't yet seen the first frame, this is it. - - XXX - we must do this before we add the row to the display, - as, if the display's GtkCList's selection mode is - GTK_SELECTION_BROWSE, when the first entry is added to it, - "cf_select_packet()" will be called, and it will fetch the row - data for the 0th row, and will get a null pointer rather than - "fdata", as "gtk_clist_append()" won't yet have returned and - thus "gtk_clist_set_row_data()" won't yet have been called. - - We thus need to leave behind bread crumbs so that - "cf_select_packet()" can find this frame. See the comment - in "cf_select_packet()". */ - if (cf->first_displayed == NULL) - cf->first_displayed = fdata; - - /* This is the last frame we've seen so far. */ - cf->last_displayed = fdata; - - row = packet_list_append(cinfo->col_data, fdata); - - /* colorize packet: first apply color filters - * then if packet is marked, use preferences to overwrite color - * we do both to make sure that when a packet gets un-marked, the - * color will be correctly set (fixes bug 2038) - */ - fdata->color_filter = color_filters_colorize_packet(row, &edt); - if (fdata->flags.marked) { - packet_list_set_colors(row, &prefs.gui_marked_fg, &prefs.gui_marked_bg); - } - if (fdata->flags.ignored) { - packet_list_set_colors(row, &prefs.gui_ignored_fg, &prefs.gui_ignored_bg); - } - - cf->displayed_count++; - } - - epan_dissect_cleanup(&edt); - return row; -} -#endif - /* read in a new packet */ /* returns the row of the new packet in the packet list or -1 if not displayed */ static int @@ -1377,10 +1185,8 @@ read_packet(capture_file *cf, dfilter_t *dfcode, frame_data_init(fdata, cf->count, phdr, offset, cum_bytes); -#ifdef NEW_PACKET_LIST fdata->col_text_len = se_alloc0(sizeof(fdata->col_text_len) * (cf->cinfo.num_cols)); fdata->col_text = se_alloc0(sizeof(fdata->col_text) * (cf->cinfo.num_cols)); -#endif passed = TRUE; if (cf->rfcode) { @@ -1724,20 +1530,10 @@ cf_filter_packets(capture_file *cf, gchar *dftext, gboolean force) } void -cf_colorize_packets(capture_file *cf) -{ - rescan_packets(cf, "Colorizing", "all packets", FALSE, FALSE); -} - -void cf_reftime_packets(capture_file *cf) { -#ifdef NEW_PACKET_LIST ref_time_packets(cf); -#else - rescan_packets(cf, "Reprocessing", "all packets", TRUE, TRUE); -#endif } void @@ -1804,7 +1600,6 @@ cf_read_frame(capture_file *cf, frame_data *fdata) any state information they have (because a preference that affects some dissector has changed, meaning some dissector might construct its state differently from the way it was constructed the last time). */ -#ifdef NEW_PACKET_LIST static void rescan_packets(capture_file *cf, const char *action, const char *action_item, gboolean refilter, gboolean redissect) @@ -2105,299 +1900,12 @@ rescan_packets(capture_file *cf, const char *action, const char *action_item, dfilter_free(dfcode); } -#else - -static void -rescan_packets(capture_file *cf, const char *action, const char *action_item, - gboolean refilter, gboolean redissect) -{ - frame_data *fdata; - progdlg_t *progbar = NULL; - gboolean stop_flag; - int count; - frame_data *selected_frame, *preceding_frame, *following_frame, *prev_frame; - int selected_row, prev_row, preceding_row, following_row; - gboolean selected_frame_seen; - int row; - float progbar_val; - GTimeVal start_time; - gchar status_str[100]; - int progbar_nextstep; - int progbar_quantum; - dfilter_t *dfcode; - gboolean filtering_tap_listeners; - guint tap_flags; - gboolean add_to_packet_list = TRUE; - gboolean compiled; - - /* Compile the current display filter. - * We assume this will not fail since cf->dfilter is only set in - * cf_filter IFF the filter was valid. - */ - compiled = dfilter_compile(cf->dfilter, &dfcode); - g_assert(!cf->dfilter || (compiled && dfcode)); - - /* Do we have any tap listeners with filters? */ - filtering_tap_listeners = have_filtering_tap_listeners(); - - /* Get the union of the flags for all tap listeners. */ - tap_flags = union_of_tap_listener_flags(); - - reset_tap_listeners(); - /* Which frame, if any, is the currently selected frame? - XXX - should the selected frame or the focus frame be the "current" - frame, that frame being the one from which "Find Frame" searches - start? */ - selected_frame = cf->current_frame; - - /* We don't yet know what row that frame will be on, if any, after we - rebuild the clist, however. */ - selected_row = -1; - - /* Freeze the packet list while we redo it, so we don't get any - screen updates while it happens. */ - packet_list_freeze(); - - /* Clear it out. */ - packet_list_clear(); - - if (redissect) { - /* We need to re-initialize all the state information that protocols - keep, because some preference that controls a dissector has changed, - which might cause the state information to be constructed differently - by that dissector. */ - - /* We might receive new packets while redissecting, and we don't - want to dissect those before their time. */ - cf->redissecting = TRUE; - - /* Cleanup all data structures used for dissection. */ - cleanup_dissection(); - /* Initialize all data structures used for dissection. */ - init_dissection(); - - } - - /* We don't yet know which will be the first and last frames displayed. */ - cf->first_displayed = NULL; - cf->last_displayed = NULL; - - reset_elapsed(); - - /* We currently don't display any packets */ - cf->displayed_count = 0; - - /* Iterate through the list of frames. Call a routine for each frame - to check whether it should be displayed and, if so, add it to - the display list. */ - nstime_set_unset(&first_ts); - nstime_set_unset(&prev_dis_ts); - nstime_set_unset(&prev_cap_ts); - cum_bytes = 0; - - /* Update the progress bar when it gets to this value. */ - progbar_nextstep = 0; - /* When we reach the value that triggers a progress bar update, - bump that value by this amount. */ - progbar_quantum = cf->count/N_PROGBAR_UPDATES; - /* Count of packets at which we've looked. */ - count = 0; - /* Progress so far. */ - progbar_val = 0.0f; - - stop_flag = FALSE; - g_get_current_time(&start_time); - - row = -1; /* no previous row yet */ - prev_row = -1; - prev_frame = NULL; - - preceding_row = -1; - preceding_frame = NULL; - following_row = -1; - following_frame = NULL; - - selected_frame_seen = FALSE; - - for (fdata = cf->plist_start; fdata != NULL; fdata = fdata->next) { - /* Create the progress bar if necessary. - We check on every iteration of the loop, so that it takes no - longer than the standard time to create it (otherwise, for a - large file, we might take considerably longer than that standard - time in order to get to the next progress bar step). */ - if (progbar == NULL) - progbar = delayed_create_progress_dlg(action, action_item, TRUE, - &stop_flag, &start_time, - progbar_val); - - /* Update the progress bar, but do it only N_PROGBAR_UPDATES times; - when we update it, we have to run the GTK+ main loop to get it - to repaint what's pending, and doing so may involve an "ioctl()" - to see if there's any pending input from an X server, and doing - that for every packet can be costly, especially on a big file. */ - if (count >= progbar_nextstep) { - /* let's not divide by zero. I should never be started - * with count == 0, so let's assert that - */ - g_assert(cf->count > 0); - progbar_val = (gfloat) count / cf->count; - - if (progbar != NULL) { - g_snprintf(status_str, sizeof(status_str), - "%4u of %u frames", count, cf->count); - update_progress_dlg(progbar, progbar_val, status_str); - } - - progbar_nextstep += progbar_quantum; - } - - if (stop_flag) { - /* Well, the user decided to abort the filtering. Just stop. - - XXX - go back to the previous filter? Users probably just - want not to wait for a filtering operation to finish; - unless we cancel by having no filter, reverting to the - previous filter will probably be even more expensive than - continuing the filtering, as it involves going back to the - beginning and filtering, and even with no filter we currently - have to re-generate the entire clist, which is also expensive. - - I'm not sure what Network Monitor does, but it doesn't appear - to give you an unfiltered display if you cancel. */ - break; - } - - count++; - - if (redissect) { - /* Since all state for the frame was destroyed, mark the frame - * as not visited, free the GSList referring to the state - * data (the per-frame data itself was freed by - * "init_dissection()"), and null out the GSList pointer. - */ - fdata->flags.visited = 0; - frame_data_cleanup(fdata); - } - - if (!cf_read_frame(cf, fdata)) - break; /* error reading the frame */ - - /* If the previous frame is displayed, and we haven't yet seen the - selected frame, remember that frame - it's the closest one we've - yet seen before the selected frame. */ - if (prev_row != -1 && !selected_frame_seen) { - preceding_row = prev_row; - preceding_frame = prev_frame; - } - row = add_packet_to_packet_list(fdata, cf, dfcode, filtering_tap_listeners, - tap_flags, &cf->pseudo_header, cf->pd, - refilter, - add_to_packet_list); - - /* If this frame is displayed, and this is the first frame we've - seen displayed after the selected frame, remember this frame - - it's the closest one we've yet seen at or after the selected - frame. */ - if (row != -1 && selected_frame_seen && following_row == -1) { - following_row = row; - following_frame = fdata; - } - if (fdata == selected_frame) { - selected_row = row; - selected_frame_seen = TRUE; - } - - /* Remember this row/frame - it'll be the previous row/frame - on the next pass through the loop. */ - prev_row = row; - prev_frame = fdata; - } - - /* We are done redissecting the packet list. */ - cf->redissecting = FALSE; - - if (redissect) { - /* Clear out what remains of the visited flags and per-frame data - pointers. - - XXX - that may cause various forms of bogosity when dissecting - these frames, as they won't have been seen by this sequential - pass, but the only alternative I see is to keep scanning them - even though the user requested that the scan stop, and that - would leave the user stuck with an Wireshark grinding on - until it finishes. Should we just stick them with that? */ - for (; fdata != NULL; fdata = fdata->next) { - fdata->flags.visited = 0; - frame_data_cleanup(fdata); - } - } - - /* We're done filtering the packets; destroy the progress bar if it - was created. */ - if (progbar != NULL) - destroy_progress_dlg(progbar); - - /* Unfreeze the packet list. */ - packet_list_thaw(); - - if (selected_row == -1) { - /* The selected frame didn't pass the filter. */ - if (selected_frame == NULL) { - /* That's because there *was* no selected frame. Make the first - displayed frame the current frame. */ - selected_row = 0; - } else { - /* Find the nearest displayed frame to the selected frame (whether - it's before or after that frame) and make that the current frame. - If the next and previous displayed frames are equidistant from the - selected frame, choose the next one. */ - g_assert(following_frame == NULL || - following_frame->num >= selected_frame->num); - g_assert(preceding_frame == NULL || - preceding_frame->num <= selected_frame->num); - if (following_frame == NULL) { - /* No frame after the selected frame passed the filter, so we - have to select the last displayed frame before the selected - frame. */ - selected_row = preceding_row; - } else if (preceding_frame == NULL) { - /* No frame before the selected frame passed the filter, so we - have to select the first displayed frame after the selected - frame. */ - selected_row = following_row; - } else { - /* Frames before and after the selected frame passed the filter, so - we'll select the previous frame */ - selected_row = preceding_row; - } - } - } - - if (selected_row == -1) { - /* There are no frames displayed at all. */ - cf_unselect_packet(cf); - } else { - /* Either the frame that was selected passed the filter, or we've - found the nearest displayed frame to that frame. Select it, make - it the focus row, and make it visible. */ - if (selected_row == 0) { - /* Set to invalid to force update of packet list and packet details */ - cf->current_row = -1; - } - packet_list_set_selected_row(selected_row); - } - - /* Cleanup and release all dfilter resources */ - dfilter_free(dfcode); -} -#endif /* NEW_PACKET_LIST */ /* * Scan trough all frame data and recalculate the ref time * without rereading the file. * XXX - do we need a progres bar or is this fast enough? */ -#ifdef NEW_PACKET_LIST static void ref_time_packets(capture_file *cf) { @@ -2470,7 +1978,6 @@ ref_time_packets(capture_file *cf) } } } -#endif typedef enum { PSP_FINISHED, @@ -3231,181 +2738,6 @@ cf_write_carrays_packets(capture_file *cf, print_args_t *print_args) return CF_PRINT_OK; } -#ifndef NEW_PACKET_LIST /* This function is not needed with the new packet list */ - -/* Scan through the packet list and change all columns that use the - "command-line-specified" time stamp format to use the current - value of that format. */ -void -cf_change_time_formats(capture_file *cf) -{ - int i; - frame_data *fdata; - progdlg_t *progbar = NULL; - gboolean stop_flag; - int count; - int row; - float progbar_val; - GTimeVal start_time; - gchar status_str[100]; - int progbar_nextstep; - int progbar_quantum; - gboolean sorted_by_frame_column; - - /* Adjust timestamp precision if auto is selected */ - cf_timestamp_auto_precision(cf); - - /* Are there any columns with time stamps in the "command-line-specified" - format? - - XXX - we have to force the "column is writable" flag on, as it - might be off from the last frame that was dissected. */ - col_set_writable(&cf->cinfo, TRUE); - if (!check_col(&cf->cinfo, COL_CLS_TIME) && - !check_col(&cf->cinfo, COL_ABS_TIME) && - !check_col(&cf->cinfo, COL_ABS_DATE_TIME) && - !check_col(&cf->cinfo, COL_REL_TIME) && - !check_col(&cf->cinfo, COL_DELTA_TIME) && - !check_col(&cf->cinfo, COL_DELTA_TIME_DIS)) { - /* No, there aren't any columns in that format, so we have no work - to do. */ - return; - } - - /* Freeze the packet list while we redo it, so we don't get any - screen updates while it happens. */ - packet_list_freeze(); - - /* Update the progress bar when it gets to this value. */ - progbar_nextstep = 0; - /* When we reach the value that triggers a progress bar update, - bump that value by this amount. */ - progbar_quantum = cf->count/N_PROGBAR_UPDATES; - /* Count of packets at which we've looked. */ - count = 0; - /* Progress so far. */ - progbar_val = 0.0f; - - /* If the rows are currently sorted by the frame column then we know - * the row number of each packet: it's the row number of the previously - * displayed packet + 1. - * - * Otherwise, if the display is sorted by a different column then we have - * to use the O(N) packet_list_find_row_from_data() (thus making the job - * of changing the time display format O(N**2)). - * - * (XXX - In fact it's still O(N**2) because gtk_clist_set_text() takes - * the row number and walks that many elements down the clist to find - * the appropriate element.) - */ - sorted_by_frame_column = FALSE; - for (i = 0; i < cf->cinfo.num_cols; i++) { - if (cf->cinfo.col_fmt[i] == COL_NUMBER) - { - sorted_by_frame_column = (i == packet_list_get_sort_column()); - break; - } - } - - stop_flag = FALSE; - g_get_current_time(&start_time); - - /* Iterate through the list of packets, checking whether the packet - is in a row of the summary list and, if so, whether there are - any columns that show the time in the "command-line-specified" - format and, if so, update that row. */ - for (fdata = cf->plist_start, row = -1; fdata != NULL; fdata = fdata->next) { - /* Create the progress bar if necessary. - We check on every iteration of the loop, so that it takes no - longer than the standard time to create it (otherwise, for a - large file, we might take considerably longer than that standard - time in order to get to the next progress bar step). */ - if (progbar == NULL) - progbar = delayed_create_progress_dlg("Changing", "time display", - TRUE, &stop_flag, &start_time, progbar_val); - - /* Update the progress bar, but do it only N_PROGBAR_UPDATES times; - when we update it, we have to run the GTK+ main loop to get it - to repaint what's pending, and doing so may involve an "ioctl()" - to see if there's any pending input from an X server, and doing - that for every packet can be costly, especially on a big file. */ - if (count >= progbar_nextstep) { - /* let's not divide by zero. I should never be started - * with count == 0, so let's assert that - */ - g_assert(cf->count > 0); - - progbar_val = (gfloat) count / cf->count; - - if (progbar != NULL) { - g_snprintf(status_str, sizeof(status_str), - "%4u of %u packets", count, cf->count); - update_progress_dlg(progbar, progbar_val, status_str); - } - - progbar_nextstep += progbar_quantum; - } - - if (stop_flag) { - /* Well, the user decided to abort the redisplay. Just stop. - - XXX - this leaves the time field in the old format in - frames we haven't yet processed. So it goes; should we - simply not offer them the option of stopping? */ - break; - } - - count++; - - /* Find what row this packet is in. */ - if (!sorted_by_frame_column) { - /* This function is O(N), so we try to avoid using it... */ - row = packet_list_find_row_from_data(fdata); - } else { - /* ...which we do by maintaining a count of packets that are - being displayed (i.e., that have passed the display filter), - and using the current value of that count as the row number - (which is why we can only do it when the display is sorted - by the frame number). */ - if (fdata->flags.passed_dfilter) - row++; - else - continue; - } - - if (row != -1) { - /* This packet is in the summary list, on row "row". */ - - for (i = 0; i < cf->cinfo.num_cols; i++) { - if (col_has_time_fmt(&cf->cinfo, i)) { - /* This is one of the columns that shows the time in - "command-line-specified" format; update it. */ - cf->cinfo.col_buf[i][0] = '\0'; - col_set_fmt_time(fdata, &cf->cinfo, cf->cinfo.col_fmt[i], i); - packet_list_set_text(row, i, cf->cinfo.col_data[i]); - } - } - } - } - - /* We're done redisplaying the packets; destroy the progress bar if it - was created. */ - if (progbar != NULL) - destroy_progress_dlg(progbar); - - /* Set the column widths of those columns that show the time in - "command-line-specified" format. */ - for (i = 0; i < cf->cinfo.num_cols; i++) { - if (col_has_time_fmt(&cf->cinfo, i)) { - packet_list_set_time_width(cf->cinfo.col_fmt[i], i); - } - } - - /* Unfreeze the packet list. */ - packet_list_thaw(); -} -#endif /* NEW_PACKET_LIST */ - gboolean cf_find_packet_protocol_tree(capture_file *cf, const char *string, search_direction dir) @@ -3992,16 +3324,11 @@ find_packet(capture_file *cf, } if (new_fd != NULL) { -#ifdef NEW_PACKET_LIST /* Find and select */ cf->search_in_progress = TRUE; row = new_packet_list_find_row_from_data(fdata, TRUE); cf->search_in_progress = FALSE; cf->search_pos = 0; /* Reset the position */ -#else - /* We found a frame. Find what row it's in. */ - row = packet_list_find_row_from_data(new_fd); -#endif /* NEW_PACKET_LIST */ if (row == -1) { /* We didn't find a row even though we know that a frame * exists that satifies the search criteria. This means that the @@ -4012,11 +3339,6 @@ find_packet(capture_file *cf, simple_dialog_primary_start(), simple_dialog_primary_end()); return FALSE; } - -#ifndef NEW_PACKET_LIST - /* Select that row, make it the focus row, and make it visible. */ - packet_list_set_selected_row(row); -#endif /* NEW_PACKET_LIST */ return TRUE; /* success */ } else return FALSE; /* failure */ @@ -4026,9 +3348,6 @@ gboolean cf_goto_frame(capture_file *cf, guint fnumber) { frame_data *fdata; -#ifndef NEW_PACKET_LIST - int row; -#endif for (fdata = cf->plist_start; fdata != NULL && fdata->num < fnumber; fdata = fdata->next) ; @@ -4045,82 +3364,23 @@ cf_goto_frame(capture_file *cf, guint fnumber) return FALSE; /* we failed to go to that packet */ } -#ifdef NEW_PACKET_LIST new_packet_list_find_row_from_data(fdata, TRUE); -#else - /* We found that packet, and it's currently being displayed. - Find what row it's in. */ - row = packet_list_find_row_from_data(fdata); - g_assert(row != -1); - - /* Select that row, make it the focus row, and make it visible. */ - packet_list_set_selected_row(row); -#endif /* NEW_PACKET_LIST */ return TRUE; /* we got to that packet */ } gboolean -cf_goto_top_frame(capture_file *cf _U_) +cf_goto_top_frame() { -#ifdef NEW_PACKET_LIST /* Find and select */ new_packet_list_select_first_row(); -#else - frame_data *fdata; - int row; - frame_data *lowest_fdata = NULL; - - for (fdata = cf->plist_start; fdata != NULL; fdata = fdata->next) { - if (fdata->flags.passed_dfilter) { - lowest_fdata = fdata; - break; - } - } - - if (lowest_fdata == NULL) { - return FALSE; - } - - /* We found that packet, and it's currently being displayed. - Find what row it's in. */ - row = packet_list_find_row_from_data(lowest_fdata); - g_assert(row != -1); - - /* Select that row, make it the focus row, and make it visible. */ - packet_list_set_selected_row(row); -#endif /* NEW_PACKET_LIST */ return TRUE; /* we got to that packet */ } gboolean -cf_goto_bottom_frame(capture_file *cf _U_) /* cf is unused w/ NEW_PACKET_LIST */ +cf_goto_bottom_frame() { -#ifdef NEW_PACKET_LIST /* Find and select */ new_packet_list_select_last_row(); -#else - frame_data *fdata; - int row; - frame_data *highest_fdata = NULL; - - for (fdata = cf->plist_start; fdata != NULL; fdata = fdata->next) { - if (fdata->flags.passed_dfilter) { - highest_fdata = fdata; - } - } - - if (highest_fdata == NULL) { - return FALSE; - } - - /* We found that packet, and it's currently being displayed. - Find what row it's in. */ - row = packet_list_find_row_from_data(highest_fdata); - g_assert(row != -1); - - /* Select that row, make it the focus row, and make it visible. */ - packet_list_set_selected_row(row); -#endif /* NEW_PACKET_LIST */ return TRUE; /* we got to that packet */ } @@ -4153,11 +3413,7 @@ cf_select_packet(capture_file *cf, int row) frame_data *fdata; /* Get the frame data struct pointer for this frame */ -#ifdef NEW_PACKET_LIST fdata = new_packet_list_get_row_data(row); -#else - fdata = (frame_data *)packet_list_get_row_data(row); -#endif if (fdata == NULL) { /* XXX - if a GtkCList's selection mode is GTK_SELECTION_BROWSE, when @@ -321,13 +321,6 @@ void cf_reftime_packets(capture_file *cf); gulong cf_get_computed_elapsed(void); /** - * The coloring rules have changed, redo coloring - * - * @param cf the capture file - */ -void cf_colorize_packets(capture_file *cf); - -/** * "Something" has changed, rescan all packets. * * @param cf the capture file @@ -343,13 +336,6 @@ void cf_redissect_packets(capture_file *cf); cf_read_status_t cf_retap_packets(capture_file *cf); /** - * The time format has changed, rescan all packets. - * - * @param cf the capture file - */ -void cf_change_time_formats(capture_file *cf); - -/** * Adjust timestamp precision if auto is selected. * * @param cf the capture file @@ -490,18 +476,16 @@ gboolean cf_find_packet_time_reference(capture_file *cf, search_direction dir); /** * GoTo Packet in first row. * - * @param cf the capture file * @return TRUE if the first row exists, FALSE otherwise */ -gboolean cf_goto_top_frame(capture_file *cf); +gboolean cf_goto_top_frame(); /** * GoTo Packet in last row. * - * @param cf the capture file * @return TRUE if last row exists, FALSE otherwise */ -gboolean cf_goto_bottom_frame(capture_file *cf); +gboolean cf_goto_bottom_frame(); /** * GoTo Packet with the given row. diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index d6dc3ae3db..eeb2934fa5 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -71,7 +71,6 @@ set(WIRESHARK_GTK_SRC main.c main_airpcap_toolbar.c main_filter_toolbar.c - main_packet_list.c main_proto_draw.c main_statusbar.c main_toolbar.c diff --git a/gtk/Makefile.common b/gtk/Makefile.common index b3fa7bee0a..00ef90ccd1 100644 --- a/gtk/Makefile.common +++ b/gtk/Makefile.common @@ -95,7 +95,6 @@ WIRESHARK_GTK_SRC = \ main_filter_toolbar.c \ manual_addr_resolv.c \ menus.c \ - main_packet_list.c \ main_proto_draw.c \ main_statusbar.c \ main_toolbar.c \ @@ -283,7 +282,6 @@ noinst_HEADERS = \ main_airpcap_toolbar.h \ main_filter_toolbar.h \ menus.h \ - main_packet_list.h \ main_proto_draw.h \ main_statusbar_private.h \ main_toolbar.h \ diff --git a/gtk/capture_file_dlg.c b/gtk/capture_file_dlg.c index 2c9099c4dc..d423efa499 100644 --- a/gtk/capture_file_dlg.c +++ b/gtk/capture_file_dlg.c @@ -61,9 +61,7 @@ #include "gtk/menus.h" #include "gtk/recent.h" #include "gtk/color_dlg.h" -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#endif #ifdef HAVE_LIBPCAP #include "gtk/capture_dlg.h" #endif @@ -726,9 +724,6 @@ file_open_ok_cb(GtkWidget *w, gpointer fs) { "get_dirname()" does write over its argument. */ s = get_dirname(cf_name); set_last_open_dir(s); -#ifndef NEW_PACKET_LIST - gtk_widget_grab_focus(packet_list); -#endif g_free(cf_name); } @@ -754,13 +749,8 @@ file_merge_cmd(GtkWidget *w) { #if _WIN32 win32_merge_file(GDK_WINDOW_HWND(top_level->window)); -#ifdef NEW_PACKET_LIST new_packet_list_freeze(); new_packet_list_thaw(); -#else - packet_list_freeze(); - packet_list_thaw(); -#endif /* NEW_PACKET_LIST */ #else /* _WIN32 */ GtkWidget *main_hb, *main_vb, *ft_hb, *ft_lb, *ft_combo_box, *filter_hbox, *filter_bt, *filter_te, *prepend_rb, *chrono_rb, @@ -1096,9 +1086,6 @@ file_merge_ok_cb(GtkWidget *w, gpointer fs) { "get_dirname()" does write over its argument. */ s = get_dirname(tmpname); set_last_open_dir(s); -#ifndef NEW_PACKET_LIST - gtk_widget_grab_focus(packet_list); -#endif } static void @@ -1654,9 +1641,6 @@ file_color_import_ok_cb(GtkWidget *w, gpointer color_filters) { "get_dirname()" does write over its argument. */ s = get_dirname(cf_name); set_last_open_dir(s); -#ifndef NEW_PACKET_LIST - gtk_widget_grab_focus(packet_list); -#endif g_free(cf_name); } diff --git a/gtk/color_dlg.c b/gtk/color_dlg.c index 868ee492df..3627c5bf95 100644 --- a/gtk/color_dlg.c +++ b/gtk/color_dlg.c @@ -51,9 +51,7 @@ #include "gtk/gtkglobals.h" #include "gtk/help_dlg.h" #include "gtk/color_edit_dlg.h" -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#endif /* NEW_PACKET_LIST */ #define BUTTON_SIZE_X -1 @@ -779,11 +777,7 @@ create_new_color_filter(GtkButton *button, const char *filter) gtk_tree_selection_unselect_all (sel); /* Use the default background and foreground colors as the colors. */ -#ifdef NEW_PACKET_LIST style = gtk_widget_get_style(new_packet_list_get_widget()); -#else - style = gtk_widget_get_style(packet_list); -#endif /* NEW_PACKET_LIST */ gdkcolor_to_color_t(&bg_color, &style->base[GTK_STATE_NORMAL]); gdkcolor_to_color_t(&fg_color, &style->text[GTK_STATE_NORMAL]); @@ -1028,11 +1022,7 @@ color_apply_cb(GtkButton *button _U_, gpointer user_data _U_) color_filters_apply(color_filter_tmp_list, color_filter_edit_list); /* colorize list */ -#ifdef NEW_PACKET_LIST new_packet_list_colorize_packets(); -#else - cf_colorize_packets(&cfile); -#endif /* NEW_PACKET_LIST */ } /* User pressed the "Save" button: save the color filters to the diff --git a/gtk/compare_stat.c b/gtk/compare_stat.c index 0fdfe4da58..55352edfbd 100644 --- a/gtk/compare_stat.c +++ b/gtk/compare_stat.c @@ -79,9 +79,7 @@ #include "color.h" #include "color_filters.h" #include "color_dlg.h" -#ifdef NEW_PACKET_LIST #include "new_packet_list.h" -#endif /* From colorize convertion */ #define COLOR_N 1 @@ -608,11 +606,7 @@ comparestat_draw(void *arg) g_string_printf(filter_str, "%s %s %s %s", "eth.dst==", ep_address_to_str(&cs->eth_dst), "|| eth.dst==", ep_address_to_str(&cs->eth_src)); } color_filters_set_tmp(COLOR_N, filter_str->str, FALSE); -#ifdef NEW_PACKET_LIST new_packet_list_colorize_packets(); -#else - cf_colorize_packets(&cfile); -#endif /* Variance */ cs->stats.variance=compare_variance; diff --git a/gtk/drag_and_drop.c b/gtk/drag_and_drop.c index b03219d40c..9b4d3f42fb 100644 --- a/gtk/drag_and_drop.c +++ b/gtk/drag_and_drop.c @@ -195,10 +195,6 @@ dnd_merge_files(int in_file_count, char **in_filenames) directory). */ return; } - -#ifndef NEW_PACKET_LIST - gtk_widget_grab_focus(packet_list); -#endif } /* open/merge the dnd file */ diff --git a/gtk/font_utils.c b/gtk/font_utils.c index 86dd02af1d..e4d14b8e15 100644 --- a/gtk/font_utils.c +++ b/gtk/font_utils.c @@ -46,13 +46,9 @@ #include "gtk/recent.h" #include "gtk/gtkglobals.h" #include "gtk/font_utils.h" -#include "gtk/main_packet_list.h" #include "gtk/main_proto_draw.h" #include "gtk/follow_tcp.h" - -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#endif static PangoFontDescription *m_r_font, *m_b_font; @@ -276,11 +272,7 @@ user_font_apply(void) { } /* the font(s) seem to be ok */ -#ifdef NEW_PACKET_LIST new_packet_list_set_font(new_r_font); -#else - packet_list_set_font(new_r_font); -#endif set_ptree_font_all(new_r_font); old_r_font = m_r_font; old_b_font = m_b_font; diff --git a/gtk/goto_dlg.c b/gtk/goto_dlg.c index 2fff8844de..e8546a5e70 100644 --- a/gtk/goto_dlg.c +++ b/gtk/goto_dlg.c @@ -148,32 +148,24 @@ goto_framenum_cb(GtkWidget *w _U_, gpointer data _U_) void goto_top_frame_cb(GtkWidget *w _U_, gpointer d _U_) { - cf_goto_top_frame(&cfile); + cf_goto_top_frame(); } void goto_bottom_frame_cb(GtkWidget *w _U_, gpointer d _U_) { - cf_goto_bottom_frame(&cfile); + cf_goto_bottom_frame(); } void goto_next_frame_cb(GtkWidget *w _U_, gpointer d _U_) { -#ifdef NEW_PACKET_LIST new_packet_list_next(); -#else - packet_list_next(); -#endif } void goto_previous_frame_cb(GtkWidget *w _U_, gpointer d _U_) { -#ifdef NEW_PACKET_LIST new_packet_list_prev(); -#else - packet_list_prev(); -#endif } diff --git a/gtk/gtkglobals.h b/gtk/gtkglobals.h index e4ddb99b8b..152e0f2144 100644 --- a/gtk/gtkglobals.h +++ b/gtk/gtkglobals.h @@ -42,11 +42,6 @@ /** Application window. */ extern GtkWidget *top_level; -#ifndef NEW_PACKET_LIST -/** Packet list pane. */ -extern GtkWidget *packet_list; -#endif - /** Tree view (packet details) pane. */ extern GtkWidget *tree_view_gbl; diff --git a/gtk/keys.h b/gtk/keys.h index ab0c771c7f..13dc6ccd49 100644 --- a/gtk/keys.h +++ b/gtk/keys.h @@ -35,12 +35,8 @@ #define E_MPACKET_LIST_KEY "menu_packet_list" #define E_MPACKET_LIST_ROW_KEY "menu_packet_list_row" #define E_MPACKET_LIST_COL_KEY "menu_packet_list_col" -#ifdef NEW_PACKET_LIST #define E_MPACKET_LIST_COLUMN_KEY "menu_packet_list_column" #define E_MPACKET_LIST_PREV_COLUMN_KEY "menu_packet_list_prev_column" -#else -#define E_MPACKET_LIST_COL_ARROWS_KEY "menu_packet_list_col_arrows" -#endif #define PRINT_CMD_LB_KEY "printer_command_label" #define PRINT_CMD_TE_KEY "printer_command_entry" diff --git a/gtk/libui.vcproj b/gtk/libui.vcproj index 7b184fa642..85252f2a1b 100644 --- a/gtk/libui.vcproj +++ b/gtk/libui.vcproj @@ -241,10 +241,6 @@ >
</File>
<File
- RelativePath=".\main_packet_list.c"
- >
- </File>
- <File
RelativePath=".\main_proto_draw.c"
>
</File>
@@ -903,10 +899,6 @@ >
</File>
<File
- RelativePath=".\main_packet_list.h"
- >
- </File>
- <File
RelativePath=".\main_proto_draw.h"
>
</File>
diff --git a/gtk/main.c b/gtk/main.c index 5e776ca8de..c909692123 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -135,7 +135,6 @@ #include "gtk/main_filter_toolbar.h" #include "gtk/menus.h" #include "gtk/macros_dlg.h" -#include "gtk/main_packet_list.h" #include "gtk/main_statusbar_private.h" #include "gtk/main_toolbar.h" #include "gtk/main_welcome.h" @@ -159,6 +158,7 @@ #include "gtk/prefs_column.h" #include "gtk/prefs_dlg.h" #include "gtk/proto_help.h" +#include "gtk/new_packet_list.h" #ifdef HAVE_LIBPCAP #include "../image/wsicon16.xpm" @@ -181,9 +181,6 @@ #include <epan/crypt/airpdcap_ws.h> #endif -#ifdef NEW_PACKET_LIST -#include "gtk/new_packet_list.h" -#endif #ifdef HAVE_GTKOSXAPPLICATION #include <igemacintegration/gtkosxapplication.h> @@ -356,11 +353,7 @@ colorize_selected_ptree_cb(GtkWidget *w _U_, gpointer data _U_, guint8 filt_nr) } else { color_filters_set_tmp(filt_nr,filter, FALSE); } -#ifdef NEW_PACKET_LIST new_packet_list_colorize_packets(); -#else - cf_colorize_packets(&cfile); -#endif } } } @@ -530,20 +523,12 @@ GList * get_ip_address_list_from_packet_list_row(gpointer data) { gint row = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), E_MPACKET_LIST_ROW_KEY)); -#ifdef NEW_PACKET_LIST gint column = new_packet_list_get_column_id (GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), E_MPACKET_LIST_COL_KEY))); -#else - gint column = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), E_MPACKET_LIST_COL_KEY)); -#endif gint col; frame_data *fdata; GList *addr_list = NULL; -#ifdef NEW_PACKET_LIST fdata = (frame_data *) new_packet_list_get_row_data(row); -#else - fdata = (frame_data *) packet_list_get_row_data(row); -#endif if (fdata != NULL) { epan_dissect_t edt; @@ -579,19 +564,11 @@ static gchar * get_filter_from_packet_list_row_and_column(gpointer data) { gint row = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), E_MPACKET_LIST_ROW_KEY)); -#ifdef NEW_PACKET_LIST gint column = new_packet_list_get_column_id (GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), E_MPACKET_LIST_COL_KEY))); -#else - gint column = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), E_MPACKET_LIST_COL_KEY)); -#endif frame_data *fdata; gchar *buf=NULL; -#ifdef NEW_PACKET_LIST fdata = (frame_data *) new_packet_list_get_row_data(row); -#else - fdata = (frame_data *) packet_list_get_row_data(row); -#endif if (fdata != NULL) { epan_dissect_t edt; @@ -717,7 +694,6 @@ set_frame_reftime(gboolean set, frame_data *frame, gint row) { cfile.ref_time_count--; } cf_reftime_packets(&cfile); -#ifdef NEW_PACKET_LIST if (!frame->flags.ref_time && !frame->flags.passed_dfilter) { new_packet_list_freeze(); cfile.displayed_count--; @@ -725,7 +701,6 @@ set_frame_reftime(gboolean set, frame_data *frame, gint row) { new_packet_list_thaw(); } new_packet_list_queue_draw(); -#endif } @@ -735,12 +710,8 @@ static void reftime_answered_cb(gpointer dialog _U_, gint btn, gpointer data _U_ case(ESD_BTN_YES): timestamp_set_type(TS_RELATIVE); recent.gui_time_format = TS_RELATIVE; -#ifdef NEW_PACKET_LIST cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else - cf_change_time_formats(&cfile); -#endif break; case(ESD_BTN_NO): break; @@ -910,11 +881,7 @@ void apply_as_custom_column_cb (GtkWidget *widget _U_, gpointer data _U_) column_prefs_add_custom(COL_CUSTOM, cfile.finfo_selected->hfinfo->name, cfile.finfo_selected->hfinfo->abbrev,0); /* Recreate the packet list according to new preferences */ -#ifdef NEW_PACKET_LIST new_packet_list_recreate (); -#else - packet_list_recreate (); -#endif if (!prefs.gui_use_pref_save) { prefs_main_write(); } @@ -1862,9 +1829,6 @@ get_gui_compiled_info(GString *str) #else g_string_append(str, "without AirPcap"); #endif -#ifndef NEW_PACKET_LIST - g_string_append(str, ", with old_packet_list"); -#endif } static void @@ -2836,9 +2800,6 @@ main(int argc, char *argv[]) is displayed. XXX - is that still true, with fixed-width columns? */ -#ifndef NEW_PACKET_LIST - packet_list_set_column_titles(); -#endif menu_recent_read_finished(); #ifdef HAVE_LIBPCAP @@ -3495,12 +3456,6 @@ main_widgets_show_or_hide(void) } else { gtk_widget_hide(welcome_pane); } - - /* workaround for bug in GtkCList to ensure packet list scrollbar is updated */ -#ifndef NEW_PACKET_LIST - packet_list_freeze (); - packet_list_thaw (); -#endif } @@ -3529,18 +3484,10 @@ static gboolean top_level_key_pressed_cb(GtkWidget *w _U_, GdkEventKey *event, gpointer user_data _U_) { if (event->keyval == GDK_F8) { -#ifdef NEW_PACKET_LIST new_packet_list_next(); -#else - packet_list_next(); -#endif return TRUE; } else if (event->keyval == GDK_F7) { -#ifdef NEW_PACKET_LIST new_packet_list_prev(); -#else - packet_list_prev(); -#endif return TRUE; } else if (event->state & NO_SHIFT_MOD_MASK) { return FALSE; /* Skip control, alt, and other modifiers */ @@ -3605,15 +3552,9 @@ create_main_window (gint pl_size, gint tv_size, gint bv_size, e_prefs *prefs_p) filter_tb = filter_toolbar_new(); /* Packet list */ -#ifdef NEW_PACKET_LIST pkt_scrollw = new_packet_list_create(); gtk_widget_set_size_request(pkt_scrollw, -1, pl_size); gtk_widget_show_all(pkt_scrollw); -#else - pkt_scrollw = packet_list_new(prefs_p); - gtk_widget_set_size_request(packet_list, -1, pl_size); - gtk_widget_show(pkt_scrollw); -#endif /* Tree view */ tv_scrollw = main_tree_view_new(prefs_p, &tree_view_gbl); @@ -3798,11 +3739,7 @@ void change_configuration_profile (const gchar *profile_name) welcome_if_panel_reload(); /* Recreate the packet list according to new preferences */ -#ifdef NEW_PACKET_LIST new_packet_list_recreate (); -#else - packet_list_recreate (); -#endif cfile.cinfo.columns_changed = FALSE; /* Reset value */ user_font_apply(); diff --git a/gtk/main.h b/gtk/main.h index 4b35189908..59b742ddfc 100644 --- a/gtk/main.h +++ b/gtk/main.h @@ -35,7 +35,7 @@ main [ label="main window" URL="\ref main.h"]; menu [ label="menubar" URL="\ref menus.h"]; toolbar [ label="toolbar" URL="\ref main_toolbar.h"]; - packet_list [ label="packet list pane" URL="\ref main_packet_list.h"]; + packet_list [ label="packet list pane" URL="\ref new_packet_list.h"]; proto_draw [ label="packet details & bytes panes" URL="\ref main_proto_draw.h"]; recent [ label="recent user settings" URL="\ref recent.h"]; main -> menu [ arrowhead="open", style="solid" ]; diff --git a/gtk/main_packet_list.c b/gtk/main_packet_list.c deleted file mode 100644 index 4c45134048..0000000000 --- a/gtk/main_packet_list.c +++ /dev/null @@ -1,1263 +0,0 @@ -/* main_packet_list.c - * packet list related functions 2002 Olivier Abad - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#ifndef NEW_PACKET_LIST - -#include <gtk/gtk.h> - -#include <stdio.h> -#include <string.h> - -#include <epan/epan.h> -#include <epan/column.h> -#include <epan/column_info.h> -#include <epan/prefs.h> -#include <epan/strutil.h> -#include <epan/timestamp.h> - -#include "../color.h" -#include "../color_filters.h" -#include "../ui_util.h" -#include "../progress_dlg.h" -#include "../main_statusbar.h" - -#include "gtk/gtkglobals.h" -#include "gtk/gui_utils.h" -#include "gtk/color_utils.h" -#include "gtk/capture_file_dlg.h" -#include "gtk/keys.h" -#include "gtk/font_utils.h" -#include "gtk/packet_history.h" -#include "gtk/recent.h" -#include "gtk/main.h" -#include "gtk/menus.h" -#include "gtk/main_packet_list.h" -#include "gtk/packet_win.h" -#include "gtk/prefs_column.h" -#include "gtk/prefs_dlg.h" -#include "gtk/dlg_utils.h" - -#include "image/clist_ascend.xpm" -#include "image/clist_descend.xpm" - -#define N_PROGBAR_UPDATES 100 - -typedef struct column_arrows { - GtkWidget *table; - GtkWidget *label; - GtkWidget *ascend_pm; - GtkWidget *descend_pm; -} column_arrows; - -GtkWidget *packet_list; -static gboolean last_at_end = FALSE; - -/* GtkClist compare routine, overrides default to allow numeric comparison */ - -static gint -packet_list_compare(GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2) -{ - /* Get row data structures */ - const GtkCListRow *row1 = (const GtkCListRow *)ptr1; - const GtkCListRow *row2 = (const GtkCListRow *)ptr2; - - /* Get the frame data structures for the rows */ - const frame_data *fdata1 = row1->data; - const frame_data *fdata2 = row2->data; - - /* Get row text strings */ - const char *text1 = GTK_CELL_TEXT (row1->cell[clist->sort_column])->text; - const char *text2 = GTK_CELL_TEXT (row2->cell[clist->sort_column])->text; - - /* Attempt to convert to numbers */ - double num1; - double num2; - - /* For checking custom column type */ - header_field_info *hfi; - gboolean custom_numeric = FALSE; - - int ret; - - gint col_fmt = cfile.cinfo.col_fmt[clist->sort_column]; - - switch (col_fmt) { - - case COL_NUMBER: - case COL_CLS_TIME: - case COL_ABS_TIME: - case COL_ABS_DATE_TIME: - case COL_REL_TIME: - case COL_DELTA_TIME: - case COL_DELTA_TIME_DIS: - case COL_PACKET_LENGTH: - case COL_CUMULATIVE_BYTES: - return frame_data_compare(fdata1, fdata2, col_fmt); - - case COL_CUSTOM: - hfi = proto_registrar_get_byname(cfile.cinfo.col_custom_field[clist->sort_column]); - if (hfi == NULL) { - return frame_data_compare(fdata1, fdata2, COL_NUMBER); - } else if ((hfi->strings == NULL) && - (((IS_FT_INT(hfi->type) || IS_FT_UINT(hfi->type)) && - ((hfi->display == BASE_DEC) || (hfi->display == BASE_DEC_HEX) || - (hfi->display == BASE_OCT))) || - (hfi->type == FT_DOUBLE) || (hfi->type == FT_FLOAT) || - (hfi->type == FT_BOOLEAN) || (hfi->type == FT_FRAMENUM) || - (hfi->type == FT_RELATIVE_TIME))) { - - /* Compare numeric column */ - custom_numeric = TRUE; - } - /* FALLTHRU */ - default: - num1 = atof(text1); - num2 = atof(text2); - if ((col_fmt == COL_UNRES_SRC_PORT) || (col_fmt == COL_UNRES_DST_PORT) || - (custom_numeric) || - ((num1 != 0) && (num2 != 0) && ((col_fmt == COL_DEF_SRC_PORT) || - (col_fmt == COL_RES_SRC_PORT) || - (col_fmt == COL_DEF_DST_PORT) || - (col_fmt == COL_RES_DST_PORT)))) { - - /* Compare numeric column */ - - if (num1 < num2) - return -1; - else if (num1 > num2) - return 1; - else - return frame_data_compare(fdata1, fdata2, COL_NUMBER); - } - - else { - - /* Compare text column */ - if (!text2) { - if (text1) - return 1; - else - return frame_data_compare(fdata1, fdata2, COL_NUMBER); - } - - if (!text1) - return -1; - - ret = strcmp(text1, text2); - if (ret == 0) - return frame_data_compare(fdata1, fdata2, COL_NUMBER); - else - return ret; - } - } -} - -static gboolean -right_justify_column (gint col) -{ - header_field_info *hfi; - gboolean right_justify = FALSE; - - switch (cfile.cinfo.col_fmt[col]) { - - case COL_NUMBER: - case COL_PACKET_LENGTH: - case COL_CUMULATIVE_BYTES: - case COL_DCE_CALL: - case COL_DSCP_VALUE: - right_justify = TRUE; - break; - - case COL_CUSTOM: - hfi = proto_registrar_get_byname(cfile.cinfo.col_custom_field[col]); - /* Check if this is a valid field and we have no strings lookup table */ - if ((hfi != NULL) && (hfi->strings == NULL)) { - /* Check for bool, framenum and decimal/octal integer types */ - if ((hfi->type == FT_BOOLEAN) || (hfi->type == FT_FRAMENUM) || - (((hfi->display == BASE_DEC) || (hfi->display == BASE_OCT)) && - (IS_FT_INT(hfi->type) || IS_FT_UINT(hfi->type)))) { - right_justify = TRUE; - } - } - break; - - default: - break; - } - - return right_justify; -} - -static void -col_title_change_ok (GtkWidget *w, gpointer parent_w) -{ - GtkWidget *column_lb = g_object_get_data (G_OBJECT(w), "column"); - gint col_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(packet_list), E_MPACKET_LIST_COL_KEY)); - GtkWidget *entry = g_object_get_data (G_OBJECT(w), "entry"); - const gchar *title = gtk_entry_get_text(GTK_ENTRY(entry)); - - gtk_label_set_text (GTK_LABEL(column_lb), title); - column_prefs_rename(col_id, title); - - if (!prefs.gui_use_pref_save) { - prefs_main_write(); - } - - window_destroy(GTK_WIDGET(parent_w)); -} - -static void -col_title_change_cancel (GtkWidget *w _U_, gpointer parent_w) -{ - window_destroy(GTK_WIDGET(parent_w)); -} - -static void -col_title_edit_dlg (gint col_id, gpointer data) -{ - column_arrows *col_arrows = (column_arrows *) data; - const gchar *value = gtk_label_get_text (GTK_LABEL(col_arrows[col_id].label)); - - GtkWidget *win, *main_tb, *main_vb, *bbox, *cancel_bt, *ok_bt; - GtkWidget *entry, *label; - - win = dlg_window_new("Column Title"); - - gtk_window_set_resizable(GTK_WINDOW(win),FALSE); - gtk_window_resize(GTK_WINDOW(win), 400, 100); - - main_vb = gtk_vbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(win), main_vb); - gtk_container_set_border_width(GTK_CONTAINER(main_vb), 6); - - main_tb = gtk_table_new(2, 2, FALSE); - gtk_box_pack_start(GTK_BOX(main_vb), main_tb, FALSE, FALSE, 0); - gtk_table_set_col_spacings(GTK_TABLE(main_tb), 10); - - label = gtk_label_new(ep_strdup_printf("Title:")); - gtk_table_attach_defaults(GTK_TABLE(main_tb), label, 0, 1, 1, 2); - gtk_misc_set_alignment(GTK_MISC(label), 1.0f, 0.5f); - - entry = gtk_entry_new(); - gtk_table_attach_defaults(GTK_TABLE(main_tb), entry, 1, 2, 1, 2); - gtk_entry_set_text(GTK_ENTRY(entry), value); - - bbox = dlg_button_row_new(GTK_STOCK_CANCEL,GTK_STOCK_OK, NULL); - gtk_box_pack_end(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0); - - ok_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_OK); - g_object_set_data (G_OBJECT(ok_bt), "column", col_arrows[col_id].label); - g_object_set_data (G_OBJECT(ok_bt), "entry", entry); - g_signal_connect(ok_bt, "clicked", G_CALLBACK(col_title_change_ok), win); - - dlg_set_activate(entry, ok_bt); - - cancel_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_CANCEL); - g_signal_connect(cancel_bt, "clicked", G_CALLBACK(col_title_change_cancel), win); - window_set_cancel_button(win, cancel_bt, NULL); - - gtk_widget_grab_default(ok_bt); - gtk_widget_show_all(win); -} - - -static void -packet_list_resize_column (gint col_id) -{ - gtk_clist_set_column_auto_resize(GTK_CLIST(packet_list), col_id, TRUE); - gtk_clist_set_column_resizeable(GTK_CLIST(packet_list), col_id, TRUE); -} - -static void -packet_list_remove_column (gint col_id) -{ - column_prefs_remove(col_id); - - if (!prefs.gui_use_pref_save) { - prefs_main_write(); - } - - packet_list_recreate(); -} - -/* What to do when a column is clicked */ -static void -packet_list_sort_column(gint column, gpointer data, GtkSortType order) -{ - column_arrows *col_arrows = (column_arrows *) data; - GtkCList *clist = GTK_CLIST(packet_list); - int i; - - gtk_clist_freeze(clist); - - for (i = 0; i < cfile.cinfo.num_cols; i++) { - gtk_widget_hide(col_arrows[i].ascend_pm); - gtk_widget_hide(col_arrows[i].descend_pm); - } - - clist->sort_type = order; - if (clist->sort_type == GTK_SORT_ASCENDING) { - gtk_widget_show(col_arrows[column].ascend_pm); - } else { - gtk_widget_show(col_arrows[column].descend_pm); - } - if (column != clist->sort_column) { - gtk_clist_set_sort_column(clist, column); - } - gtk_clist_thaw(clist); - - gtk_clist_sort(clist); -} - -static GtkJustification -get_xalign_value (gchar xalign, gboolean right_justify) -{ - GtkJustification value; - - switch (xalign) { - case COLUMN_XALIGN_RIGHT: - value = GTK_JUSTIFY_RIGHT; - break; - case COLUMN_XALIGN_CENTER: - value = GTK_JUSTIFY_CENTER; - break; - case COLUMN_XALIGN_LEFT: - value = GTK_JUSTIFY_LEFT; - break; - case COLUMN_XALIGN_DEFAULT: - default: - if (right_justify) { - value = GTK_JUSTIFY_RIGHT; - } else { - value = GTK_JUSTIFY_LEFT; - } - break; - } - - return value; -} - -static void -packet_list_xalign_column (gint col_id, gchar xalign) -{ - gboolean right_justify = right_justify_column(col_id); - GtkJustification justify = get_xalign_value (xalign, right_justify); - - if ((xalign == COLUMN_XALIGN_LEFT && !right_justify) || - (xalign == COLUMN_XALIGN_RIGHT && right_justify)) { - /* Default value selected, save default in the recent settings */ - xalign = COLUMN_XALIGN_DEFAULT; - } - - gtk_clist_set_column_justification (GTK_CLIST(packet_list), col_id, justify); - recent_set_column_xalign (col_id, xalign); -} - -void -packet_list_column_menu_cb (GtkWidget *w _U_, gpointer user_data _U_, COLUMN_SELECTED_E action) -{ - gint col_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(packet_list), E_MPACKET_LIST_COL_KEY)); - gpointer data = g_object_get_data (G_OBJECT(packet_list), E_MPACKET_LIST_COL_ARROWS_KEY); - - switch (action) { - case COLUMN_SELECTED_SORT_ASCENDING: - packet_list_sort_column (col_id, data, GTK_SORT_ASCENDING); - break; - case COLUMN_SELECTED_SORT_DESCENDING: - packet_list_sort_column (col_id, data, GTK_SORT_DESCENDING); - break; - case COLUMN_SELECTED_SORT_NONE: - packet_list_sort_column (0, data, GTK_SORT_ASCENDING); - break; - case COLUMN_SELECTED_ALIGN_LEFT: - packet_list_xalign_column (col_id, COLUMN_XALIGN_LEFT); - break; - case COLUMN_SELECTED_ALIGN_CENTER: - packet_list_xalign_column (col_id, COLUMN_XALIGN_CENTER); - break; - case COLUMN_SELECTED_ALIGN_RIGHT: - packet_list_xalign_column (col_id, COLUMN_XALIGN_RIGHT); - break; - case COLUMN_SELECTED_RESIZE: - packet_list_resize_column (col_id); - break; - case COLUMN_SELECTED_RENAME: - col_title_edit_dlg (col_id, data); - break; - case COLUMN_SELECTED_REMOVE: - packet_list_remove_column (col_id); - break; - default: - g_assert_not_reached(); - break; - } -} - -static void -packet_list_click_column_cb (GtkCList *clist, gint column, gpointer data) -{ - GtkWidget *menu; - gboolean right_justify = right_justify_column (column); - - menus_set_column_align_default (right_justify); - - menu = g_object_get_data (G_OBJECT(popup_menu_object), PM_PACKET_LIST_COL_KEY); - g_object_set_data(G_OBJECT(clist), E_MPACKET_LIST_COL_KEY, GINT_TO_POINTER(column)); - g_object_set_data(G_OBJECT(clist), E_MPACKET_LIST_COL_ARROWS_KEY, data); - gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, 1, gtk_get_current_event_time()); -} - - -static void -packet_list_resize_column_cb(GtkCList *clist _U_, gint column, gint width, gpointer data _U_) -{ - recent_set_column_width (column, width); -} - -/* What to do when a list item is selected/unselected */ -static void -packet_list_select_cb(GtkWidget *w _U_, gint row, gint col _U_, GdkEventButton *event _U_, gpointer evt _U_) -{ - frame_data *fdata; - - /* Check if already selected */ - if (cfile.current_frame && cfile.current_row == row) - return; - - /* Remove the hex display tabbed pages */ - while( (gtk_notebook_get_nth_page( GTK_NOTEBOOK(byte_nb_ptr_gbl), 0))) - gtk_notebook_remove_page( GTK_NOTEBOOK(byte_nb_ptr_gbl), 0); - - cf_select_packet(&cfile, row); - gtk_widget_grab_focus(packet_list); - - /* Lookup the frame number that corresponds to the list row number */ - fdata = (frame_data *)packet_list_get_row_data(row); - if (fdata != NULL) { - packet_history_add(fdata->num); - } -} - -static void -packet_list_unselect_cb(GtkWidget *w _U_, gint row _U_, gint col _U_, GdkEventButton *event _U_, gpointer evt _U_) -{ - cf_unselect_packet(&cfile); -} - -/* mark packets */ -static void -set_frame_mark(gboolean set, frame_data *frame, gint row) -{ - GdkColor fg, bg; - - if (row == -1) - return; - if (set) { - cf_mark_frame(&cfile, frame); - color_t_to_gdkcolor(&fg, &prefs.gui_marked_fg); - color_t_to_gdkcolor(&bg, &prefs.gui_marked_bg); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg); - } else { - const color_filter_t *cfilter = frame->color_filter; - - cf_unmark_frame(&cfile, frame); - /* Restore the color from the matching color filter if any */ - if (cfilter) { /* The packet matches a color filter */ - color_t_to_gdkcolor(&fg, &cfilter->fg_color); - color_t_to_gdkcolor(&bg, &cfilter->bg_color); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg); - } else { /* No color filter match */ - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, NULL); - gtk_clist_set_background(GTK_CLIST(packet_list), row, NULL); - } - } -} - -/* ignore packet */ -static void -set_frame_ignore(gboolean set, frame_data *frame, gint row) -{ - GdkColor fg, bg; - - if (row == -1) - return; - if (set) { - cf_ignore_frame(&cfile, frame); - color_t_to_gdkcolor(&fg, &prefs.gui_ignored_fg); - color_t_to_gdkcolor(&bg, &prefs.gui_ignored_bg); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg); - } else { - const color_filter_t *cfilter = frame->color_filter; - - cf_unignore_frame(&cfile, frame); - /* Restore the color from the matching color filter if any */ - if (cfilter) { /* The packet matches a color filter */ - color_t_to_gdkcolor(&fg, &cfilter->fg_color); - color_t_to_gdkcolor(&bg, &cfilter->bg_color); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg); - } else { /* No color filter match */ - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, NULL); - gtk_clist_set_background(GTK_CLIST(packet_list), row, NULL); - } - } -} - -/* call this after last set_frame_mark is done */ -static void mark_frames_ready(void) -{ - file_save_update_dynamics(); - packets_bar_update(); -} - -void packet_list_mark_frame_cb(GtkWidget *w _U_, gpointer data _U_) -{ - if (cfile.current_frame) { - set_frame_mark(!cfile.current_frame->flags.marked, - cfile.current_frame, cfile.current_row); - mark_frames_ready(); - } -} - -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) { - set_frame_mark(set, - fdata, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), fdata)); - } - mark_frames_ready(); -} - -void packet_list_update_marked_frames(void) -{ - frame_data *fdata; - - if (cfile.plist_start == NULL) return; - - /* XXX: we might need a progressbar here */ - for (fdata = cfile.plist_start; fdata != NULL; fdata = fdata->next) { - if (fdata->flags.marked) - set_frame_mark(TRUE, fdata, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), - fdata)); - } - mark_frames_ready(); -} - -void packet_list_mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) -{ - mark_all_frames(TRUE); -} - -void packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) -{ - mark_all_frames(FALSE); -} - -void packet_list_ignore_frame_cb(GtkWidget *w _U_, gpointer data _U_) -{ - if (cfile.current_frame) { - set_frame_ignore(!cfile.current_frame->flags.ignored, - cfile.current_frame, cfile.current_row); - redissect_packets(); - } -} - -static void ignore_all_frames(gboolean set) -{ - frame_data *fdata; - - /* XXX: we might need a progressbar here */ - for (fdata = cfile.plist_start; fdata != NULL; fdata = fdata->next) { - set_frame_ignore(set, - fdata, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), fdata)); - } - redissect_packets(); -} - -void packet_list_ignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) -{ - ignore_all_frames(TRUE); -} - -void packet_list_unignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) -{ - ignore_all_frames(FALSE); -} - - -void packet_list_update_ignored_frames(void) -{ - frame_data *fdata; - - if (cfile.plist_start == NULL) return; - - /* XXX: we might need a progressbar here */ - for (fdata = cfile.plist_start; fdata != NULL; fdata = fdata->next) { - if (fdata->flags.ignored) - set_frame_ignore(TRUE, fdata, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), - fdata)); - } -} - -gboolean -packet_list_get_event_row_column(GtkWidget *w, GdkEventButton *event_button, - gint *row, gint *column) -{ - return gtk_clist_get_selection_info(GTK_CLIST(w), - (gint) event_button->x, (gint) event_button->y, - row, column); -} - -static gboolean -packet_list_button_pressed_cb(GtkWidget *w, GdkEvent *event, gpointer data _U_) -{ - GdkEventButton *event_button = (GdkEventButton *)event; - gint row, column; - - if (w == NULL || event == NULL) - return FALSE; - - if (event->type == GDK_BUTTON_PRESS && event_button->button == 2 && - event_button->window == GTK_CLIST(w)->clist_window && - gtk_clist_get_selection_info(GTK_CLIST(w), (gint) event_button->x, - (gint) event_button->y, &row, &column)) { - frame_data *fdata = (frame_data *)gtk_clist_get_row_data(GTK_CLIST(w), row); - set_frame_mark(!fdata->flags.marked, fdata, row); - mark_frames_ready(); - return TRUE; - } - - if (event->type == GDK_2BUTTON_PRESS && event_button->button == 1 && - event_button->window == GTK_CLIST(w)->clist_window ) { - - new_window_cb(w); - return TRUE; - } - - return FALSE; -} - -/* Set the selection mode of the packet list window. */ -void -packet_list_set_sel_browse(gboolean val, gboolean force_set) -{ - GtkSelectionMode new_mode; - /* initialize with a mode we don't use, so that the mode == new_mode - * test will fail the first time */ - static GtkSelectionMode mode = GTK_SELECTION_MULTIPLE; - - /* Yeah, GTK uses "browse" in the case where we do not, but oh well. I - * think "browse" in Wireshark makes more sense than "SINGLE" in GTK+ */ - new_mode = val ? GTK_SELECTION_SINGLE : GTK_SELECTION_BROWSE; - - if ((mode == new_mode) && !force_set) { - /* - * The mode isn't changing, so don't do anything. - * In particular, don't gratuitiously unselect the - * current packet. - * - * XXX - why do we have to unselect the current packet - * ourselves? The documentation for the GtkCList at - * - * http://developer.gnome.org/doc/API/gtk/gtkclist.html - * - * says "Note that setting the widget's selection mode to - * one of GTK_SELECTION_BROWSE or GTK_SELECTION_SINGLE will - * cause all the items in the GtkCList to become deselected." - */ - return; - } - - if (cfile.finfo_selected) - cf_unselect_field(&cfile); - - mode = new_mode; - gtk_clist_set_selection_mode(GTK_CLIST(packet_list), mode); -} - -/* Set the font of the packet list window. */ -void -packet_list_set_font(PangoFontDescription *font) -{ - - /* Manually set the font so it can be used right away in the - * pango_layout_get_pixel_size call below. The gtk_widget_modify_font - * function only takes effect after the widget is displayed. */ - packet_list->style->font_desc = pango_font_description_copy(font); - - gtk_widget_modify_font(packet_list, font); - -} - -void -packet_list_set_default_column_sizes(void) -{ - int i; - gint col_width; - PangoLayout *layout; - - /* Compute default column sizes. */ - for (i = 0; i < cfile.cinfo.num_cols; i++) { - col_width = recent_get_column_width(i); - if (col_width == -1) { - layout = gtk_widget_create_pango_layout(packet_list, get_column_width_string(get_column_format(i), i)); - pango_layout_get_pixel_size(layout, &col_width, NULL); - g_object_unref(G_OBJECT(layout)); - } - gtk_clist_set_column_width(GTK_CLIST(packet_list), i, col_width); - } -} - -GtkWidget * -packet_list_new(e_prefs *prefs) -{ - GtkWidget *pkt_scrollw; - GtkJustification justify; - int i; - - /* Packet list */ - pkt_scrollw = scrolled_window_new(NULL, NULL); - /* The usual policy for scrolled windows is to set both scrollbars to automatic, - * meaning they'll only appear if the content doesn't fit into the window. - * - * As this doesn't seem to work in some cases for the vertical scrollbar - * (see http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=220), - * we show that scrollbar always. */ - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pkt_scrollw), - GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - /* the gtk_clist will have it's own GTK_SHADOW_IN, so don't use a shadow - * for both widgets */ - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(pkt_scrollw), - GTK_SHADOW_NONE); - - packet_list = gtk_clist_new(cfile.cinfo.num_cols); - /* Column titles are filled in below */ - gtk_container_add(GTK_CONTAINER(pkt_scrollw), packet_list); - - packet_list_set_sel_browse(prefs->gui_plist_sel_browse, FALSE); - packet_list_set_font(user_font_get_regular()); - packet_list_set_default_column_sizes(); - gtk_widget_set_name(packet_list, "packet list"); - g_signal_connect(packet_list, "select-row", G_CALLBACK(packet_list_select_cb), NULL); - g_signal_connect(packet_list, "unselect-row", G_CALLBACK(packet_list_unselect_cb), NULL); - for (i = 0; i < cfile.cinfo.num_cols; i++) { - /* For performance reasons, columns do not automatically resize, - but are resizeable by the user. */ - gtk_clist_set_column_auto_resize(GTK_CLIST(packet_list), i, FALSE); - gtk_clist_set_column_resizeable(GTK_CLIST(packet_list), i, TRUE); - - /* Justify columns. */ - justify = get_xalign_value (recent_get_column_xalign(i), right_justify_column(i)); - if (justify != GTK_JUSTIFY_LEFT) - gtk_clist_set_column_justification(GTK_CLIST(packet_list), i, justify); - } - g_signal_connect(packet_list, "button_press_event", G_CALLBACK(popup_menu_handler), - g_object_get_data(G_OBJECT(popup_menu_object), PM_PACKET_LIST_KEY)); - g_signal_connect(packet_list, "button_press_event", - G_CALLBACK(packet_list_button_pressed_cb), NULL); - g_object_set_data(G_OBJECT(popup_menu_object), E_MPACKET_LIST_KEY, packet_list); - gtk_clist_set_compare_func(GTK_CLIST(packet_list), packet_list_compare); - gtk_widget_show(packet_list); - - return pkt_scrollw; -} - -void -packet_list_recreate(void) -{ - gtk_widget_destroy(pkt_scrollw); - - prefs.num_cols = g_list_length(prefs.col_list); - - build_column_format_array(&cfile.cinfo, prefs.num_cols, FALSE); - - pkt_scrollw = packet_list_new(&prefs); - gtk_widget_show(pkt_scrollw); - packet_list_set_column_titles(); - packet_list_set_sel_browse(prefs.gui_plist_sel_browse, TRUE); - - main_widgets_rearrange(); - - if(cfile.state != FILE_CLOSED) - redissect_packets(); -} - -void -packet_list_set_column_titles(void) -{ - GtkStyle *win_style; - GdkPixmap *ascend_pm, *descend_pm; - GdkBitmap *ascend_bm, *descend_bm; - column_arrows *col_arrows; - gchar *tooltip_text; - header_field_info *hfi; - GtkTooltips *tooltips = gtk_tooltips_new (); - int i; - - win_style = gtk_widget_get_style(top_level); - ascend_pm = gdk_pixmap_create_from_xpm_d(top_level->window, &ascend_bm, - &win_style->bg[GTK_STATE_NORMAL], - (gchar **) clist_ascend_xpm); - descend_pm = gdk_pixmap_create_from_xpm_d(top_level->window, &descend_bm, - &win_style->bg[GTK_STATE_NORMAL], - (gchar **) clist_descend_xpm); - - col_arrows = (column_arrows *) g_malloc(sizeof(column_arrows) * - cfile.cinfo.num_cols); - for (i = 0; i < cfile.cinfo.num_cols; i++) { - col_arrows[i].table = gtk_table_new(2, 2, FALSE); - gtk_table_set_col_spacings(GTK_TABLE(col_arrows[i].table), 5); - - col_arrows[i].label = gtk_label_new(cfile.cinfo.col_title[i]); - gtk_table_attach(GTK_TABLE(col_arrows[i].table), col_arrows[i].label, 0, 1, 0, 2, - GTK_SHRINK, GTK_SHRINK, 0, 0); - if (cfile.cinfo.col_fmt[i] == COL_CUSTOM) { - hfi = proto_registrar_get_byname(cfile.cinfo.col_custom_field[i]); - /* Check if this is a valid custom_field */ - if (hfi) { - if (hfi->parent != -1) { - /* Prefix with protocol name */ - tooltip_text = g_strdup_printf("%s\n%s (%s)", proto_get_protocol_name(hfi->parent), hfi->name, hfi->abbrev); - } else { - tooltip_text = g_strdup_printf("%s (%s)", hfi->name, hfi->abbrev); - } - } else { - tooltip_text = g_strdup_printf("Unknown Field: %s", get_column_custom_field(i)); - } - } else { - tooltip_text = g_strdup(col_format_desc(cfile.cinfo.col_fmt[i])); - } - gtk_tooltips_set_tip(tooltips, col_arrows[i].label, tooltip_text, NULL); - g_free(tooltip_text); - gtk_widget_show(col_arrows[i].label); - col_arrows[i].ascend_pm = gtk_image_new_from_pixmap(ascend_pm, ascend_bm); - gtk_table_attach(GTK_TABLE(col_arrows[i].table), - col_arrows[i].ascend_pm, - 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); - if (i == 0) { - gtk_widget_show(col_arrows[i].ascend_pm); - } - col_arrows[i].descend_pm = gtk_image_new_from_pixmap(descend_pm, descend_bm); - gtk_table_attach(GTK_TABLE(col_arrows[i].table), - col_arrows[i].descend_pm, - 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); - gtk_clist_set_column_widget(GTK_CLIST(packet_list), i, - col_arrows[i].table); - gtk_widget_show(col_arrows[i].table); - } - gtk_clist_column_titles_show(GTK_CLIST(packet_list)); - g_signal_connect(packet_list, "click-column", G_CALLBACK(packet_list_click_column_cb), col_arrows); - g_signal_connect(packet_list, "resize-column", G_CALLBACK(packet_list_resize_column_cb), NULL); -} - -void -packet_list_clear(void) -{ - packet_history_clear(); - - gtk_clist_clear(GTK_CLIST(packet_list)); - gtk_widget_queue_draw(packet_list); -} - -void -packet_list_freeze(void) -{ - gtk_clist_freeze(GTK_CLIST(packet_list)); -} - -static void -packet_list_resize_columns(void) -{ - int i; - int progbar_nextstep; - int progbar_quantum; - gboolean progbar_stop_flag; - GTimeVal progbar_start_time; - float progbar_val; - progdlg_t *progbar = NULL; - gchar status_str[100]; - - /* Update the progress bar when it gets to this value. */ - progbar_nextstep = 0; - /* When we reach the value that triggers a progress bar update, - bump that value by this amount. */ - progbar_quantum = cfile.cinfo.num_cols/N_PROGBAR_UPDATES; - /* Progress so far. */ - progbar_val = 0.0f; - - progbar_stop_flag = FALSE; - g_get_current_time(&progbar_start_time); - - - main_window_update(); - - for (i = 0; i < cfile.cinfo.num_cols; i++) { - /* Create the progress bar if necessary. - We check on every iteration of the loop, so that it takes no - longer than the standard time to create it (otherwise, for a - large file, we might take considerably longer than that standard - time in order to get to the next progress bar step). */ - if (progbar == NULL) - progbar = delayed_create_progress_dlg("Resizing", "Resize Columns", - TRUE, &progbar_stop_flag, &progbar_start_time, progbar_val); - - if (i >= progbar_nextstep) { - /* let's not divide by zero. I should never be started - * with count == 0, so let's assert that - */ - g_assert(cfile.cinfo.num_cols > 0); - - progbar_val = (gfloat) i / cfile.cinfo.num_cols; - - if (progbar != NULL) { - g_snprintf(status_str, sizeof(status_str), - "%u of %u columns (%s)", i+1, cfile.cinfo.num_cols, cfile.cinfo.col_title[i]); - update_progress_dlg(progbar, progbar_val, status_str); - } - - progbar_nextstep += progbar_quantum; - } - - if (progbar_stop_flag) { - /* Well, the user decided to abort the resizing... */ - break; - } - - /* auto resize the current column */ - gtk_clist_set_column_auto_resize(GTK_CLIST(packet_list), i, TRUE); - - /* the current column should be resizeable by the user again */ - /* (will turn off auto resize again) */ - gtk_clist_set_column_resizeable(GTK_CLIST(packet_list), i, TRUE); - } - - /* We're done resizing the columns; destroy the progress bar if it - was created. */ - if (progbar != NULL) - destroy_progress_dlg(progbar); -} - -void packet_list_resize_columns_cb(GtkWidget *widget _U_, gpointer data _U_) -{ - packet_list_resize_columns(); -} - -void -packet_list_thaw(void) -{ - gtk_clist_thaw(GTK_CLIST(packet_list)); - packets_bar_update(); - /*packet_list_resize_columns();*/ -} - -void -packet_list_select_row(gint row) -{ - g_signal_emit_by_name(G_OBJECT(packet_list), "select_row", row); -} - -static void -packet_list_next_prev(gboolean next) -{ - GtkWidget *focus = gtk_window_get_focus(GTK_WINDOW(top_level)); - g_signal_emit_by_name(G_OBJECT(packet_list), "scroll_vertical", - next ? GTK_SCROLL_STEP_FORWARD : GTK_SCROLL_STEP_BACKWARD, 0.0); - /* Set the focus back where it was */ - if (focus) - gtk_window_set_focus(GTK_WINDOW(top_level), focus); -} - -void -packet_list_next(void) -{ - packet_list_next_prev(TRUE); -} - -void -packet_list_prev(void) -{ - packet_list_next_prev(FALSE); -} - -void -packet_list_moveto_end(void) -{ - gtk_clist_moveto(GTK_CLIST(packet_list), - GTK_CLIST(packet_list)->rows - 1, -1, 1.0f, 1.0f); -} - -gboolean -packet_list_check_end(void) -{ - gboolean at_end = FALSE; - GtkAdjustment *adj; - - g_return_val_if_fail (packet_list != NULL, FALSE); - adj = gtk_clist_get_vadjustment(GTK_CLIST(packet_list)); - g_return_val_if_fail (adj != NULL, FALSE); - - if (adj->value >= adj->upper - adj->page_size) { - at_end = TRUE; - } -#ifdef HAVE_LIBPCAP - if (adj->value > 0 && at_end != last_at_end && at_end != auto_scroll_live) { - menu_auto_scroll_live_changed(at_end); - } -#endif - last_at_end = at_end; - return at_end; -} - -gint -packet_list_append(const gchar *text[], gpointer data) -{ - gint row; - - row = gtk_clist_append(GTK_CLIST(packet_list), (gchar **) text); - gtk_clist_set_row_data(GTK_CLIST(packet_list), row, data); - return row; -} - -void -packet_list_set_colors(gint row, color_t *fg, color_t *bg) -{ - GdkColor gdkfg, gdkbg; - - if (fg) - { - color_t_to_gdkcolor(&gdkfg, fg); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &gdkfg); - } - if (bg) - { - color_t_to_gdkcolor(&gdkbg, bg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &gdkbg); - } -} - -gint -packet_list_find_row_from_data(gpointer data) -{ - return gtk_clist_find_row_from_data(GTK_CLIST(packet_list), data); -} - -void -packet_list_set_text(gint row, gint column, const gchar *text) -{ - gtk_clist_set_text(GTK_CLIST(packet_list), row, column, text); -} - -/* Set the column widths of those columns that show the time in - * "command-line-specified" format. */ -void -packet_list_set_time_width(gint col_fmt, gint column) -{ - gint width = -1; - PangoLayout *layout; - - width = recent_get_column_width(column); - if (width == -1) { - layout = gtk_widget_create_pango_layout(packet_list, - get_column_longest_string(col_fmt)); - pango_layout_get_pixel_size(layout, &width, NULL); - g_object_unref(G_OBJECT(layout)); - } - gtk_clist_set_column_width(GTK_CLIST(packet_list), column, width); -} - -gpointer -packet_list_get_row_data(gint row) -{ - return gtk_clist_get_row_data(GTK_CLIST(packet_list), row); -} - - -/* get the first fully visible row number, given row MUST be visible */ -static gint -packet_list_first_full_visible_row(gint row) -{ - g_assert(gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) == GTK_VISIBILITY_FULL); - - while(gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) == GTK_VISIBILITY_FULL) { - row--; - } - - return ++row; -} - -/* get the last fully visible row number, given row MUST be visible */ -static gint -packet_list_last_full_visible_row(gint row) -{ - g_assert(gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) == GTK_VISIBILITY_FULL); - - while(gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) == GTK_VISIBILITY_FULL) { - row++; - } - - return --row; -} - -/* Set the selected row and the focus row of the packet list to the specified - * row, and make it visible if it's not currently visible. */ -void -packet_list_set_selected_row(gint row) -{ - gint visible_rows; - gint first_row; - gboolean full_visible; - - full_visible = gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) == GTK_VISIBILITY_FULL; - - /* XXX - why is there no "gtk_clist_set_focus_row()", so that we - * can make the row for the frame we found the focus row? - * - * See http://www.gnome.org/mailing-lists/archives/gtk-list/2000-January/0038.shtml - */ - GTK_CLIST(packet_list)->focus_row = row; - - gtk_clist_select_row(GTK_CLIST(packet_list), row, -1); - - if (!full_visible) { - gtk_clist_freeze(GTK_CLIST(packet_list)); - - gtk_clist_moveto(GTK_CLIST(packet_list), row, -1, 0.0f, 0.0f); - - /* even after move still invisible (happens with empty list) -> give up */ - if(gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) != GTK_VISIBILITY_FULL) { - gtk_clist_thaw(GTK_CLIST(packet_list)); - return; - } - - /* The now selected row will be the first visible row in the list. - * This is inconvenient, as the user is usually interested in some - * packets *before* the currently selected one too. - * - * Try to adjust the visible rows, so the currently selected row will - * be shown around the first third of the list screen. - * - * (This won't even do any harm if the current row is the first or the - * last in the list) */ - visible_rows = packet_list_last_full_visible_row(row) - packet_list_first_full_visible_row(row); - first_row = row - visible_rows / 3; - - gtk_clist_moveto(GTK_CLIST(packet_list), first_row >= 0 ? first_row : 0, -1, 0.0f, 0.0f); - - gtk_clist_thaw(GTK_CLIST(packet_list)); - } -} - -/* Return the column number that the clist is currently sorted by */ -gint -packet_list_get_sort_column(void) -{ - return GTK_CLIST(packet_list)->sort_column; -} - -void packet_list_copy_summary_cb(GtkWidget * w _U_, gpointer data _U_, copy_summary_type copy_type) -{ - gint col; - gchar* celltext = NULL; - GString* text; - - if(CS_CSV == copy_type) { - text = g_string_new("\""); - } else { - text = g_string_new(""); - } - - if (cfile.current_frame) { - for(col = 0; col < cfile.cinfo.num_cols; ++col) { - if(col != 0) { - if(CS_CSV == copy_type) { - g_string_append(text,"\",\""); - } else { - g_string_append_c(text, '\t'); - } - } - if(0 != gtk_clist_get_text(GTK_CLIST(packet_list),cfile.current_row,col,&celltext)) { - g_string_append(text,celltext); - } - } - if(CS_CSV == copy_type) { - g_string_append_c(text,'"'); - } - copy_to_clipboard(text); - } - g_string_free(text,TRUE); -} - -/* Re-sort the clist by the previously selected sort */ -void -packet_list_set_sort_column(void) -{ - packet_list_freeze(); - - gtk_clist_set_sort_column(GTK_CLIST(packet_list), packet_list_get_sort_column()); - - gtk_clist_sort(GTK_CLIST(packet_list)); - - packet_list_thaw(); -} - -void -packet_list_recent_write_all(FILE *rf) -{ - gint col; - gchar xalign; - - fprintf (rf, "%s:", RECENT_KEY_COL_WIDTH); - for (col = 0; col < cfile.cinfo.num_cols; col++) { - if (cfile.cinfo.col_fmt[col] == COL_CUSTOM) { - fprintf (rf, " %%Cus:%s,", get_column_custom_field(col)); - } else { - fprintf (rf, " %s,", col_format_to_string(cfile.cinfo.col_fmt[col])); - } - fprintf (rf, " %d", GTK_CLIST(packet_list)->column[col].width); - xalign = recent_get_column_xalign (col); - if (xalign != COLUMN_XALIGN_DEFAULT) { - fprintf (rf, ":%c", xalign); - } - if (col != cfile.cinfo.num_cols-1) { - fprintf (rf, ","); - } - } - fprintf (rf, "\n"); -} - -#endif /* NEW_PACKET_LIST */ diff --git a/gtk/main_packet_list.h b/gtk/main_packet_list.h deleted file mode 100644 index e2c59b561a..0000000000 --- a/gtk/main_packet_list.h +++ /dev/null @@ -1,180 +0,0 @@ -/* main_packet_list.h - * Declarations of GTK+-specific routines for managing the packet list. - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __MAIN_PACKET_LIST_H__ -#define __MAIN_PACKET_LIST_H__ - -#ifndef NEW_PACKET_LIST - -#define RECENT_KEY_COL_WIDTH "column.width" - -/** @file - * Packet list pane. - * @ingroup main_window_group - */ - -typedef enum { - COLUMN_SELECTED_SORT_ASCENDING, - COLUMN_SELECTED_SORT_DESCENDING, - COLUMN_SELECTED_SORT_NONE, - COLUMN_SELECTED_ALIGN_LEFT, - COLUMN_SELECTED_ALIGN_CENTER, - COLUMN_SELECTED_ALIGN_RIGHT, - COLUMN_SELECTED_RESIZE, - COLUMN_SELECTED_RENAME, - COLUMN_SELECTED_REMOVE -} COLUMN_SELECTED_E; - -/** Create a new packet list. - * - * @param prefs current preferences - * @return the new packet list - */ -extern GtkWidget *packet_list_new(e_prefs *prefs); - -/** Recreate the packet list (for use after columns are changed) */ -extern void packet_list_recreate(void); - -/** Fill in column titles. This must be done after the top level window - * is displayed. - * - * @todo is that still true, with fixed-width columns? - */ -extern void packet_list_set_column_titles(void); - -extern void packet_list_column_menu_cb (GtkWidget *w, gpointer data, COLUMN_SELECTED_E action); - -/** Resize columns - * - * @param widget parent widget (unused) - * @param data unused - */ -extern void packet_list_resize_columns_cb(GtkWidget *widget, gpointer data); - -/** Mark the currently selected packet. - * - * @param widget parent widget (unused) - * @param data unused - */ -extern void packet_list_mark_frame_cb(GtkWidget *widget, gpointer data); - -/** Mark all packets in the list. - * - * @param widget parent widget (unused) - * @param data unused - */ -extern void packet_list_mark_all_frames_cb(GtkWidget *widget, gpointer data); - -/** Unmark all packets in the list. - * - * @param widget parent widget (unused) - * @param data unused - */ -extern void packet_list_unmark_all_frames_cb(GtkWidget *widget, gpointer data); - -/** Update packet marks. */ -extern void packet_list_update_marked_frames(void); - -/** Ignore the currently selected packet. - * - * @param w parent widget (unused) - * @param data unused - */ -extern void packet_list_ignore_frame_cb(GtkWidget *w _U_, gpointer data _U_); - -/** Ignore all packets in the list. - * - * @param w parent widget (unused) - * @param data unused - */ -extern void packet_list_ignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_); - -/** Un-ignore all packets in the list. - * - * @param w parent widget (unused) - * @param data unused - */ -extern void packet_list_unignore_all_frames_cb(GtkWidget *w _U_, gpointer data _U_); - -/** Update ignored packages. */ -extern void packet_list_update_ignored_frames(void); - -/** Gdk button click appeared, get row and column number in packet list from that position. - * - * @param widget the packet list widget from packet_list_new() - * @param event_button the button event clicked - * @param row the row in the packet list - * @param column the column in the packet list - * @return TRUE if row/column is returned and in range - */ -extern gboolean packet_list_get_event_row_column(GtkWidget *widget, - GdkEventButton *event_button, gint *row, gint *column); - -/** Set the font of the packet list. - * - * @param font the new font - */ -extern void packet_list_set_font(PangoFontDescription *font); - -/** Set the default column sizes. */ -extern void packet_list_set_default_column_sizes(void); - -/** Set the selection mode of the packet list window. - * - * @param val TRUE for GTK_SELECTION_SINGLE, FALSE for GTK_SELECTION_BROWSE - * @param force_set TRUE to force setting of the selection mode even if it - * was already set (used within packet_list_recreate). - */ -extern void packet_list_set_sel_browse(gboolean val, gboolean force_set); - -/** Check to see if the packet list is at its end. Toggles automatic - * scrolling if needed. - * - * @return TRUE if packet list is scrolled to greater than 90% of its total length. - */ -extern gboolean packet_list_check_end(void); - -/* Different modes of copying summary data */ -typedef enum { - CS_TEXT, /* Packet summary data (tab separated) */ - CS_CSV /* Packet summary data (comma separated) */ -} copy_summary_type; - -/** Called when user clicks on menu item to copy summary data. - * - * @param w Not used. - * @param data Not used. - * @param copy_type Mode in which to copy data (e.g. tab-separated, CSV) - */ -extern void packet_list_copy_summary_cb(GtkWidget * w _U_, gpointer data _U_, copy_summary_type copy_type); - -/** Write all packet list geometry values to the recent file. - * - * @param rf recent file handle from caller - */ -extern void packet_list_recent_write_all(FILE *rf); - -#endif /* NEW_PACKET_LIST */ - -#endif /* __MAIN_PACKET_LIST_H__ */ diff --git a/gtk/main_proto_draw.c b/gtk/main_proto_draw.c index dac96d61f7..913ed18dfd 100644 --- a/gtk/main_proto_draw.c +++ b/gtk/main_proto_draw.c @@ -698,11 +698,7 @@ add_byte_tab(GtkWidget *byte_nb, const char *name, tvbuff_t *tvb, gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(byte_view), FALSE); buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(byte_view)); -#ifdef NEW_PACKET_LIST style = gtk_widget_get_style(GTK_WIDGET(top_level)); -#else - style = gtk_widget_get_style(GTK_WIDGET(packet_list)); -#endif gtk_text_buffer_create_tag(buf, "plain", "font-desc", user_font_get_regular(), NULL); gtk_text_buffer_create_tag(buf, "reverse", "font-desc", user_font_get_regular(), diff --git a/gtk/main_toolbar.c b/gtk/main_toolbar.c index 18ed38ebbc..5d60a92eef 100644 --- a/gtk/main_toolbar.c +++ b/gtk/main_toolbar.c @@ -58,12 +58,7 @@ #include "gtk/keys.h" #include "gtk/recent.h" #include "gtk/packet_history.h" - -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#else -#include "gtk/main_packet_list.h" -#endif static gboolean toolbar_init = FALSE; @@ -390,13 +385,8 @@ toolbar_new(void) toolbar_item(zoom_100_button, main_tb, GTK_STOCK_ZOOM_100, tooltips, "Zoom 100%", view_zoom_100_cb, NULL); -#ifdef NEW_PACKET_LIST toolbar_item(resize_columns_button, main_tb, WIRESHARK_STOCK_RESIZE_COLUMNS, tooltips, "Resize All Columns", new_packet_list_resize_columns_cb, NULL); -#else - toolbar_item(resize_columns_button, main_tb, - WIRESHARK_STOCK_RESIZE_COLUMNS, tooltips, "Resize All Columns", packet_list_resize_columns_cb, NULL); -#endif toolbar_append_separator(main_tb); diff --git a/gtk/menus.c b/gtk/menus.c index f319574a3f..1ee6f1b317 100644 --- a/gtk/menus.c +++ b/gtk/menus.c @@ -100,11 +100,7 @@ #include "gtk/dissector_tables_dlg.h" #include "gtk/utf8_entities.h" -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#else -#include "gtk/main_packet_list.h" -#endif #ifdef HAVE_IGE_MAC_INTEGRATION #include <ige-mac-menu.h> @@ -400,11 +396,7 @@ colorize_conversation_cb(GtkWidget * w _U_, gpointer data _U_, int action) if( (action>>8) == 255 ) { color_filters_reset_tmp(); -#ifdef NEW_PACKET_LIST new_packet_list_colorize_packets(); -#else - cf_colorize_packets(&cfile); -#endif } else if (cfile.current_frame) { if( (action&0xff) == 0 ) { /* colorize_conversation_cb was called from the window-menu @@ -433,11 +425,7 @@ colorize_conversation_cb(GtkWidget * w _U_, gpointer data _U_, int action) } else { /* Set one of the temporary coloring filters */ color_filters_set_tmp((guint8)(action>>8),filter,FALSE); -#ifdef NEW_PACKET_LIST new_packet_list_colorize_packets(); -#else - cf_colorize_packets(&cfile); -#endif } g_free(filter); @@ -732,13 +720,9 @@ timestamp_format_new_cb (GtkRadioAction *action, GtkRadioAction *current _U_, gp if (recent.gui_time_format != value) { timestamp_set_type(value); recent.gui_time_format = value; -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else - cf_change_time_formats(&cfile); -#endif } } @@ -751,20 +735,16 @@ timestamp_precision_new_cb (GtkRadioAction *action, GtkRadioAction *current _U_, value = gtk_radio_action_get_current_value (action); g_warning("timestamp_precision_new_cb, value %u, recent.gui_time_precision %u",value, recent.gui_time_precision); if (recent.gui_time_precision != value) { - /* the actual precision will be set in cf_change_time_formats() below */ + /* the actual precision will be set in new_packet_list_queue_draw() below */ if (value == TS_PREC_AUTO) { timestamp_set_precision(TS_PREC_AUTO_SEC); } else { timestamp_set_precision(value); } recent.gui_time_precision = value; -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else - cf_change_time_formats(&cfile); -#endif } } @@ -1055,7 +1035,6 @@ static const char *ui_desc_menubar = " <menuitem name='FindNext' action='/Edit/FindNext'/>\n" " <menuitem name='FindPrevious' action='/Edit/FindPrevious'/>\n" " <separator/>\n" -#ifdef NEW_PACKET_LIST " <menuitem name='MarkPacket' action='/Edit/MarkPacket'/>\n" " <menuitem name='MarkAllDisplayedPackets' action='/Edit/MarkAllDisplayedPackets'/>\n" " <menuitem name='UnmarkAllDisplayedPackets' action='/Edit/UnmarkAllDisplayedPackets'/>\n" @@ -1071,9 +1050,6 @@ static const char *ui_desc_menubar = " <menuitem name='FindNextTimeReference' action='/Edit/FindNextTimeReference'/>\n" " <menuitem name='FindPreviousTimeReference' action='/Edit/FindPreviousTimeReference'/>\n" " <separator/>\n" -#else /* NEW_PACKET_LIST */ -#error "You must use the new packet list if you are using GTKUIManager for menus" -#endif " <menuitem name='ConfigurationProfiles' action='/Edit/ConfigurationProfiles'/>\n" " <menuitem name='Preferences' action='/Edit/Preferences'/>\n" " </menu>\n" @@ -1422,7 +1398,6 @@ static const GtkActionEntry main_menu_bar_entries[] = { { "/Edit/FindNext", NULL, "Find Ne_xt", "<control>N", NULL, G_CALLBACK(find_next_cb) }, { "/Edit/FindPrevious", NULL, "Find Pre_vious", "<control>B", NULL, G_CALLBACK(find_previous_cb) }, -#ifdef NEW_PACKET_LIST { "/Edit/MarkPacket", NULL, "_Mark Packet (toggle)", "<control>M", NULL, G_CALLBACK(new_packet_list_mark_frame_cb) }, { "/Edit/ToggleMarkingOfAllDisplayedPackets", NULL, "Toggle Marking Of All Displayed Packets", "<shift><alt><control>M", NULL, G_CALLBACK(new_packet_list_toggle_mark_all_displayed_frames_cb) }, { "/Edit/MarkAllDisplayedPackets", NULL, "Mark All Displayed Packets", "<shift><control>M", NULL, G_CALLBACK(new_packet_list_mark_all_displayed_frames_cb) }, @@ -1441,9 +1416,6 @@ static const GtkActionEntry main_menu_bar_entries[] = { { "/Edit/FindNextTimeReference", NULL, "Find Next Time Reference", "<alt><control>N", NULL, G_CALLBACK(find_next_ref_time_cb) }, { "/Edit/FindPreviousTimeReference", NULL, "Find Previous Time Reference", "<alt><control>B", NULL, G_CALLBACK(find_previous_ref_time_cb) }, -#else /* NEW_PACKET_LIST */ -#error "You must use the new packet list if you are using GTKUIManager for menus" -#endif /* NEW_PACKET_LIST */ { "/Edit/ConfigurationProfiles", NULL, "_Configuration Profiles...", "<shift><control>A", NULL, G_CALLBACK(profile_dialog_cb) }, { "/Edit/Preferences", GTK_STOCK_PREFERENCES, "_Preferences...", "<shift><control>P", NULL, G_CALLBACK(menus_prefs_cb) }, @@ -1454,12 +1426,8 @@ static const GtkActionEntry main_menu_bar_entries[] = { { "/View/ZoomIn", GTK_STOCK_ZOOM_IN, "_Zoom In", "<control>plus", NULL, G_CALLBACK(view_zoom_in_cb) }, { "/View/ZoomOut", GTK_STOCK_ZOOM_OUT, "Zoom _Out", "<control>minus", NULL, G_CALLBACK(view_zoom_out_cb) }, { "/View/NormalSize", GTK_STOCK_ZOOM_100, "_Normal Size", "<control>equal", NULL, G_CALLBACK(view_zoom_100_cb) }, -#ifdef NEW_PACKET_LIST { "/View/ResizeAllColumns", WIRESHARK_STOCK_RESIZE_COLUMNS, "Resize All Columns", "<shift><control>R", NULL, G_CALLBACK(new_packet_list_resize_columns_cb) }, { "/View/DisplayedColumns", NULL, "Displayed Columns", NULL, NULL, NULL }, -#else -#error "You must use the new packet list if you are using GTKUIManager for menus" -#endif /* NEW_PACKET_LIST */ { "/View/ExpandSubtrees", NULL, "Expand Subtrees", NULL, NULL, G_CALLBACK(expand_tree_cb) }, { "/View/ExpandAll", NULL, "Expand All", NULL, NULL, G_CALLBACK(expand_all_cb) }, { "/View/CollapseAll", NULL, "Collapse All", NULL, NULL, G_CALLBACK(collapse_all_cb) }, @@ -1795,7 +1763,6 @@ static GtkItemFactoryEntry menu_items[] = {"/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,}, -#ifdef NEW_PACKET_LIST {"/Edit/_Mark Packet (toggle)", "<control>M", GTK_MENU_FUNC(new_packet_list_mark_frame_cb),0, NULL, NULL,}, {"/Edit/Toggle Marking Of All Displayed Packets", "<shift><alt><control>M", GTK_MENU_FUNC(new_packet_list_toggle_mark_all_displayed_frames_cb), 0, NULL, NULL,}, {"/Edit/Mark All Displayed Packets", "<shift><control>M", GTK_MENU_FUNC(new_packet_list_mark_all_displayed_frames_cb), 0, NULL, NULL,}, @@ -1814,33 +1781,6 @@ static GtkItemFactoryEntry menu_items[] = {"/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 /* NEW_PACKET_LIST */ - /* - * XXX - this should be changed to match the list used with the new - * packet list, assuming we don't just drop the old packet list - * code first. - */ - {"/Edit/_Mark Packet (toggle)", "<control>M", GTK_MENU_FUNC(packet_list_mark_frame_cb), - 0, NULL, NULL,}, - {"/Edit/Mark _All Displayed Packets", "<shift><control>M", GTK_MENU_FUNC(packet_list_mark_all_frames_cb), 0, NULL, NULL,}, - {"/Edit/_Unmark All Displayed Packets", "<alt><control>M", GTK_MENU_FUNC(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(packet_list_ignore_frame_cb), - 0, NULL, NULL,}, - {"/Edit/Ignore All Displayed Packets (toggle)", "<shift><control>D", GTK_MENU_FUNC(packet_list_ignore_all_frames_cb), - 0, NULL, NULL,}, - {"/Edit/U_n-Ignore All Packets", "<alt><control>D", GTK_MENU_FUNC(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/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), @@ -1904,14 +1844,9 @@ static GtkItemFactoryEntry menu_items[] = 0, "<StockItem>", GTK_STOCK_ZOOM_OUT,}, {"/View/_Normal Size", "<control>equal", GTK_MENU_FUNC(view_zoom_100_cb), 0, "<StockItem>", GTK_STOCK_ZOOM_100,}, -#ifdef NEW_PACKET_LIST {"/View/Resize All Columns", "<shift><control>R", GTK_MENU_FUNC(new_packet_list_resize_columns_cb), 0, "<StockItem>", WIRESHARK_STOCK_RESIZE_COLUMNS,}, {"/View/Displayed Columns", NULL, NULL, 0, NULL, NULL,}, -#else - {"/View/Resize All Columns", "<shift><control>R", GTK_MENU_FUNC(packet_list_resize_columns_cb), - 0, "<StockItem>", WIRESHARK_STOCK_RESIZE_COLUMNS,}, -#endif /* NEW_PACKET_LIST */ {"/View/<separator>", NULL, NULL, 0, "<Separator>", NULL,}, {"/View/E_xpand Subtrees", "<shift>Right", GTK_MENU_FUNC(expand_tree_cb), 0, NULL, NULL,}, {"/View/_Expand All", "<control>Right", GTK_MENU_FUNC(expand_all_cb), @@ -2632,7 +2567,6 @@ packet_list_menu_color_conv_cba_new_rule_cb(GtkAction *action _U_, gpointer user colorize_conversation_cb( NULL /* widget _U_ */ , user_data, CONV_CBA); } -#ifdef NEW_PACKET_LIST static void packet_list_menu_copy_sum_txt(GtkAction *action _U_, gpointer user_data) { @@ -2644,19 +2578,6 @@ packet_list_menu_copy_sum_csv(GtkAction *action _U_, gpointer user_data) { new_packet_list_copy_summary_cb( NULL /* widget _U_ */ , user_data, CS_CSV); } -#else -static void -packet_list_menu_copy_sum_txt(GtkAction *action _U_, gpointer user_data) -{ - packet_list_copy_summary_cb( NULL /* widget _U_ */ , user_data, CS_TEXT); -} - -static void -packet_list_menu_copy_sum_csv(GtkAction *action _U_, gpointer user_data) -{ - packet_list_copy_summary_cb( NULL /* widget _U_ */ , user_data, CS_CSV); -} -#endif /* NEW_PACKET_LIST */ static void packet_list_menu_copy_as_flt(GtkAction *action _U_, gpointer user_data) @@ -4358,11 +4279,6 @@ set_menu_sensitivity_old(const gchar *path, gint val) menu_item = gtk_menu_get_attach_widget(GTK_MENU(menu_item)); } gtk_widget_set_sensitive(menu_item, val); - } else{ -#ifndef NEW_PACKET_LIST - /* be sure this menu item *is* existing */ - g_assert_not_reached(); -#endif } g_free(dup); @@ -5138,13 +5054,9 @@ timestamp_format_cb(GtkWidget *w _U_, gpointer d _U_, gint action) if (recent.gui_time_format != action) { timestamp_set_type(action); recent.gui_time_format = action; -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else - cf_change_time_formats(&cfile); -#endif } } @@ -5153,20 +5065,16 @@ static void timestamp_precision_cb(GtkWidget *w _U_, gpointer d _U_, gint action) { if (recent.gui_time_precision != action) { - /* the actual precision will be set in cf_change_time_formats() below */ + /* the actual precision will be set in new_packet_list_queue_draw() below */ if (action == TS_PREC_AUTO) { timestamp_set_precision(TS_PREC_AUTO_SEC); } else { timestamp_set_precision(action); } recent.gui_time_precision = action; -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else - cf_change_time_formats(&cfile); -#endif } } #endif @@ -5181,13 +5089,9 @@ timestamp_seconds_time_cb(GtkWidget *w, gpointer d _U_, gint action _U_) } timestamp_set_seconds_type (recent.gui_seconds_format); -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else - cf_change_time_formats(&cfile); -#endif } void @@ -5299,11 +5203,7 @@ menu_colorize_changed(gboolean packet_list_colorize) { if(packet_list_colorize != recent.packet_list_colorize) { recent.packet_list_colorize = packet_list_colorize; color_filters_enable(packet_list_colorize); -#ifdef NEW_PACKET_LIST new_packet_list_colorize_packets(); -#else - cf_colorize_packets(&cfile); -#endif } } @@ -5432,13 +5332,9 @@ menu_recent_read_finished(void) { #ifdef MAIN_MENU_USE_UIMANAGER /* XXX Fix me */ timestamp_set_type(recent.gui_time_format); -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else /* NEW_PACKET_LIST */ - cf_change_time_formats(&cfile); -#endif /* NEW_PACKET_LIST */ #if 0 /* This should not be needed as we set the active radioItem when we crate the actiongroup */ switch(recent.gui_time_format) { @@ -5530,19 +5426,15 @@ menu_recent_read_finished(void) { gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu), TRUE); #endif /* MAIN_MENU_USE_UIMANAGER */ #ifdef MAIN_MENU_USE_UIMANAGER - /* the actual precision will be set in cf_change_time_formats() below */ + /* the actual precision will be set in new_packet_list_queue_draw() below */ if (recent.gui_time_precision == TS_PREC_AUTO) { timestamp_set_precision(TS_PREC_AUTO_SEC); } else { timestamp_set_precision(recent.gui_time_precision); } -#ifdef NEW_PACKET_LIST /* This call adjusts column width */ cf_timestamp_auto_precision(&cfile); new_packet_list_queue_draw(); -#else /* NEW_PACKET_LIST */ - cf_change_time_formats(&cfile); -#endif /* NEW_PACKET_LIST */ #else /* MAIN_MENU_USE_UIMANAGER */ switch(recent.gui_time_precision) { case(TS_PREC_AUTO): @@ -5639,25 +5531,13 @@ popup_menu_handler(GtkWidget *widget, GdkEvent *event, gpointer data) /* Check if we are on packet_list object */ if (widget == g_object_get_data(G_OBJECT(popup_menu_object), E_MPACKET_LIST_KEY) && ((GdkEventButton *)event)->button != 1) { -#ifdef NEW_PACKET_LIST gint physical_row; if (new_packet_list_get_event_row_column((GdkEventButton *)event, &physical_row, &row, &column)) { -#else - if (packet_list_get_event_row_column(widget, (GdkEventButton *)event, &row, &column)) { -#endif g_object_set_data(G_OBJECT(popup_menu_object), E_MPACKET_LIST_ROW_KEY, -#ifdef NEW_PACKET_LIST - GINT_TO_POINTER(row)); -#else GINT_TO_POINTER(row)); -#endif g_object_set_data(G_OBJECT(popup_menu_object), E_MPACKET_LIST_COL_KEY, GINT_TO_POINTER(column)); -#ifdef NEW_PACKET_LIST new_packet_list_set_selected_row(row); -#else - packet_list_set_selected_row(row); -#endif } } @@ -6146,7 +6026,6 @@ set_menus_for_selected_packet(capture_file *cf) set_menu_sensitivity_old("/Edit/Set Time Reference (toggle)", frame_selected); #endif /* MAIN_MENU_USE_UIMANAGER */ -#ifdef NEW_PACKET_LIST #ifdef MAIN_MENU_USE_UIMANAGER set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/EditMenu/Un-TimeReferenceAllPackets", have_time_ref); @@ -6154,7 +6033,6 @@ set_menus_for_selected_packet(capture_file *cf) set_menu_sensitivity_old("/Edit/Un-Time Reference All Packets", have_time_ref); #endif /* MAIN_MENU_USE_UIMANAGER */ -#endif /* NEW_PACKET_LIST */ set_menu_sensitivity(ui_manager_packet_list_menu, "/PacketListMenuPopup/SetTimeReference", frame_selected); #ifdef MAIN_MENU_USE_UIMANAGER @@ -6681,7 +6559,6 @@ rebuild_protocol_prefs_menu (module_t *prefs_module_p, gboolean preferences) } -#ifdef NEW_PACKET_LIST static void menu_visible_column_toggle (GtkWidget *w _U_, gpointer data) { @@ -6753,7 +6630,6 @@ rebuild_visible_columns_menu (void) gtk_widget_show (menu_item); } } -#endif /* NEW_PACKET_LIST */ void menus_set_column_resolved (gboolean resolved, gboolean can_resolve) diff --git a/gtk/new_packet_list.c b/gtk/new_packet_list.c index 89a81e9e5d..80c12133d0 100644 --- a/gtk/new_packet_list.c +++ b/gtk/new_packet_list.c @@ -29,8 +29,6 @@ #include "config.h" #endif -#ifdef NEW_PACKET_LIST - #include "string.h" #include <stdio.h> @@ -1724,6 +1722,3 @@ new_packet_list_colorize_packets(void) packet_list_reset_colorized(packetlist); gtk_widget_queue_draw (packetlist->view); } - -#endif /* NEW_PACKET_LIST */ - diff --git a/gtk/new_packet_list.h b/gtk/new_packet_list.h index dec9578f1a..4118edb5f6 100644 --- a/gtk/new_packet_list.h +++ b/gtk/new_packet_list.h @@ -25,7 +25,6 @@ #ifndef __NEW_PACKET_LIST_H__ #define __NEW_PACKET_LIST_H__ -#ifdef NEW_PACKET_LIST #include <gtk/gtk.h> /** @file @@ -153,6 +152,4 @@ void new_packet_list_colorize_packets(void); */ extern void new_packet_list_set_sel_browse(gboolean val, gboolean force_set); -#endif /* NEW_PACKET_LIST */ - #endif /* __NEW_PACKET_LIST_H__ */ diff --git a/gtk/packet_list_store.c b/gtk/packet_list_store.c index 4375837f0f..d465b487f8 100644 --- a/gtk/packet_list_store.c +++ b/gtk/packet_list_store.c @@ -32,8 +32,6 @@ #include "config.h" #endif -#ifdef NEW_PACKET_LIST - #include <string.h> #include <gtk/gtk.h> @@ -1279,6 +1277,3 @@ packet_list_get_widest_column_string(PacketList *packet_list, gint col) return widest_column_str; } } - -#endif /* NEW_PACKET_LIST */ - diff --git a/gtk/packet_list_store.h b/gtk/packet_list_store.h index 5fd029bf33..2780fb2348 100644 --- a/gtk/packet_list_store.h +++ b/gtk/packet_list_store.h @@ -28,8 +28,6 @@ #ifndef __PACKET_LIST_STORE_H__ #define __PACKET_LIST_STORE_H__ -#ifdef NEW_PACKET_LIST - #include <glib.h> #include "epan/column_info.h" @@ -121,6 +119,4 @@ void packet_list_dissect_and_cache_iter(PacketList *packet_list, GtkTreeIter *it void packet_list_reset_colorized(PacketList *packet_list); const char* packet_list_get_widest_column_string(PacketList *packet_list, gint col); -#endif /* NEW_PACKET_LIST */ - #endif /* __PACKET_LIST_STORE_H__ */ diff --git a/gtk/packet_win.c b/gtk/packet_win.c index 19f068ce64..ebfe333c86 100644 --- a/gtk/packet_win.c +++ b/gtk/packet_win.c @@ -135,14 +135,11 @@ void new_window_cb(GtkWidget *w _U_) return; } -#ifdef NEW_PACKET_LIST - /* With the new packetlists "lazy columns" it's neccesary to reread the frame */ if (!cf_read_frame(&cfile, cfile.current_frame)) { /* error reading the frame */ return; } -#endif /* Allocate data structure to represent this window. */ DataPtr = (struct PacketWinData *) g_malloc(sizeof(struct PacketWinData)); diff --git a/gtk/prefs_column.c b/gtk/prefs_column.c index 8a123a674c..ab477e857e 100644 --- a/gtk/prefs_column.c +++ b/gtk/prefs_column.c @@ -40,11 +40,7 @@ #include "gtk/prefs_column.h" #include "gtk/gtkglobals.h" #include "gtk/gui_utils.h" -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#else -#include "gtk/main_packet_list.h" -#endif #include "gtk/filter_dlg.h" #include "gtk/filter_autocomplete.h" @@ -67,16 +63,13 @@ static gboolean column_title_changed_cb(GtkCellRendererText *, const gchar *, co static char custom_occurrence_str[8] = ""; enum { -#ifdef NEW_PACKET_LIST VISIBLE_COLUMN, -#endif TITLE_COLUMN, FORMAT_COLUMN, DATA_COLUMN, N_COLUMN /* The number of columns */ }; -#ifdef NEW_PACKET_LIST /* Visible toggled */ static void visible_toggled(GtkCellRendererToggle *cell _U_, gchar *path_str, gpointer data) @@ -101,7 +94,6 @@ visible_toggled(GtkCellRendererToggle *cell _U_, gchar *path_str, gpointer data) gtk_tree_path_free(path); } /* visible_toggled */ -#endif /* * Create and display the column selection widgets. @@ -118,11 +110,7 @@ column_prefs_show(GtkWidget *prefs_window) { gint i; gchar *fmt; gint cur_fmt; -#ifdef NEW_PACKET_LIST const gchar *column_titles[] = {"Displayed", "Title", "Field type"}; -#else - const gchar *column_titles[] = {"Title", "Field type"}; -#endif GtkListStore *store; GtkCellRenderer *renderer; GtkTreeViewColumn *column; @@ -153,9 +141,7 @@ column_prefs_show(GtkWidget *prefs_window) { gtk_widget_show(list_sc); store = gtk_list_store_new(N_COLUMN, -#ifdef NEW_PACKET_LIST G_TYPE_BOOLEAN, -#endif G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); column_row_deleted_handler_id = g_signal_connect(GTK_TREE_MODEL(store), "row-deleted", G_CALLBACK(column_dnd_row_deleted_cb), NULL); @@ -167,13 +153,11 @@ column_prefs_show(GtkWidget *prefs_window) { gtk_tooltips_set_tip (tooltips, column_l, "Click on a title to change its name.\nDrag an item to change its order.", NULL); -#ifdef NEW_PACKET_LIST renderer = gtk_cell_renderer_toggle_new(); g_signal_connect(renderer, "toggled", G_CALLBACK(visible_toggled), store); column = gtk_tree_view_column_new_with_attributes(column_titles[VISIBLE_COLUMN], renderer, "active", VISIBLE_COLUMN, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_append_column(GTK_TREE_VIEW(column_l), column); -#endif renderer = gtk_cell_renderer_text_new(); g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL); @@ -220,9 +204,7 @@ column_prefs_show(GtkWidget *prefs_window) { gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, #endif -#ifdef NEW_PACKET_LIST VISIBLE_COLUMN, cfmt->visible, -#endif TITLE_COLUMN, cfmt->title, FORMAT_COLUMN, fmt, DATA_COLUMN, clp, -1); if (first_row) { @@ -428,9 +410,7 @@ column_list_new_cb(GtkWidget *w _U_, gpointer data) { gtk_list_store_append(GTK_LIST_STORE(model), &iter); gtk_list_store_set(GTK_LIST_STORE(model), &iter, #endif -#ifdef NEW_PACKET_LIST VISIBLE_COLUMN, TRUE, -#endif TITLE_COLUMN, title, FORMAT_COLUMN, col_format_desc(cur_fmt), DATA_COLUMN, g_list_last(prefs.col_list), @@ -848,11 +828,7 @@ column_prefs_apply(GtkWidget *w _U_) { /* Redraw the packet list if the columns were changed */ if(cfile.cinfo.columns_changed) { -#ifdef NEW_PACKET_LIST new_packet_list_recreate(); -#else - packet_list_recreate(); -#endif cfile.cinfo.columns_changed = FALSE; /* Reset value */ } } diff --git a/gtk/prefs_dlg.c b/gtk/prefs_dlg.c index b278b997c3..d542ac46fe 100644 --- a/gtk/prefs_dlg.c +++ b/gtk/prefs_dlg.c @@ -57,9 +57,6 @@ #include "gtk/help_dlg.h" #include "gtk/keys.h" #include "gtk/uat_gui.h" -#ifndef NEW_PACKET_LIST -#include "gtk/main_packet_list.h" -#endif #ifdef HAVE_LIBPCAP @@ -1286,15 +1283,6 @@ prefs_main_apply_all(GtkWidget *dlg, gboolean redissect) layout_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_GUI_LAYOUT_PAGE_KEY)); column_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_GUI_COLUMN_PAGE_KEY)); stream_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_GUI_COLORS_PAGE_KEY)); -#ifndef NEW_PACKET_LIST - /* With the old packet list, we need to do some calculations to figure out - * the column sizes. But we don't want to do it until after we've set the - * fonts (so we know how much room is needed) and we don't want to do it - * until after we've applied the column preferences (so we know which - * columns are there). - */ - packet_list_set_default_column_sizes(); -#endif #ifdef HAVE_LIBPCAP #ifdef _WIN32 diff --git a/gtk/prefs_gui.c b/gtk/prefs_gui.c index c79536d1e0..13811def53 100644 --- a/gtk/prefs_gui.c +++ b/gtk/prefs_gui.c @@ -41,11 +41,7 @@ #include "gtk/gui_utils.h" #include "gtk/dlg_utils.h" #include "gtk/main.h" -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#else -#include "gtk/main_packet_list.h" -#endif #include "gtk/main_proto_draw.h" #include "gtk/main_toolbar.h" #include "gtk/font_utils.h" @@ -513,11 +509,7 @@ gui_prefs_apply(GtkWidget *w _U_ , gboolean redissect) toolbar_redraw_all(); set_scrollbar_placement_all(); -#ifdef NEW_PACKET_LIST new_packet_list_set_sel_browse(prefs.gui_plist_sel_browse, FALSE); -#else - packet_list_set_sel_browse(prefs.gui_plist_sel_browse, FALSE); -#endif set_ptree_sel_browse_all(prefs.gui_ptree_sel_browse); set_tree_styles_all(); main_widgets_rearrange(); diff --git a/gtk/prefs_stream.c b/gtk/prefs_stream.c index 7f460b0d35..a469bde9d0 100644 --- a/gtk/prefs_stream.c +++ b/gtk/prefs_stream.c @@ -37,7 +37,6 @@ #include "gtk/prefs_stream.h" #include "gtk/keys.h" #include "gtk/follow_tcp.h" -#include "gtk/main_packet_list.h" #define SAMPLE_MARKED_TEXT "Sample marked packet text\n" @@ -221,11 +220,6 @@ void stream_prefs_apply(GtkWidget *w _U_) { follow_tcp_redraw_all(); - -#ifndef NEW_PACKET_LIST - packet_list_update_marked_frames(); - packet_list_update_ignored_frames(); -#endif } void diff --git a/gtk/recent.c b/gtk/recent.c index a75fdd0b94..98857ff79d 100644 --- a/gtk/recent.c +++ b/gtk/recent.c @@ -47,11 +47,7 @@ #include "gtk/main.h" #include "gtk/menus.h" #include "gtk/gui_utils.h" -#ifdef NEW_PACKET_LIST #include "gtk/new_packet_list.h" -#else -#include "gtk/main_packet_list.h" -#endif /*NEW_PACKET_LIST */ #include "gtk/file_dlg.h" #include "gtk/cfilter_combo_utils.h" @@ -392,11 +388,7 @@ write_profile_recent(void) fprintf(rf, "\n# Packet list column pixel widths.\n"); fprintf(rf, "# Each pair of strings consists of a column format and its pixel width.\n"); -#ifdef NEW_PACKET_LIST new_packet_list_recent_write_all(rf); -#else - packet_list_recent_write_all(rf); -#endif if (get_last_open_dir() != NULL) { fprintf(rf, "\n# Last directory navigated to in File Open dialog.\n"); @@ -27,11 +27,7 @@ #ifndef __UI_UTIL_H__ #define __UI_UTIL_H__ -#ifdef NEW_PACKET_LIST #include "epan/packet_info.h" -#else -#include "color.h" -#endif #ifdef __cplusplus extern "C" { @@ -60,7 +56,6 @@ extern void pipe_input_set_handler(gint source, gpointer user_data, int *child_p /* packet_list.c */ -#ifdef NEW_PACKET_LIST void new_packet_list_clear(void); void new_packet_list_freeze(void); void new_packet_list_recreate_visible_rows(void); @@ -78,27 +73,6 @@ void new_packet_list_moveto_end(void); gboolean new_packet_list_check_end(void); gint new_packet_list_find_row_from_data(gpointer data, gboolean select); void new_packet_list_resize_column(gint col); -#else -/* packet list related functions */ -void packet_list_clear(void); -void packet_list_freeze(void); -void packet_list_thaw(void); -void packet_list_next(void); -void packet_list_prev(void); -void packet_list_select_row(gint); -void packet_list_moveto_end(void); -gint packet_list_append(const gchar *text[], gpointer data); -void packet_list_set_colors(gint, color_t *, color_t *); -gint packet_list_find_row_from_data(gpointer); -void packet_list_set_text(gint, gint, const gchar *); -void packet_list_set_time_width(gint, gint); -gpointer packet_list_get_row_data(gint); -void packet_list_set_selected_row(gint); -gint packet_list_get_sort_column(void); -void packet_list_set_sort_column(void); -gboolean packet_list_check_end(void); - -#endif /* NEW_PACKET_LIST */ #ifdef __cplusplus } |