ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #03729
[Merge] lp:~jbicha/indicator-session/add-account-settings into lp:indicator-session
Jeremy Bicha has proposed merging lp:~jbicha/indicator-session/add-account-settings into lp:indicator-session.
Requested reviews:
Indicator Applet Developers (indicator-applet-developers)
For more details, see:
https://code.launchpad.net/~jbicha/indicator-session/add-account-settings/+merge/70619
Originally proposed at https://lists.launchpad.net/ayatana/msg06235.html
I see this option as being far more useful than Online Accounts as users want to be able to change their password, profile picture, automatic login setting, and add an extra user easily.
--
https://code.launchpad.net/~jbicha/indicator-session/add-account-settings/+merge/70619
Your team ayatana-commits is subscribed to branch lp:indicator-session.
=== modified file 'src/indicator-session.c'
--- src/indicator-session.c 2011-07-22 16:44:04 +0000
+++ src/indicator-session.c 2011-08-05 19:18:53 +0000
@@ -524,7 +524,7 @@
if (variant == NULL || g_variant_get_string(variant, NULL) == NULL ||
g_variant_get_string(variant, NULL)[0] == '\0' || no_name_in_lang) {
- finalstring = _("Switch User...");
+ finalstring = _("Switch Userâ¦");
set_ellipsize = FALSE;
}
@@ -551,7 +551,7 @@
gdouble ems = width / pixels_per_em;
g_debug("Username width %fem", ems);
- finalstring = g_strdup_printf(_("Switch From %s..."), username);
+ finalstring = g_strdup_printf(_("Switch From %sâ¦"), username);
if (ems >= 20.0f) {
set_ellipsize = TRUE;
} else {
=== modified file 'src/user-menu-mgr.c'
--- src/user-menu-mgr.c 2011-07-18 11:19:38 +0000
+++ src/user-menu-mgr.c 2011-08-05 19:18:53 +0000
@@ -49,6 +49,9 @@
static void activate_online_accounts (DbusmenuMenuitem *mi,
guint timestamp,
gpointer user_data);
+static void activate_account_settings (DbusmenuMenuitem *mi,
+ guint timestamp,
+ gpointer user_data);
static void user_menu_mgr_rebuild_items (UserMenuMgr *self);
static gboolean check_new_session ();
static void user_change (UsersServiceDbus *service,
@@ -208,7 +211,7 @@
}
g_list_free(users);
}
- // Add the online accounts and separator
+ // Add the separator, online accounts, and account settings links
DbusmenuMenuitem * separator1 = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set (separator1,
DBUSMENU_MENUITEM_PROP_TYPE,
@@ -220,14 +223,30 @@
DBUSMENU_CLIENT_TYPES_DEFAULT);
dbusmenu_menuitem_property_set (online_accounts_item,
DBUSMENU_MENUITEM_PROP_LABEL,
- _("Online Accounts..."));
+ _("Online Accountsâ¦"));
g_signal_connect (G_OBJECT (online_accounts_item),
DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
G_CALLBACK (activate_online_accounts),
NULL);
- dbusmenu_menuitem_child_append (self->root_item, online_accounts_item);
+ dbusmenu_menuitem_child_append (self->root_item, online_accounts_item);
+
+ DbusmenuMenuitem * account_settings_item = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set (account_settings_item,
+ DBUSMENU_MENUITEM_PROP_TYPE,
+ DBUSMENU_CLIENT_TYPES_DEFAULT);
+ dbusmenu_menuitem_property_set (account_settings_item,
+ DBUSMENU_MENUITEM_PROP_LABEL,
+ _("Account Settingsâ¦"));
+
+ g_signal_connect (G_OBJECT (account_settings_item),
+ DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
+ G_CALLBACK (activate_account_settings),
+ NULL);
+
+ dbusmenu_menuitem_child_append (self->root_item, account_settings_item);
+
}
/* Checks to see if we can create sessions */
@@ -311,6 +330,19 @@
}
}
+static void
+activate_account_settings (DbusmenuMenuitem *mi,
+ guint timestamp,
+ gpointer user_data)
+{
+ GError * error = NULL;
+ if (!g_spawn_command_line_async("gnome-control-center user-accounts", &error))
+ {
+ g_warning("Unable to show control centre: %s", error->message);
+ g_error_free(error);
+ }
+}
+
/* Signal called when a user is added. It updates the count and
rebuilds the menu */
static void
Follow ups