From 733c32bb8d9619109ad47ab599c2f960cf19308b Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Fri, 19 Aug 2011 18:10:09 +0100 Subject: users now dynamically responsive to addition and deletion of users --- src/user-menu-mgr.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/user-menu-mgr.c') diff --git a/src/user-menu-mgr.c b/src/user-menu-mgr.c index 44c1960..e1796ce 100644 --- a/src/user-menu-mgr.c +++ b/src/user-menu-mgr.c @@ -76,7 +76,7 @@ user_menu_mgr_init (UserMenuMgr *self) G_CALLBACK (user_change), self); g_signal_connect (G_OBJECT (self->users_dbus_interface), - "user-removed", + "user-deleted", G_CALLBACK (user_change), self); } @@ -174,6 +174,9 @@ user_menu_mgr_rebuild_items (UserMenuMgr *self, gboolean greeter_mode) user_menu_is_visible = self->user_count > 1; } + g_debug ("USER COUNT FROM REBUILD PERSPECTIVE : %i", + self->user_count); + session_dbus_set_user_menu_visibility (self->session_dbus_interface, user_menu_is_visible); @@ -364,9 +367,10 @@ user_change (UsersServiceDbus *service, const gchar *user_id, gpointer user_data) { - //DbusmenuMenuitem *root = (DbusmenuMenuitem *)user_data; - // TODO sort this out. - //rebuild_user_items (root, service); + g_debug ("user change in the user menu mgr"); + g_return_if_fail (USER_IS_MENU_MGR (user_data)); + UserMenuMgr* user_mgr = USER_MENU_MGR(user_data); + user_menu_mgr_rebuild_items (user_mgr, FALSE); return; } -- cgit v1.2.3 From 2d97d089958309db8115a5c9cfd9ffa4cb5ff39d Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Fri, 19 Aug 2011 18:14:59 +0100 Subject: remove the debugs --- src/user-menu-mgr.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src/user-menu-mgr.c') diff --git a/src/user-menu-mgr.c b/src/user-menu-mgr.c index e1796ce..7c95ab3 100644 --- a/src/user-menu-mgr.c +++ b/src/user-menu-mgr.c @@ -174,9 +174,6 @@ user_menu_mgr_rebuild_items (UserMenuMgr *self, gboolean greeter_mode) user_menu_is_visible = self->user_count > 1; } - g_debug ("USER COUNT FROM REBUILD PERSPECTIVE : %i", - self->user_count); - session_dbus_set_user_menu_visibility (self->session_dbus_interface, user_menu_is_visible); @@ -367,7 +364,6 @@ user_change (UsersServiceDbus *service, const gchar *user_id, gpointer user_data) { - g_debug ("user change in the user menu mgr"); g_return_if_fail (USER_IS_MENU_MGR (user_data)); UserMenuMgr* user_mgr = USER_MENU_MGR(user_data); user_menu_mgr_rebuild_items (user_mgr, FALSE); -- cgit v1.2.3 From 881e921a24838b3091ce4356d656e55137a1e953 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Mon, 22 Aug 2011 15:53:07 +0100 Subject: user images now being loaded into the user menu --- src/user-menu-mgr.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/user-menu-mgr.c') diff --git a/src/user-menu-mgr.c b/src/user-menu-mgr.c index 30ea0ff..1bd7468 100644 --- a/src/user-menu-mgr.c +++ b/src/user-menu-mgr.c @@ -92,8 +92,6 @@ static void user_menu_mgr_class_init (UserMenuMgrClass *klass) { GObjectClass* object_class = G_OBJECT_CLASS (klass); - //GObjectClass* parent_class = G_OBJECT_CLASS (klass); - object_class->finalize = user_menu_mgr_finalize; } @@ -212,15 +210,7 @@ user_menu_mgr_rebuild_items (UserMenuMgr *self, gboolean greeter_mode) dbusmenu_menuitem_property_set (mi, USER_ITEM_PROP_NAME, conflictedname); g_free(conflictedname); } else { - //g_debug ("%i %s", (gint)user->uid, user->real_name); - //g_debug ("users uid = %i", (gint)user->uid); - //g_debug ("users real name = %s", user->real_name); - if (user == NULL){ - g_debug ("USER pointer is NULL"); - return; - } - g_debug ("%p: %s", user, user->real_name); - + g_debug ("%p: %s", user, user->real_name); dbusmenu_menuitem_property_set (mi, USER_ITEM_PROP_NAME, user->real_name); @@ -229,9 +219,16 @@ user_menu_mgr_rebuild_items (UserMenuMgr *self, gboolean greeter_mode) USER_ITEM_PROP_LOGGED_IN, user->sessions != NULL); if (user->icon_file != NULL && user->icon_file[0] != '\0') { - dbusmenu_menuitem_property_set(mi, USER_ITEM_PROP_ICON, user->icon_file); + g_debug ("user %s has this icon : %s", + user->user_name, + user->icon_file); + dbusmenu_menuitem_property_set (mi, + USER_ITEM_PROP_ICON, + user->icon_file); } else { - dbusmenu_menuitem_property_set(mi, USER_ITEM_PROP_ICON, USER_ITEM_ICON_DEFAULT); + dbusmenu_menuitem_property_set (mi, + USER_ITEM_PROP_ICON, + USER_ITEM_ICON_DEFAULT); } gboolean logged_in = g_strcmp0 (user->user_name, g_get_user_name()) == 0; -- cgit v1.2.3