[gnome-control-center/wip/feborges/new-users-panel: 7/7] user-accounts: Select main user in the carousel when user_removed
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/feborges/new-users-panel: 7/7] user-accounts: Select main user in the carousel when user_removed
- Date: Sat, 10 Dec 2016 22:13:06 +0000 (UTC)
commit 79423a56b8792cb630e7d5ddc9c5e6194da3a743
Author: Felipe Borges <felipeborges gnome org>
Date: Sat Dec 10 23:08:29 2016 +0100
user-accounts: Select main user in the carousel when user_removed
After the removal of a user, reset the carousel to the main user.
https://bugzilla.gnome.org/show_bug.cgi?id=767065
panels/user-accounts/um-user-panel.c | 45 ++++++++++++++++++++-------------
1 files changed, 27 insertions(+), 18 deletions(-)
---
diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c
index 1050fe6..a8d156e 100644
--- a/panels/user-accounts/um-user-panel.c
+++ b/panels/user-accounts/um-user-panel.c
@@ -246,6 +246,26 @@ sort_users (gconstpointer a, gconstpointer b)
return result;
}
+static gint
+user_compare (gconstpointer i,
+ gconstpointer u)
+{
+ UmCarouselItem *item;
+ ActUser *user;
+ gint uid_a, uid_b;
+ gint result;
+
+ item = (UmCarouselItem *) i;
+ user = ACT_USER (u);
+
+ uid_a = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "uid"));
+ uid_b = act_user_get_uid (user);
+
+ result = uid_a - uid_b;
+
+ return result;
+}
+
static void
reload_users (CcUserPanelPrivate *d)
{
@@ -266,6 +286,8 @@ reload_users (CcUserPanelPrivate *d)
user_added (d->um, user, d);
}
g_slist_free (list);
+
+
}
static void
@@ -283,26 +305,13 @@ user_removed (ActUserManager *um, ActUser *user, CcUserPanelPrivate *d)
/* Show the current user */
user = act_user_manager_get_user_by_id (d->um, getuid ());
show_user (user, d);
-}
-
-static gint
-user_compare (gconstpointer i,
- gconstpointer u)
-{
- UmCarouselItem *item;
- ActUser *user;
- gint uid_a, uid_b;
- gint result;
-
- item = (UmCarouselItem *) i;
- user = ACT_USER (u);
-
- uid_a = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "uid"));
- uid_b = act_user_get_uid (user);
- result = uid_a - uid_b;
+ if (show_carousel) {
+ UmCarouselItem *item;
- return result;
+ item = um_carousel_find_item (d->carousel, user, user_compare);
+ um_carousel_select_item (d->carousel, item);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]