#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
#include <telepathy-glib/util.h>
time_t last_timestamp;
gboolean allow_scrolling;
guint notify_system_fonts_id;
- GConfClient *gconf_client;
+ GSettings *gsettings_desktop;
+ GSettings *gsettings_chat;
EmpathySmileyManager *smiley_manager;
gboolean only_if_date;
} EmpathyChatTextViewPriv;
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_desktop,
+ EMPATHY_PREFS_DESKTOP_INTERFACE_DOCUMENT_FONT_NAME);
if (font_name != NULL) {
font_description = pango_font_description_from_string (font_name);
}
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
gdouble upper;
gdouble page_size;
- vadj = gtk_text_view_get_vadjustment (GTK_TEXT_VIEW (view));
+ vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (view));
value = gtk_adjustment_get_value (vadj);
upper = gtk_adjustment_get_upper (vadj);
page_size = gtk_adjustment_get_page_size (vadj);
if (down) {
GtkAdjustment *adj;
- adj = gtk_text_view_get_vadjustment (GTK_TEXT_VIEW (widget));
+ adj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (widget));
gtk_adjustment_set_value (adj,
gtk_adjustment_get_upper (adj) -
gtk_adjustment_get_page_size (adj));
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_chat);
+ g_object_unref (priv->gsettings_desktop);
if (priv->last_contact) {
g_object_unref (priv->last_contact);
"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_chat = g_settings_new (EMPATHY_PREFS_CHAT_SCHEMA);
+
+ priv->gsettings_desktop = g_settings_new (
+ EMPATHY_PREFS_DESKTOP_INTERFACE_SCHEMA);
+ g_signal_connect (priv->gsettings_desktop,
+ "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);
priv = GET_PRIV (view);
- adj = gtk_text_view_get_vadjustment (GTK_TEXT_VIEW (view));
+ adj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (view));
max_val = gtk_adjustment_get_upper (adj) - gtk_adjustment_get_page_size (adj);
g_return_val_if_fail (priv->scroll_time != NULL, FALSE);
GtkTextIter start_iter;
GtkTextIter iter;
GtkTextMark *mark;
- GSettings *gsettings_chat;
/* Check if we have to parse smileys */
- gsettings_chat = g_settings_new (EMPATHY_PREFS_CHAT_SCHEMA);
- use_smileys = g_settings_get_boolean (gsettings_chat,
+ use_smileys = g_settings_get_boolean (priv->gsettings_chat,
EMPATHY_PREFS_CHAT_SHOW_SMILEYS);
if (use_smileys)
&iter);
gtk_text_buffer_delete_mark (priv->buffer, mark);
-
- g_object_unref (gsettings_chat);
}
void