aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/menus.c2
-rw-r--r--gtk/new_packet_list.c40
2 files changed, 38 insertions, 4 deletions
diff --git a/gtk/menus.c b/gtk/menus.c
index d7817f7320..4ca981eb0c 100644
--- a/gtk/menus.c
+++ b/gtk/menus.c
@@ -2112,7 +2112,9 @@ 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);
+#ifndef NEW_PACKET_LIST
cf_colorize_packets(&cfile);
+#endif
}
}
diff --git a/gtk/new_packet_list.c b/gtk/new_packet_list.c
index 862f0392cc..a735486f6a 100644
--- a/gtk/new_packet_list.c
+++ b/gtk/new_packet_list.c
@@ -49,9 +49,14 @@
#include "gtk/recent.h"
#include "gtk/keys.h"
#include "gtk/menus.h"
+#include "color.h"
+#include "color_filters.h"
+#include "gtk/color_utils.h"
static PacketList *packetlist;
+static gboolean enable_color;
+
static GtkWidget *create_view_and_model(void);
static guint row_from_iter(GtkTreeIter *iter);
static void new_packet_list_select_cb(GtkTreeView *tree_view, gpointer data _U_);
@@ -125,13 +130,16 @@ create_view_and_model(void)
gtk_tree_view_set_fixed_height_mode(GTK_TREE_VIEW(packetlist->view),
TRUE);
#endif
+
g_signal_connect(packetlist->view, "cursor-changed",
G_CALLBACK(new_packet_list_select_cb), NULL);
/* g_object_unref(packetlist); */ /* Destroy automatically with view for now */ /* XXX - Messes up freezing & thawing */
renderer = gtk_cell_renderer_text_new();
- g_object_set(renderer, "ypad", 0, "font-desc", user_font_get_regular(),
+ g_object_set(renderer,
+ "ypad", 0,
+ "font-desc", user_font_get_regular(),
NULL);
for(i = 0; i < cfile.cinfo.num_cols; i++) {
@@ -141,7 +149,6 @@ create_view_and_model(void)
show_cell_data_func,
GINT_TO_POINTER(i),
NULL);
- gtk_tree_view_column_add_attribute(col, renderer, "text",i);
gtk_tree_view_column_set_title(col, cfile.cinfo.col_title[i]);
gtk_tree_view_column_set_sort_column_id(col, i);
gtk_tree_view_column_set_resizable(col, TRUE);
@@ -244,13 +251,38 @@ static void
show_cell_data_func(GtkTreeViewColumn *col _U_, GtkCellRenderer *renderer,
GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
{
+ guint row = row_from_iter(iter);
+ guint col_num = GPOINTER_TO_INT(data);
+ frame_data *fdata = new_packet_list_get_row_data(row);
+ color_filter_t *color_filter = fdata->color_filter;
+ color_t fg_color_t = color_filter->fg_color;
+ color_t bg_color_t = color_filter->bg_color;
+ GdkColor fg_gdk;
+ GdkColor bg_gdk;
gchar *cell_text;
- gtk_tree_model_get(model, iter, GPOINTER_TO_INT(data), &cell_text, -1);
+ gtk_tree_model_get(model, iter,
+ col_num, &cell_text,
+ -1);
- g_object_set(renderer, "text", cell_text, NULL);
+ color_t_to_gdkcolor(&fg_gdk, &fg_color_t);
+ color_t_to_gdkcolor(&bg_gdk, &bg_color_t);
+
+ g_object_set(renderer,
+ "text", cell_text,
+ "foreground-gdk", &fg_gdk,
+ "foreground-set", enable_color,
+ "background-gdk", &bg_gdk,
+ "background-set", enable_color,
+ NULL);
g_free(cell_text);
}
+void
+new_packet_list_enable_color(gboolean enable)
+{
+ enable_color = enable;
+}
+
#endif /* NEW_PACKET_LIST */