diff options
-rw-r--r-- | libempathy-gtk/empathy-chat-text-view.c | 38 | ||||
-rw-r--r-- | libempathy-gtk/empathy-theme-adium.c | 32 | ||||
-rw-r--r-- | libempathy/empathy-gsettings.h | 3 |
3 files changed, 29 insertions, 44 deletions
diff --git a/libempathy-gtk/empathy-chat-text-view.c b/libempathy-gtk/empathy-chat-text-view.c index 07ad45dbd..644bd0077 100644 --- a/libempathy-gtk/empathy-chat-text-view.c +++ b/libempathy-gtk/empathy-chat-text-view.c @@ -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); diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c index b9b6169ef..5b8989848 100644 --- a/libempathy-gtk/empathy-theme-adium.c +++ b/libempathy-gtk/empathy-theme-adium.c @@ -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; } diff --git a/libempathy/empathy-gsettings.h b/libempathy/empathy-gsettings.h index aba78c880..6c4f73a55 100644 --- a/libempathy/empathy-gsettings.h +++ b/libempathy/empathy-gsettings.h @@ -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__ */ |