GtkWidget *hdr_combo;
GtkWidget *hdr_entry;
GtkWidget *val_entry;
+ GtkWidget *preview;
GtkWidget *list_view;
} customhdr;
GtkWidget *arrow;
GtkWidget *add_btn;
GtkWidget *del_btn;
+ GtkWidget *preview;
GtkWidget *ch_hbox;
GtkWidget *ch_scrolledwin;
g_signal_connect (G_OBJECT (down_btn), "clicked",
G_CALLBACK (prefs_custom_header_down), NULL);
+ preview = gtk_image_new ();
+ gtk_widget_show (preview);
+ gtk_box_pack_start (GTK_BOX (btn_vbox), preview, FALSE, FALSE, 0);
+
gtk_widget_show_all(window);
customhdr.window = window;
customhdr.ok_btn = ok_btn;
customhdr.cancel_btn = cancel_btn;
+ customhdr.preview = preview;
customhdr.hdr_combo = hdr_combo;
customhdr.hdr_entry = gtk_bin_get_child(GTK_BIN((hdr_combo)));
g_object_unref(model);
gtk_tree_view_set_rules_hint(list_view, prefs_common.use_stripes_everywhere);
+ gtk_tree_view_set_reorderable(list_view, TRUE);
selector = gtk_tree_view_get_selection(list_view);
gtk_tree_selection_set_mode(selector, GTK_SELECTION_BROWSE);
{
GtkTreeIter iter;
CustomHeader *ch;
+ GtkImage *preview;
+ GdkPixbuf *pixbuf;
CustomHeader default_ch = { 0, "", NULL };
if (currently_selected)
ENTRY_SET_TEXT(customhdr.hdr_entry, ch->name);
ENTRY_SET_TEXT(customhdr.val_entry, ch->value);
-
+ if (!g_strcmp0("Face",ch->name)) {
+ preview = GTK_IMAGE(face_get_from_header (ch->value));
+ pixbuf = gtk_image_get_pixbuf(preview);
+ gtk_image_set_from_pixbuf (GTK_IMAGE(customhdr.preview), pixbuf);
+ gtk_widget_show(customhdr.preview);
+#if GLIB_CHECK_VERSION(2,10,0)
+ g_object_ref_sink (G_OBJECT(preview));
+#else
+ gtk_object_ref (G_OBJECT(preview));
+ gtk_object_sink (G_OBJECT(preview));
+#endif
+ }
+#if HAVE_LIBCOMPFACE
+else if (!g_strcmp0("X-Face", ch->name)) {
+ GdkColor color;
+ color.pixel = 0;
+ preview = GTK_IMAGE(xface_get_from_header(ch->value,
+ &color,
+ mainwindow_get_mainwindow()->window->window));
+ pixbuf = gtk_image_get_pixbuf(preview);
+ gtk_image_set_from_pixbuf (GTK_IMAGE(customhdr.preview), pixbuf);
+ gtk_widget_show(customhdr.preview);
+#if GLIB_CHECK_VERSION(2,10,0)
+ g_object_ref_sink (G_OBJECT(preview));
+#else
+ gtk_object_ref (G_OBJECT(preview));
+ gtk_object_sink (G_OBJECT(preview));
+#endif
+ }
+#endif
+else {
+ gtk_widget_hide(customhdr.preview);
+ }
return TRUE;
}