From: Richard Kettlewell Date: Fri, 18 Apr 2008 22:32:29 +0000 (+0100) Subject: Pick up user details rather than making them up. X-Git-Tag: 4.0~115^2~22 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/1bcd69c4cfd2f1080014b792a1dc15ed1883f1c5 Pick up user details rather than making them up. --- diff --git a/disobedience/users.c b/disobedience/users.c index d342c3f..6835d27 100644 --- a/disobedience/users.c +++ b/disobedience/users.c @@ -34,6 +34,8 @@ static GtkWidget *users_details_password; static GtkWidget *users_details_password2; //static GtkWidget *users_details_rights; +static const char *users_who, *users_email, *users_rights, *users_password; + static int usercmp(const void *a, const void *b) { return strcmp(*(char **)a, *(char **)b); } @@ -182,7 +184,6 @@ static void users_add_right_group(GtkWidget *table, } users_detail_generic(table, rowp, title, hbox); } - /** @brief Create the user details window * @param title Window title @@ -307,13 +308,32 @@ static void users_delete(GtkButton attribute((unused)) *button, } } +static void users_got_email(void attribute((unused)) *v, const char *value) { + users_email = value; +} + +static void users_got_rights(void attribute((unused)) *v, const char *value) { + users_rights = value; +} + +static void users_got_password(void attribute((unused)) *v, const char *value) { + users_password = value; + users_makedetails("editing user details", + users_who, + users_email, + users_rights, + users_password); +} + static void users_edit(GtkButton attribute((unused)) *button, gpointer attribute((unused)) userdata) { - char *who; - - if(!(who = users_getuser())) + if(!(users_who = users_getuser())) return; - users_makedetails("editing user details", who, "foo@bar", "play", "wobble"); + /* Schedule user lookups for all the properties we know about. This is all a + * bit ad-hoc but will do for now. */ + disorder_eclient_userinfo(client, users_got_email, users_who, "email", 0); + disorder_eclient_userinfo(client, users_got_rights, users_who, "rights", 0); + disorder_eclient_userinfo(client, users_got_password, users_who, "password", 0); } static const struct button users_buttons[] = {