Mercurial > pidgin
changeset 4251:f68c4203d001
[gaim-migrate @ 4501]
This will cause gaim to ask you at login if you want to re-request
authorization for people that haven't authorized you. I was
"mistaken" earlier when I said it would do this. Also, I'll
probably end up shuffling this code around a little bit, since
there's some repetition there, now.
I think this is a decent alternative to having an "Awaiting
Authorization" group. I'd like to do something like that, but
it'll take time. And a right-click menu with a the option to
re-request authorization is probably possible. I'll try to do that
tonight.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 08 Jan 2003 17:49:35 +0000 |
parents | 3b884e35e6b5 |
children | 280ed2b617be |
files | src/protocols/oscar/oscar.c |
diffstat | 1 files changed, 29 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Wed Jan 08 08:22:16 2003 +0000 +++ b/src/protocols/oscar/oscar.c Wed Jan 08 17:49:35 2003 +0000 @@ -4097,13 +4097,36 @@ for (curitem=sess->ssi.local; curitem; curitem=curitem->next) { switch (curitem->type) { case 0x0000: { /* Buddy */ - if ((curitem->name) && (!find_buddy(gc, curitem->name))) { + if (curitem->name) { char *gname = aim_ssi_itemlist_findparentname(od->sess->ssi.local, curitem->name); - char *alias = aim_ssi_getalias(sess->ssi.local, gname, curitem->name); - debug_printf("ssi: adding buddy %s to group %s to local list\n", curitem->name, gname); - add_buddy(gc, (gname ? gname : "orphans"), curitem->name, alias); - free(alias); - tmp++; + if (!find_buddy(gc, curitem->name)) { + char *alias = aim_ssi_getalias(sess->ssi.local, gname, curitem->name); + debug_printf("ssi: adding buddy %s to group %s to local list\n", curitem->name, gname); + add_buddy(gc, (gname ? gname : "orphans"), curitem->name, alias); + free(alias); + tmp++; + } + if (curitem->name && gname && aim_ssi_waitingforauth(sess->ssi.local, gname, curitem->name)) { + struct name_data *data = g_new(struct name_data, 1); + gchar *dialog_msg, *nombre; + struct buddy *buddy; + + buddy = find_buddy(gc, curitem->name); + if (buddy && (get_buddy_alias_only(buddy))) + nombre = g_strdup_printf("%s (%s)", curitem->name, get_buddy_alias_only(buddy)); + else + nombre = g_strdup(curitem->name); + + dialog_msg = g_strdup_printf(_("The user %s requires authorization before being added to a buddy list. Do you want to send an authorization request?"), nombre); + data->gc = gc; + data->name = g_strdup(curitem->name); + data->nick = NULL; + do_ask_dialog(_("Request Authorization"), dialog_msg, data, _("Request Authorization"), gaim_auth_request, _("Cancel"), gaim_auth_dontrequest, my_protocol->plug ? my_protocol->plug->handle : NULL, FALSE); + + g_free(dialog_msg); + g_free(nombre); + } + } } break;