[gnome-control-center/wip/region-panel] users: Deal with preloaded users
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/region-panel] users: Deal with preloaded users
- Date: Wed, 30 Jan 2013 00:11:30 +0000 (UTC)
commit fa8e21b95ab1fb77aadcde0d2af155613af392b8
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Jan 29 16:40:23 2013 -0500
users: Deal with preloaded users
Now that another panel is using ActUserManager, the one the
user panel is using may already be loaded when it starts up.
It was not dealing with that gracefully.
panels/user-accounts/um-user-panel.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c
index 42d8ac6..89797c7 100644
--- a/panels/user-accounts/um-user-panel.c
+++ b/panels/user-accounts/um-user-panel.c
@@ -1202,6 +1202,7 @@ setup_main_window (CcUserPanelPrivate *d)
GIcon *icon;
GError *error = NULL;
gchar *names[3];
+ gboolean loaded;
userlist = get_widget (d, "list-treeview");
store = gtk_list_store_new (NUM_USER_LIST_COLS,
@@ -1221,8 +1222,6 @@ setup_main_window (CcUserPanelPrivate *d)
match_user, NULL, NULL);
g_object_unref (model);
- g_signal_connect (d->um, "notify::is-loaded", G_CALLBACK (users_loaded), d);
-
gtk_widget_style_get (userlist, "expander-size", &expander_size, NULL);
gtk_tree_view_set_level_indentation (GTK_TREE_VIEW (userlist), - (expander_size + 6));
@@ -1326,6 +1325,12 @@ setup_main_window (CcUserPanelPrivate *d)
"*",
icon);
g_object_unref (icon);
+
+ g_object_get (d->um, "is-loaded", &loaded, NULL);
+ if (loaded)
+ users_loaded (d->um, NULL, d);
+ else
+ g_signal_connect (d->um, "notify::is-loaded", G_CALLBACK (users_loaded), d);
}
static void
@@ -1359,13 +1364,13 @@ cc_user_panel_init (CcUserPanel *self)
return;
}
- setup_main_window (d);
d->password_dialog = um_password_dialog_new ();
button = get_widget (d, "user-icon-button");
d->photo_dialog = um_photo_dialog_new (button);
d->main_box = get_widget (d, "accounts-vbox");
gtk_widget_reparent (d->main_box, GTK_WIDGET (self));
d->history_dialog = um_history_dialog_new ();
+ setup_main_window (d);
context = gtk_widget_get_style_context (get_widget (d, "list-scrolledwindow"));
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]