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),