+static void
+set_common_flags (GtkCellRenderer *renderer, TnyHeaderFlags flags)
+{
+ g_object_set (G_OBJECT(renderer),
+ "weight", (flags & TNY_HEADER_FLAG_SEEN) ? PANGO_WEIGHT_NORMAL: PANGO_WEIGHT_ULTRABOLD,
+ "strikethrough", (flags & TNY_HEADER_FLAG_DELETED) ? TRUE:FALSE,
+ NULL);
+}
+
+static void
+set_cell_text (GtkCellRenderer *renderer,
+ const gchar *text,
+ TnyHeaderFlags flags,
+ RenderCellStyle style)
+{
+ PangoWeight weight;
+ gboolean strikethrough;
+
+ weight = (flags & TNY_HEADER_FLAG_SEEN) ? PANGO_WEIGHT_NORMAL: PANGO_WEIGHT_ULTRABOLD;
+ strikethrough = (flags & TNY_HEADER_FLAG_DELETED) ? TRUE:FALSE;
+ g_object_freeze_notify (G_OBJECT (renderer));
+ g_object_set (G_OBJECT (renderer), "text", text, NULL);
+ if (!(flags & TNY_HEADER_FLAG_SEEN))
+ g_object_set (G_OBJECT (renderer), "weight", PANGO_WEIGHT_ULTRABOLD, NULL);
+ if (flags & TNY_HEADER_FLAG_DELETED)
+ g_object_set (G_OBJECT (renderer), "strikethrough", TRUE, NULL);
+ switch (style) {
+ case RENDER_CELL_STYLE_GREY:
+ g_object_set (G_OBJECT (renderer),
+ "foreground", "#666666",
+ "scale", PANGO_SCALE_SMALL,
+ NULL);
+ break;
+ case RENDER_CELL_STYLE_DEFAULT:
+ break;
+ }
+ g_object_thaw_notify (G_OBJECT (renderer));
+}
+