Removal of the old packet-list in favor of the new packet list.

It compiles with "./configure without options" on my Mac. Let's see what the buildbots have to say about it :-)


svn path=/trunk/; revision=36161
This commit is contained in:
Sake Blok 2011-03-08 01:52:25 +00:00
parent 4f8edc81e6
commit 307c0d70fb
36 changed files with 11 additions and 2617 deletions

View File

@ -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);

View File

@ -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.
*

View File

@ -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;

View File

@ -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

View File

@ -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;
/**

748
file.c
View File

@ -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) {
@ -1723,21 +1529,11 @@ cf_filter_packets(capture_file *cf, gchar *dftext, gboolean force)
return CF_OK;
}
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

20
file.h
View File

@ -320,13 +320,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.
*
@ -342,13 +335,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.
*
@ -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.

View File

@ -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

View File

@ -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 \

View File

@ -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);
}

View File

@ -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

View File

@ -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;

View File

@ -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 */

View File

@ -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;

View File

@ -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
}

View File

@ -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;

View File

@ -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"

View File

@ -240,10 +240,6 @@
RelativePath=".\main_filter_toolbar.c"
>
</File>
<File
RelativePath=".\main_packet_list.c"
>
</File>
<File
RelativePath=".\main_proto_draw.c"
>
@ -902,10 +898,6 @@
RelativePath=".\main_filter_toolbar.h"
>
</File>
<File
RelativePath=".\main_packet_list.h"
>
</File>
<File
RelativePath=".\main_proto_draw.h"
>

View File

@ -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();

View File

@ -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" ];

File diff suppressed because it is too large Load Diff

View File

@ -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__ */

View File

@ -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(),

View File

@ -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);

View File

@ -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)

View File

@ -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 */

View File

@ -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__ */

View File

@ -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 */

View File

@ -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__ */

View File

@ -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));

View File

@ -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 */
}
}

View File

@ -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

View File

@ -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();

View File

@ -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

View File

@ -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");

View File

@ -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
}