aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--file.c7
-rw-r--r--gtk/main.c7
-rw-r--r--prefs.c38
-rw-r--r--prefs.h4
4 files changed, 46 insertions, 10 deletions
diff --git a/file.c b/file.c
index 0dd99057db..b521d3e220 100644
--- a/file.c
+++ b/file.c
@@ -1,7 +1,7 @@
/* file.c
* File I/O routines
*
- * $Id: file.c,v 1.208 2000/08/21 15:45:19 deniel Exp $
+ * $Id: file.c,v 1.209 2000/08/21 21:24:01 deniel Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -732,9 +732,8 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
gtk_clist_set_row_data(GTK_CLIST(packet_list), row, fdata);
if (fdata->flags.marked) {
- /* XXX need user-configurable colors here (see packet_list_button_pressed_cb()) */
- gtk_clist_set_background(GTK_CLIST(packet_list), row, &BLACK);
- gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &WHITE);
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, &prefs.gui_marked_bg);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &prefs.gui_marked_fg);
} else if (filter_list != NULL && (args.colorf != NULL)) {
gtk_clist_set_background(GTK_CLIST(packet_list), row,
&args.colorf->bg_color);
diff --git a/gtk/main.c b/gtk/main.c
index 62023d62fb..c0da4b9100 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -1,6 +1,6 @@
/* main.c
*
- * $Id: main.c,v 1.146 2000/08/21 19:36:09 deniel Exp $
+ * $Id: main.c,v 1.147 2000/08/21 21:24:15 deniel Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -463,11 +463,10 @@ static void
set_frame_mark(gboolean set, frame_data *frame, gint row) {
if (frame == NULL || row == -1) return;
frame->flags.marked = set;
- /* XXX need user-configurable colors here */
gtk_clist_set_background(GTK_CLIST(packet_list), row,
- (set) ? &BLACK : &WHITE);
+ (set) ? &prefs.gui_marked_bg : &WHITE);
gtk_clist_set_foreground(GTK_CLIST(packet_list), row,
- (set) ? &WHITE : &BLACK);
+ (set) ? &prefs.gui_marked_fg : &BLACK);
}
static void
diff --git a/prefs.c b/prefs.c
index 28882940f9..7fb73a0f22 100644
--- a/prefs.c
+++ b/prefs.c
@@ -1,7 +1,7 @@
/* prefs.c
* Routines for handling preferences
*
- * $Id: prefs.c,v 1.38 2000/08/21 08:09:01 guy Exp $
+ * $Id: prefs.c,v 1.39 2000/08/21 21:24:03 deniel Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -532,6 +532,15 @@ read_prefs(int *gpf_errno_return, char **gpf_path_return,
#else
prefs.gui_font_name = g_strdup("-*-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-*-");
#endif
+ prefs.gui_marked_fg.pixel = 65535;
+ prefs.gui_marked_fg.red = 65535;
+ prefs.gui_marked_fg.green = 65535;
+ prefs.gui_marked_fg.blue = 65535;
+ prefs.gui_marked_bg.pixel = 0;
+ prefs.gui_marked_bg.red = 0;
+ prefs.gui_marked_bg.green = 0;
+ prefs.gui_marked_bg.blue = 0;
+
}
/* Read the global preferences file, if it exists. */
@@ -745,6 +754,8 @@ prefs_set_pref(char *prefarg)
#define PRS_GUI_PTREE_LINE_STYLE "gui.protocol_tree_line_style"
#define PRS_GUI_PTREE_EXPANDER_STYLE "gui.protocol_tree_expander_style"
#define PRS_GUI_FONT_NAME "gui.font_name"
+#define PRS_GUI_MARKED_FG "gui.marked_frame.fg"
+#define PRS_GUI_MARKED_BG "gui.marked_frame.bg"
#define RED_COMPONENT(x) ((((x) >> 16) & 0xff) * 65535 / 255)
#define GREEN_COMPONENT(x) ((((x) >> 8) & 0xff) * 65535 / 255)
@@ -863,6 +874,18 @@ set_pref(gchar *pref_name, gchar *value)
if (prefs.gui_font_name != NULL)
g_free(prefs.gui_font_name);
prefs.gui_font_name = g_strdup(value);
+ } else if (strcmp(pref_name, PRS_GUI_MARKED_FG) == 0) {
+ cval = strtoul(value, NULL, 16);
+ prefs.gui_marked_fg.pixel = 0;
+ prefs.gui_marked_fg.red = RED_COMPONENT(cval);
+ prefs.gui_marked_fg.green = GREEN_COMPONENT(cval);
+ prefs.gui_marked_fg.blue = BLUE_COMPONENT(cval);
+ } else if (strcmp(pref_name, PRS_GUI_MARKED_BG) == 0) {
+ cval = strtoul(value, NULL, 16);
+ prefs.gui_marked_bg.pixel = 0;
+ prefs.gui_marked_bg.red = RED_COMPONENT(cval);
+ prefs.gui_marked_bg.green = GREEN_COMPONENT(cval);
+ prefs.gui_marked_bg.blue = BLUE_COMPONENT(cval);
} else {
/* To which module does this preference belong? */
dotp = strchr(pref_name, '.');
@@ -1115,6 +1138,17 @@ write_prefs(char **pf_path_return)
fprintf(pf, "\n# Font name for packet list, protocol tree, and hex dump panes.\n");
fprintf(pf, PRS_GUI_FONT_NAME ": %s\n", prefs.gui_font_name);
+ fprintf (pf, "\n# Color preferences for a marked frame. Each value is a six "
+ "digit hexadecimal value in the form rrggbb.\n");
+ fprintf (pf, "%s: %02x%02x%02x\n", PRS_GUI_MARKED_FG,
+ (prefs.gui_marked_fg.red * 255 / 65535),
+ (prefs.gui_marked_fg.green * 255 / 65535),
+ (prefs.gui_marked_fg.blue * 255 / 65535));
+ fprintf (pf, "%s: %02x%02x%02x\n", PRS_GUI_MARKED_BG,
+ (prefs.gui_marked_bg.red * 255 / 65535),
+ (prefs.gui_marked_bg.green * 255 / 65535),
+ (prefs.gui_marked_bg.blue * 255 / 65535));
+
g_list_foreach(modules, write_module_prefs, pf);
fclose(pf);
@@ -1156,6 +1190,8 @@ copy_prefs(e_prefs *dest, e_prefs *src)
dest->gui_ptree_line_style = src->gui_ptree_line_style;
dest->gui_ptree_expander_style = src->gui_ptree_expander_style;
dest->gui_font_name = g_strdup(src->gui_font_name);
+ dest->gui_marked_fg = src->gui_marked_fg;
+ dest->gui_marked_bg = src->gui_marked_bg;
}
/* Free a set of preferences. */
diff --git a/prefs.h b/prefs.h
index 15010e5792..10f8dd2901 100644
--- a/prefs.h
+++ b/prefs.h
@@ -1,7 +1,7 @@
/* prefs.h
* Definitions for preference handling routines
*
- * $Id: prefs.h,v 1.22 2000/08/21 08:09:02 guy Exp $
+ * $Id: prefs.h,v 1.23 2000/08/21 21:24:04 deniel Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -47,6 +47,8 @@ typedef struct _e_prefs {
gint gui_ptree_line_style;
gint gui_ptree_expander_style;
gchar *gui_font_name;
+ GdkColor gui_marked_fg;
+ GdkColor gui_marked_bg;
} e_prefs;
extern e_prefs prefs;