Mercurial > pidgin
comparison libpurple/protocols/oscar/oscar.c @ 16882:5ade68b6a410
Pass the screenname properly to purple_account_request_authorization(), passing the nick (if available) separately. Store the nick for use in callbacks in data->nick where possible.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Sat, 05 May 2007 18:05:48 +0000 |
parents | 9f9c486a8aca |
children | 84e2c7cc590a |
comparison
equal
deleted
inserted
replaced
16881:a7052595b95a | 16882:5ade68b6a410 |
---|---|
5096 va_end(ap); | 5096 va_end(ap); |
5097 | 5097 |
5098 purple_debug_info("oscar", | 5098 purple_debug_info("oscar", |
5099 "ssi: %s has given you permission to add him to your buddy list\n", sn); | 5099 "ssi: %s has given you permission to add him to your buddy list\n", sn); |
5100 | 5100 |
5101 /* XXX Should data->nick store the alias and nombre just have the sn? -evands */ | |
5102 buddy = purple_find_buddy(gc->account, sn); | 5101 buddy = purple_find_buddy(gc->account, sn); |
5103 if (buddy && (purple_buddy_get_alias_only(buddy))) | 5102 if (buddy && (purple_buddy_get_alias_only(buddy))) |
5104 nombre = g_strdup_printf("%s (%s)", sn, purple_buddy_get_alias_only(buddy)); | 5103 nombre = g_strdup_printf("%s (%s)", sn, purple_buddy_get_alias_only(buddy)); |
5105 else | 5104 else |
5106 nombre = g_strdup(sn); | 5105 nombre = g_strdup(sn); |
5107 | 5106 |
5108 dialog_msg = g_strdup_printf(_("The user %s has given you permission to add you to their buddy list. Do you want to add them?"), nombre); | 5107 dialog_msg = g_strdup_printf(_("The user %s has given you permission to add you to their buddy list. Do you want to add them?"), nombre); |
5109 data = g_new(struct name_data, 1); | 5108 data = g_new(struct name_data, 1); |
5110 data->gc = gc; | 5109 data->gc = gc; |
5111 data->name = g_strdup(sn); | 5110 data->name = g_strdup(sn); |
5112 data->nick = NULL; | 5111 data->nick = (buddy ? g_strdup(purple_buddy_get_alias_only(buddy)) : NULL); |
5113 | 5112 |
5114 purple_request_yes_no(gc, NULL, _("Authorization Given"), dialog_msg, | 5113 purple_request_yes_no(gc, NULL, _("Authorization Given"), dialog_msg, |
5115 PURPLE_DEFAULT_ACTION_NONE, | 5114 PURPLE_DEFAULT_ACTION_NONE, |
5116 purple_connection_get_account(gc), sn, NULL, | 5115 purple_connection_get_account(gc), sn, NULL, |
5117 data, | 5116 data, |
5128 PurpleConnection *gc = od->gc; | 5127 PurpleConnection *gc = od->gc; |
5129 va_list ap; | 5128 va_list ap; |
5130 char *sn; | 5129 char *sn; |
5131 char *msg; | 5130 char *msg; |
5132 PurpleAccount *account = purple_connection_get_account(gc); | 5131 PurpleAccount *account = purple_connection_get_account(gc); |
5133 gchar *nombre; | |
5134 gchar *reason = NULL; | 5132 gchar *reason = NULL; |
5135 struct name_data *data; | 5133 struct name_data *data; |
5136 PurpleBuddy *buddy; | 5134 PurpleBuddy *buddy; |
5137 | 5135 |
5138 va_start(ap, fr); | 5136 va_start(ap, fr); |
5142 | 5140 |
5143 purple_debug_info("oscar", | 5141 purple_debug_info("oscar", |
5144 "ssi: received authorization request from %s\n", sn); | 5142 "ssi: received authorization request from %s\n", sn); |
5145 | 5143 |
5146 buddy = purple_find_buddy(account, sn); | 5144 buddy = purple_find_buddy(account, sn); |
5147 if (buddy && (purple_buddy_get_alias_only(buddy))) | |
5148 nombre = g_strdup_printf("%s (%s)", sn, purple_buddy_get_alias_only(buddy)); | |
5149 else | |
5150 nombre = g_strdup(sn); | |
5151 | 5145 |
5152 if (msg != NULL) | 5146 if (msg != NULL) |
5153 reason = purple_plugin_oscar_decode_im_part(account, sn, AIM_CHARSET_CUSTOM, 0x0000, msg, strlen(msg)); | 5147 reason = purple_plugin_oscar_decode_im_part(account, sn, AIM_CHARSET_CUSTOM, 0x0000, msg, strlen(msg)); |
5154 | 5148 |
5155 data = g_new(struct name_data, 1); | 5149 data = g_new(struct name_data, 1); |
5156 data->gc = gc; | 5150 data->gc = gc; |
5157 data->name = g_strdup(sn); | 5151 data->name = g_strdup(sn); |
5158 data->nick = NULL; | 5152 data->nick = (buddy ? g_strdup(purple_buddy_get_alias_only(buddy)) : NULL); |
5159 | 5153 |
5160 purple_account_request_authorization(account, nombre, NULL, NULL, | 5154 purple_account_request_authorization(account, sn, NULL, |
5155 (buddy ? purple_buddy_get_alias_only(buddy) : NULL), | |
5161 reason, buddy != NULL, G_CALLBACK(purple_auth_grant), | 5156 reason, buddy != NULL, G_CALLBACK(purple_auth_grant), |
5162 G_CALLBACK(purple_auth_dontgrant_msgprompt), data); | 5157 G_CALLBACK(purple_auth_dontgrant_msgprompt), data); |
5163 g_free(nombre); | |
5164 g_free(reason); | 5158 g_free(reason); |
5165 | 5159 |
5166 return 1; | 5160 return 1; |
5167 } | 5161 } |
5168 | 5162 |
5789 return; | 5783 return; |
5790 comment = aim_ssi_getcomment(od->ssi.local, g->name, buddy->name); | 5784 comment = aim_ssi_getcomment(od->ssi.local, g->name, buddy->name); |
5791 comment_utf8 = comment ? oscar_utf8_try_convert(gc->account, comment) : NULL; | 5785 comment_utf8 = comment ? oscar_utf8_try_convert(gc->account, comment) : NULL; |
5792 | 5786 |
5793 data->gc = gc; | 5787 data->gc = gc; |
5794 data->name = g_strdup(buddy->name); | 5788 data->name = g_strdup(purple_buddy_get_name(buddy)); |
5795 data->nick = NULL; | 5789 data->nick = g_strdup(purple_buddy_get_alias_only(buddy)); |
5796 | 5790 |
5797 title = g_strdup_printf(_("Buddy Comment for %s"), data->name); | 5791 title = g_strdup_printf(_("Buddy Comment for %s"), data->name); |
5798 purple_request_input(gc, title, _("Buddy Comment:"), NULL, | 5792 purple_request_input(gc, title, _("Buddy Comment:"), NULL, |
5799 comment_utf8, TRUE, FALSE, NULL, | 5793 comment_utf8, TRUE, FALSE, NULL, |
5800 _("_OK"), G_CALLBACK(oscar_ssi_editcomment), | 5794 _("_OK"), G_CALLBACK(oscar_ssi_editcomment), |