static void
users_loaded (UmUserManager  *manager,
              UmLoginOptions *d)
{
        GSList *list, *l;
        UmUser *user;

        list = um_user_manager_list_users (manager);
        for (l = list; l; l = l->next) {
                user = l->data;
                user_added (manager, user, d);
        }
        g_slist_free (list);

        g_signal_connect (manager, "user-added", G_CALLBACK (user_added), d);
        g_signal_connect (manager, "user-removed", G_CALLBACK (user_removed), d);
        g_signal_connect (manager, "user-changed", G_CALLBACK (user_changed), d);
}
static void
users_loaded (UmUserManager     *manager,
              UmUserPanelPrivate *d)
{
    GSList *list, *l;
    UmUser *user;
    GtkWidget *dialog;

    if (um_user_manager_no_service (d->um)) {
        dialog = gtk_message_dialog_new (GTK_WINDOW (gtk_widget_get_toplevel (d->main_box)),
                                         GTK_DIALOG_MODAL,
                                         GTK_MESSAGE_OTHER,
                                         GTK_BUTTONS_CLOSE,
                                         _("Failed to contact the accounts service"));
        gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                _("Please make sure that the AccountService is installed and enabled."));
        g_signal_connect_swapped (dialog, "response",
                                  G_CALLBACK (gtk_widget_destroy),
                                  dialog);
        gtk_widget_show (dialog);

        gtk_widget_set_sensitive (d->main_box, FALSE);
    }

    list = um_user_manager_list_users (d->um);
    g_debug ("Got %d users\n", g_slist_length (list));

    g_signal_connect (d->um, "user-changed", G_CALLBACK (user_changed), d);

    for (l = list; l; l = l->next) {
        user = l->data;
        g_debug ("adding user %s\n", um_user_get_real_name (user));
        user_added (d->um, user, d);
    }
    g_slist_free (list);

    g_signal_connect (d->um, "user-added", G_CALLBACK (user_added), d);
    g_signal_connect (d->um, "user-removed", G_CALLBACK (user_removed), d);
}
示例#3
0
static void
users_loaded (ActUserManager *manager,
              GParamSpec *pspec,
              Accounts *accounts)
{
  if (act_user_manager_no_service (manager))
    g_warning ("Can't contact accountsservice");

  GSList *list = act_user_manager_list_users (accounts->um);

  g_signal_connect (accounts->um, "user-changed", G_CALLBACK (user_changed), accounts);
  g_signal_connect (accounts->um, "user-is-logged-in-changed", G_CALLBACK (user_changed), accounts);
  g_signal_connect (accounts->um, "user-added", G_CALLBACK (user_added), accounts);
  g_signal_connect (accounts->um, "user-removed", G_CALLBACK (user_removed), accounts);

  for (GSList *l = list; l; l = l->next)
    {
      ActUser *user = l->data;
      user_added (accounts->um, user, accounts);
    }
  g_slist_free (list);
}