2009-01-02 [colin] 3.7.0cvs10
[claws.git] / src / gtk / gtkutils.c
index d8b2cbe3088ce1473f0069fd17e68908f4b23cd3..c9e73cdc7a1d6396c9a7979ddd5422ac6cfae682 100644 (file)
@@ -675,50 +675,63 @@ void gtkut_widget_init(void)
        GtkWidget *clist;
 
        clist = gtk_cmclist_new(1);
-       g_object_ref(GTK_OBJECT(clist));
-       g_object_ref_sink(GTK_OBJECT(clist));
+       g_object_ref(G_OBJECT(clist));
+#if GLIB_CHECK_VERSION(2,10,0)
+       g_object_ref_sink (G_OBJECT(clist));
+#else
+       gtk_object_ref (G_OBJECT(clist));
+       gtk_object_sink (G_OBJECT(clist));
+#endif
        gtkut_clist_bindings_add(clist);
-       g_object_unref(GTK_OBJECT(clist));
+       g_object_unref(G_OBJECT(clist));
 
        clist = gtk_cmctree_new(1, 0);
-       g_object_ref(GTK_OBJECT(clist));
-       g_object_ref_sink(GTK_OBJECT(clist));
+       g_object_ref(G_OBJECT(clist));
+#if GLIB_CHECK_VERSION(2,10,0)
+       g_object_ref_sink (G_OBJECT(clist));
+#else
+       gtk_object_ref (G_OBJECT(clist));
+       gtk_object_sink (G_OBJECT(clist));
+#endif
        gtkut_clist_bindings_add(clist);
-       g_object_unref(GTK_OBJECT(clist));
+       g_object_unref(G_OBJECT(clist));
 
        clist = gtk_sctree_new_with_titles(1, 0, NULL);
-       g_object_ref(GTK_OBJECT(clist));
-       g_object_ref_sink(GTK_OBJECT(clist));
+       g_object_ref(G_OBJECT(clist));
+#if GLIB_CHECK_VERSION(2,10,0)
+       g_object_ref_sink (G_OBJECT(clist));
+#else
+       gtk_object_ref (G_OBJECT(clist));
+       gtk_object_sink (G_OBJECT(clist));
+#endif
        gtkut_clist_bindings_add(clist);
-       g_object_unref(GTK_OBJECT(clist));
+       g_object_unref(G_OBJECT(clist));
 }
 
 void gtkut_widget_set_app_icon(GtkWidget *widget)
 {
-#include "pixmaps/claws-mail.xpm"
-       static GdkPixmap *sylpheedclawsxpm;
-       static GdkBitmap *sylpheedclawsxpmmask;
+       static GdkPixbuf *icon = NULL;
        
        g_return_if_fail(widget != NULL);
        g_return_if_fail(widget->window != NULL);
-       if (!sylpheedclawsxpm) {
-               PIXMAP_CREATE(widget, sylpheedclawsxpm, sylpheedclawsxpmmask,
-                             claws_mail_xpm);
+       if (!icon) {
+               stock_pixbuf_gdk(widget, STOCK_PIXMAP_CLAWS_MAIL_ICON, &icon);
        }               
-       gdk_window_set_icon(widget->window, NULL, sylpheedclawsxpm, sylpheedclawsxpmmask);
+       if (icon)
+               gtk_window_set_icon(GTK_WINDOW(widget), icon);
 }
 
 void gtkut_widget_set_composer_icon(GtkWidget *widget)
 {
-       static GdkPixmap *xpm;
-       static GdkBitmap *bmp;
-
+       static GdkPixbuf *icon = NULL;
+       
        g_return_if_fail(widget != NULL);
        g_return_if_fail(widget->window != NULL);
-       if (!xpm) {
-               stock_pixmap_gdk(widget, STOCK_PIXMAP_MAIL_COMPOSE, &xpm, &bmp);
-       }
-       gdk_window_set_icon(widget->window, NULL, xpm, bmp);    
+       if (!icon) {
+               stock_pixbuf_gdk(widget, STOCK_PIXMAP_MAIL_COMPOSE, &icon);
+       }               
+       if (icon)
+               gtk_window_set_icon(GTK_WINDOW(widget), icon);
 }
 
 static gboolean move_bar = FALSE;
@@ -1598,7 +1611,6 @@ GtkUIManager *gtkut_ui_manager(void)
        return gui_manager;
 }
 
-#ifdef G_OS_UNIX
 #define READ_CONDITION (G_IO_IN | G_IO_HUP | G_IO_ERR)
 #define WRITE_CONDITION (G_IO_OUT | G_IO_ERR)
 #define EXCEPTION_CONDITION (G_IO_PRI)
@@ -1608,7 +1620,7 @@ struct _ClawsIOClosure
 {
   GdkInputFunction function;
   GdkInputCondition condition;
-  GdkDestroyNotify notify;
+  GDestroyNotify notify;
   gpointer data;
 };
 
@@ -1648,7 +1660,8 @@ gint
 claws_input_add    (gint             source,
                    GdkInputCondition condition,
                    GdkInputFunction  function,
-                   gpointer          data)
+                   gpointer          data,
+                   gboolean          is_sock)
 {
   guint result;
   ClawsIOClosure *closure = g_new (ClawsIOClosure, 1);
@@ -1667,7 +1680,14 @@ claws_input_add    (gint       source,
   if (condition & GDK_INPUT_EXCEPTION)
     cond |= EXCEPTION_CONDITION;
 
+#ifndef G_OS_WIN32
   channel = g_io_channel_unix_new (source);
+#else
+  if (is_sock)
+    channel = g_io_channel_win32_new_socket(source);
+  else
+    channel = g_io_channel_win32_new_fd(source);
+#endif
   result = g_io_add_watch_full (channel, G_PRIORITY_DEFAULT, cond, 
                                claws_io_invoke,
                                closure, claws_io_destroy);
@@ -1675,5 +1695,3 @@ claws_input_add    (gint        source,
 
   return result;
 }
-
-#endif