Ethereal-dev: Re: [Ethereal-dev] Color filters - preview

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Tomas Kukosa <tomas.kukosa@xxxxxxxxxxx>
Date: Mon, 09 Jun 2003 09:48:13 +0200
> > And a bug report: Unselecting a multiple selection in the
> > packet list does not restore the colorization.
> 
> This is true too when marking/unmarking frames in Ethereal (see
> http://www.ethereal.com/lists/ethereal-dev/200304/msg00264.html)
> 
> > If anyone wants to look into this feel free, or I
> > will when I've got the current stuff done.
> 
> I haven't found the code which deals with it :(

The responsible piece of code is the set_frame_mark() function in the
gtk/main.c module.
As I do not know how the colorization is done I am not able to fix it.


/* mark packets */
static void
set_frame_mark(gboolean set, frame_data *frame, gint row) {
  GdkColor fg, bg;

  if (row == -1)
    return;
  if (set) {
    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_background(GTK_CLIST(packet_list), row, &bg);
    gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg);
  } else {
    unmark_frame(&cfile, frame);
/*!!! following two lines has to be replace with colorization restoring
code !!!*/
    gtk_clist_set_background(GTK_CLIST(packet_list), row, NULL);
    gtk_clist_set_foreground(GTK_CLIST(packet_list), row, NULL);
  }
  file_set_save_marked_sensitive();
}