diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2010-06-10 12:16:00 +0800 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2010-06-18 09:34:19 +0800 |
commit | 96569c764125b9c80909c7cece9e37b65eb632ca (patch) | |
tree | 27afa60ac7dc1c6bce5195b8b9bcf645b6fe97a6 /src/empathy-status-icon.c | |
parent | f748067f6fa10635261313a28e0a0102168de91e (diff) | |
download | gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.tar gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.tar.gz gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.tar.bz2 gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.tar.lz gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.tar.xz gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.tar.zst gsoc2013-empathy-96569c764125b9c80909c7cece9e37b65eb632ca.zip |
Port Empathy code to GSettings, remove EmpathyConf
Diffstat (limited to 'src/empathy-status-icon.c')
-rw-r--r-- | src/empathy-status-icon.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c index 81409696e..a002a7fb7 100644 --- a/src/empathy-status-icon.c +++ b/src/empathy-status-icon.c @@ -35,10 +35,10 @@ #include <telepathy-glib/account-manager.h> #include <telepathy-glib/util.h> +#include <libempathy/empathy-gsettings.h> #include <libempathy/empathy-utils.h> #include <libempathy-gtk/empathy-presence-chooser.h> -#include <libempathy-gtk/empathy-conf.h> #include <libempathy-gtk/empathy-ui-utils.h> #include <libempathy-gtk/empathy-images.h> #include <libempathy-gtk/empathy-new-message-dialog.h> @@ -66,6 +66,7 @@ typedef struct { EmpathyEventManager *event_manager; EmpathyEvent *event; NotifyNotification *notification; + GSettings *gsettings_ui; GtkWindow *window; GtkUIManager *ui_manager; @@ -356,8 +357,9 @@ status_icon_set_visibility (EmpathyStatusIcon *icon, EmpathyStatusIconPriv *priv = GET_PRIV (icon); if (store) { - empathy_conf_set_bool (empathy_conf_get (), - EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN, !visible); + g_settings_set_boolean (priv->gsettings_ui, + EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN, + !visible); } if (!visible) { @@ -368,16 +370,15 @@ status_icon_set_visibility (EmpathyStatusIcon *icon, } static void -status_icon_notify_visibility_cb (EmpathyConf *conf, +status_icon_notify_visibility_cb (GSettings *gsettings, const gchar *key, gpointer user_data) { EmpathyStatusIcon *icon = user_data; gboolean hidden = FALSE; - if (empathy_conf_get_bool (conf, key, &hidden)) { - status_icon_set_visibility (icon, !hidden, FALSE); - } + hidden = g_settings_get_boolean (gsettings, key); + status_icon_set_visibility (icon, !hidden, FALSE); } static void @@ -571,6 +572,7 @@ status_icon_finalize (GObject *object) g_object_unref (priv->event_manager); g_object_unref (priv->ui_manager); g_object_unref (priv->notify_mgr); + g_object_unref (priv->gsettings_ui); } static void @@ -625,10 +627,11 @@ empathy_status_icon_init (EmpathyStatusIcon *icon) account_manager_prepared_cb, icon); /* make icon listen and respond to MAIN_WINDOW_HIDDEN changes */ - empathy_conf_notify_add (empathy_conf_get (), - EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN, - status_icon_notify_visibility_cb, - icon); + priv->gsettings_ui = g_settings_new (EMPATHY_PREFS_UI_SCHEMA); + g_signal_connect (priv->gsettings_ui, + "changed::" EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN, + G_CALLBACK (status_icon_notify_visibility_cb), + icon); status_icon_create_menu (icon); @@ -678,13 +681,8 @@ empathy_status_icon_new (GtkWindow *window, gboolean hide_contact_list) G_CALLBACK (status_icon_delete_event_cb), icon); - if (!hide_contact_list) { - empathy_conf_get_bool (empathy_conf_get (), - EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN, - &should_hide); - } else { - should_hide = TRUE; - } + should_hide = g_settings_get_boolean (priv->gsettings_ui, + EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN); if (gtk_window_is_active (priv->window) == should_hide) { status_icon_set_visibility (icon, !should_hide, FALSE); |