[empathy: 2/6] use gsettings version of the document-font-name key (#626810)
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 2/6] use gsettings version of the document-font-name key (#626810)
- Date: Tue, 16 Nov 2010 13:11:23 +0000 (UTC)
commit 87f228d727344e28bb9d87f6a86845f6473a38b0
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Thu Nov 11 15:42:14 2010 +0100
use gsettings version of the document-font-name key (#626810)
libempathy-gtk/empathy-chat-text-view.c | 38 ++++++++++--------------------
libempathy-gtk/empathy-theme-adium.c | 32 ++++++++++---------------
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 07ad45d..644bd00 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 b9b6169..5b89898 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 aba78c8..6c4f73a 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__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]