Ken VanDine has proposed merging lp:~ken-vandine/indicator-me/gsettings into lp:indicator-me.
Requested reviews: Ted Gould (ted) For more details, see: https://code.launchpad.net/~ken-vandine/indicator-me/gsettings/+merge/58065 Resubmit of mterry's branch, but renamed gsettings schema name to com.canonical.indicator.me, following the what we did for indicator-datetime -- https://code.launchpad.net/~ken-vandine/indicator-me/gsettings/+merge/58065 Your team ayatana-commits is subscribed to branch lp:indicator-me.
=== modified file 'configure.ac' --- configure.ac 2011-04-18 03:50:21 +0000 +++ configure.ac 2011-04-18 04:14:23 +0000 @@ -10,6 +10,8 @@ AM_MAINTAINER_MODE +GLIB_GSETTINGS + IT_PROG_INTLTOOL([0.35.0]) AC_ISC_POSIX @@ -33,7 +35,7 @@ DBUSMENUGLIB_REQUIRED_VERSION=0.3.95 DBUSMENUGTK_REQUIRED_VERSION=0.3.95 TELEPATHYGLIB_REQUIRED_VERSION=0.9.0 -GCONF_REQUIRED_VERSION=2.0.0 +GLIB_REQUIRED_VERSION=2.26 INDICATOR_DISPLAY_OBJECTS=0.1 GIO_UNIX_REQUIRED_VERSION=2.22 @@ -44,7 +46,7 @@ dbusmenu-glib-0.4 >= $DBUSMENUGLIB_REQUIRED_VERSION dbusmenu-gtk-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION) PKG_CHECK_MODULES(MESERVICE, dbusmenu-glib-0.4 >= $DBUSMENUGLIB_REQUIRED_VERSION - gconf-2.0 >= $GCONF_REQUIRED_VERSION + glib-2.0 >= $GLIB_REQUIRED_VERSION indicator >= $INDICATOR_REQUIRED_VERSION gwibber-0.1 >= $GWIBBER_REQUIRED_VERSION gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION === modified file 'data/Makefile.am' --- data/Makefile.am 2009-11-20 23:26:22 +0000 +++ data/Makefile.am 2011-04-18 04:14:23 +0000 @@ -7,10 +7,19 @@ %.service: %.service.in sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ +@INTLTOOL_XML_NOMERGE_RULE@ + +@GSETTINGS_RULES@ +gsettings_SCHEMAS = com.canonical.indicator.me.gschema.xml + +convertdir = $(datadir)/GConf/gsettings +dist_convert_DATA = indicator-me.convert EXTRA_DIST = \ - $(service_in_files) + $(service_in_files) \ + $(gsettings_SCHEMAS:.xml=.xml.in) CLEANFILES = \ - $(dbus_services_DATA) + $(dbus_services_DATA) \ + $(gsettings_SCHEMAS) === added file 'data/com.canonical.indicator.me.gschema.xml.in' --- data/com.canonical.indicator.me.gschema.xml.in 1970-01-01 00:00:00 +0000 +++ data/com.canonical.indicator.me.gschema.xml.in 2011-04-18 04:14:23 +0000 @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schemalist gettext-domain="indicator-me"> + <schema id="com.canonical.indicator.me" path="/com/canonical/indicator/me/"> + <key name="display" type="i"> + <default>1</default> + <_summary>How to display your name</_summary> + <_description>Set this key to 0 to not show any name, set it to 1 to display your user name, or set it to 2 to display your full name.</_description> + </key> + </schema> +</schemalist> === added file 'data/indicator-me.convert' --- data/indicator-me.convert 1970-01-01 00:00:00 +0000 +++ data/indicator-me.convert 2011-04-18 04:14:23 +0000 @@ -0,0 +1,2 @@ +[com.canonical.indicator.me] +display = /system/indicator/me/display === modified file 'po/POTFILES.in' --- po/POTFILES.in 2010-09-21 16:54:53 +0000 +++ po/POTFILES.in 2011-04-18 04:14:23 +0000 @@ -1,4 +1,5 @@ [encoding: UTF-8] +data/com.canonical.indicator.me.gschema.xml.in src/indicator-me.c src/status-provider.c src/status-provider-pidgin.c === modified file 'src/me-service.c' --- src/me-service.c 2011-03-23 23:21:07 +0000 +++ src/me-service.c 2011-04-18 04:14:23 +0000 @@ -34,8 +34,6 @@ #include <gio/gio.h> -#include <gconf/gconf-client.h> - #include <libdbusmenu-glib/client.h> #include <libdbusmenu-glib/server.h> #include <libdbusmenu-glib/menuitem.h> @@ -93,6 +91,7 @@ static GFileMonitor *avatar_monitor = NULL; static DbusmenuMenuitem *broadcast_field = NULL; static DbusmenuMenuitem * useritem = NULL; +static GSettings *gsettings = NULL; static void status_update (void) { @@ -317,24 +316,13 @@ return FALSE; } -#define GCONF_NAMESPACE "/system/indicator/me" -#define GCONF_DISPLAY "/system/indicator/me/display" - static void -display_mode_changed () +display_mode_changed (GSettings *settings, gchar *key) { - GConfClient *context = gconf_client_get_default (); - g_return_if_fail (context != NULL); - - GConfValue *option = gconf_client_get (context, GCONF_DISPLAY, NULL); - gint value = 1; /* username, by default */ + gint value = g_settings_get_int (settings, key); g_debug ("display_mode_changed"); - if (option != NULL && - option->type == GCONF_VALUE_INT) - value = gconf_value_get_int (option); - switch (value) { case 0: /* anonymous */ status_service_dbus_set_username (dbus_interface, ""); @@ -351,10 +339,6 @@ dbusmenu_menuitem_property_set_bool (useritem, DBUSMENU_MENUITEM_PROP_VISIBLE, (value == 0) ? FALSE : TRUE); - - g_object_unref (context); - - return; } @@ -399,22 +383,15 @@ } #endif +#define GSETTINGS_SCHEMA "com.canonical.indicator.me" +#define GSETTINGS_DISPLAY "display" + static gboolean build_menu (gpointer data) { DbusmenuMenuitem * root = DBUSMENU_MENUITEM(data); g_return_val_if_fail(DBUSMENU_IS_MENUITEM(root), FALSE); - /* and receive display mode notifications to update it later */ - GConfClient *context = gconf_client_get_default (); - if (context != NULL) { - gconf_client_add_dir (context, GCONF_NAMESPACE, - GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); - gconf_client_notify_add (context, GCONF_DISPLAY, - display_mode_changed, NULL, NULL, NULL); - g_object_unref (context); - } - /* disabled for this release */ #if 0 build_avatar_item(root); @@ -478,9 +455,12 @@ } /* finally set the menu name and update items visibility according - to a gconf key - */ - display_mode_changed (); + to a gsettings key and receive display mode notifications to update it + later */ + gsettings = g_settings_new (GSETTINGS_SCHEMA); + g_signal_connect (gsettings, "changed::" GSETTINGS_DISPLAY, + G_CALLBACK (display_mode_changed), NULL); + display_mode_changed (gsettings, GSETTINGS_DISPLAY); return FALSE; }
_______________________________________________ Mailing list: https://launchpad.net/~ayatana-commits Post to : ayatana-commits@lists.launchpad.net Unsubscribe : https://launchpad.net/~ayatana-commits More help : https://help.launchpad.net/ListHelp