]> git.0d.be Git - empathy.git/commitdiff
use gsettings version of the document-font-name key (#626810)
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Thu, 11 Nov 2010 14:42:14 +0000 (15:42 +0100)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 16 Nov 2010 08:00:55 +0000 (09:00 +0100)
libempathy-gtk/empathy-chat-text-view.c
libempathy-gtk/empathy-theme-adium.c
libempathy/empathy-gsettings.h

index 07ad45dbd3e97108f17589d8c6463608085c51b0..644bd0077307ebbd2e86de9309f9a46a835b4a50 100644 (file)
@@ -32,7 +32,6 @@
 
 #include <glib/gi18n-lib.h>
 #include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
 
 #include <telepathy-glib/util.h>
 
@@ -69,7 +68,7 @@ typedef struct {
        time_t                last_timestamp;
        gboolean              allow_scrolling;
        guint                 notify_system_fonts_id;
-       GConfClient          *gconf_client;
+       GSettings            *gsettings;
        EmpathySmileyManager *smiley_manager;
        gboolean              only_if_date;
 } EmpathyChatTextViewPriv;
@@ -209,9 +208,8 @@ chat_text_view_system_font_update (EmpathyChatTextView *view)
        PangoFontDescription *font_description = NULL;
        gchar                *font_name;
 
-       font_name = gconf_client_get_string (priv->gconf_client,
-                       "/desktop/gnome/interface/document_font_name",
-                       NULL);
+       font_name = g_settings_get_string (priv->gsettings,
+                       EMPATHY_PREFS_DESKTOP_INTERFACE_DOCUMENT_FONT_NAME);
 
        if (font_name != NULL) {
                font_description = pango_font_description_from_string (font_name);
@@ -228,14 +226,11 @@ chat_text_view_system_font_update (EmpathyChatTextView *view)
 }
 
 static void
-chat_text_view_notify_system_font_cb (GConfClient *conf,
-                                     guint id,
-                                     GConfEntry *entry,
-                                     gpointer user_data)
+chat_text_view_notify_system_font_cb (GSettings *gsettings,
+                                     const gchar *key,
+                                     EmpathyChatTextView *self)
 {
-       EmpathyChatTextView *view = user_data;
-
-       chat_text_view_system_font_update (view);
+       chat_text_view_system_font_update (self);
 }
 
 static void
@@ -565,9 +560,7 @@ chat_text_view_finalize (GObject *object)
 
        DEBUG ("%p", object);
 
-       gconf_client_notify_remove (priv->gconf_client,
-                                   priv->notify_system_fonts_id);
-       g_object_unref (priv->gconf_client);
+       g_object_unref (priv->gsettings);
 
        if (priv->last_contact) {
                g_object_unref (priv->last_contact);
@@ -642,16 +635,11 @@ empathy_chat_text_view_init (EmpathyChatTextView *view)
                      "cursor-visible", FALSE,
                      NULL);
 
-       priv->gconf_client = gconf_client_get_default ();
-       gconf_client_add_dir (priv->gconf_client,
-                             "/desktop/gnome/interface",
-                             GCONF_CLIENT_PRELOAD_ONELEVEL,
-                             NULL);
-       priv->notify_system_fonts_id =
-               gconf_client_notify_add (priv->gconf_client,
-                                        "/desktop/gnome/interface/document_font_name",
-                                        chat_text_view_notify_system_font_cb,
-                                        view, NULL, NULL);
+       priv->gsettings = g_settings_new (EMPATHY_PREFS_DESKTOP_INTERFACE_SCHEMA);
+       g_signal_connect (priv->gsettings,
+                         "changed::" EMPATHY_PREFS_DESKTOP_INTERFACE_DOCUMENT_FONT_NAME,
+                         G_CALLBACK (chat_text_view_notify_system_font_cb),
+                         view);
        chat_text_view_system_font_update (view);
        chat_text_view_create_tags (view);
 
index b9b6169efd5bb3d71aa4f8e7f41afe7976689b44..5b898984853b39c9238f45d9fd6f15bf3ea84ced 100644 (file)
@@ -28,7 +28,6 @@
 #include <telepathy-glib/dbus.h>
 #include <telepathy-glib/util.h>
 
-#include <gconf/gconf-client.h>
 #include <pango/pango.h>
 #include <gdk/gdk.h>
 
@@ -48,8 +47,6 @@
 
 #define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyThemeAdium)
 
-/* GConf key containing current value of font */
-#define EMPATHY_GCONF_FONT_KEY_NAME "/desktop/gnome/interface/document_font_name"
 #define BORING_DPI_DEFAULT 96
 
 /* "Join" consecutive messages with timestamps within five minutes */
@@ -981,24 +978,21 @@ theme_adium_inspect_web_view_cb (WebKitWebInspector *inspector,
 static PangoFontDescription *
 theme_adium_get_default_font (void)
 {
-       GConfClient *gconf_client;
+       GSettings *gsettings;
        PangoFontDescription *pango_fd;
-       gchar *gconf_font_family;
+       gchar *font_family;
 
-       gconf_client = gconf_client_get_default ();
-       if (gconf_client == NULL) {
-               return NULL;
-       }
-       gconf_font_family = gconf_client_get_string (gconf_client,
-                    EMPATHY_GCONF_FONT_KEY_NAME,
-                    NULL);
-       if (gconf_font_family == NULL) {
-               g_object_unref (gconf_client);
-               return NULL;
-       }
-       pango_fd = pango_font_description_from_string (gconf_font_family);
-       g_free (gconf_font_family);
-       g_object_unref (gconf_client);
+       gsettings = g_settings_new (EMPATHY_PREFS_DESKTOP_INTERFACE_SCHEMA);
+
+       font_family = g_settings_get_string (gsettings,
+                    EMPATHY_PREFS_DESKTOP_INTERFACE_DOCUMENT_FONT_NAME);
+
+       if (font_family == NULL)
+       return NULL;
+
+       pango_fd = pango_font_description_from_string (font_family);
+       g_free (font_family);
+       g_object_unref (gsettings);
        return pango_fd;
 }
 
index aba78c88046b8b2681d737827b394aebe1397e07..6c4f73a553df8c18f9c1b9649b1aa925bcffdfd8 100644 (file)
@@ -91,6 +91,9 @@ G_BEGIN_DECLS
 #define EMPATHY_PREFS_LOGGER_SCHEMA "org.freedesktop.Telepathy.Logger"
 #define EMPATHY_PREFS_LOGGER_ENABLED "enabled"
 
+#define EMPATHY_PREFS_DESKTOP_INTERFACE_SCHEMA "org.gnome.desktop.interface"
+#define EMPATHY_PREFS_DESKTOP_INTERFACE_DOCUMENT_FONT_NAME "document-font-name"
+
 G_END_DECLS
 
 #endif /* __EMPATHY_GSETTINGS_H__ */