# HG changeset patch # User Evan Schoenberg # Date 1177590349 0 # Node ID 08db93bbd7981a1acf9b9c144f7a00c70532f7e7 # Parent a46a0362dc34d810ce9bde2d4efd5266830d5467 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl. diff -r a46a0362dc34 -r 08db93bbd798 ChangeLog.API --- a/ChangeLog.API Thu Apr 26 10:49:27 2007 +0000 +++ b/ChangeLog.API Thu Apr 26 12:25:49 2007 +0000 @@ -164,6 +164,14 @@ * gaim_gtk_buddy_icon_get_scale_size() was changed to accept an additional parameter which is used to determine what kind of scaling should be done, if any. + * purple_request_input(), purple_request_choice(), + purple_request_choice_varg(), purple_request_action(), + purple_request_action_varg(), purple_request_fields(), + purple_request_yes_no(), purple_request_ok_cancel(), + purple_request_accept_cancel(), purple_request_file(), and + purple_request_folder() was changed to accept account, who, and + conversation parameters for associating the request with an account, a + buddy, or a conversation. Removed: * gaim_gtk_sound_{get,set}_mute() (replaced by the /gaim/gtk/sound/mute diff -r a46a0362dc34 -r 08db93bbd798 finch/gntaccount.c --- a/finch/gntaccount.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntaccount.c Thu Apr 26 12:25:49 2007 +0000 @@ -612,7 +612,9 @@ purple_account_get_username(account)); purple_request_action(account, _("Delete Account"), prompt, NULL, 0, account, 2, - _("Delete"), really_delete_account, _("Cancel"), NULL); + _("Delete"), really_delete_account, _("Cancel"), + account, NULL, NULL, + NULL); g_free(prompt); } @@ -829,7 +831,9 @@ buffer = make_info(account, gc, remote_user, id, alias, msg); purple_request_action(NULL, NULL, _("Add buddy to your list?"), - buffer, PURPLE_DEFAULT_ACTION_NONE, data, 2, + buffer, PURPLE_DEFAULT_ACTION_NONE, + account, remote_user, NULL, + data, 2, _("Add"), G_CALLBACK(add_user_cb), _("Cancel"), G_CALLBACK(free_add_user_data)); g_free(buffer); @@ -901,12 +905,16 @@ aa->alias = g_strdup(alias); aa->account = account; uihandle = purple_request_action(NULL, _("Authorize buddy?"), buffer, NULL, - PURPLE_DEFAULT_ACTION_NONE, aa, 2, + PURPLE_DEFAULT_ACTION_NONE, + account, remote_user, NULL, + aa, 2, _("Authorize"), authorize_and_add_cb, _("Deny"), deny_no_add_cb); } else { uihandle = purple_request_action(NULL, _("Authorize buddy?"), buffer, NULL, - PURPLE_DEFAULT_ACTION_NONE, user_data, 2, + PURPLE_DEFAULT_ACTION_NONE, + account, remote_user, NULL, + user_data, 2, _("Authorize"), auth_cb, _("Deny"), deny_cb); } diff -r a46a0362dc34 -r 08db93bbd798 finch/gntblist.c --- a/finch/gntblist.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntblist.c Thu Apr 26 12:25:49 2007 +0000 @@ -313,7 +313,11 @@ purple_request_field_group_add_field(group, field); purple_request_fields(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."), - fields, _("Add"), G_CALLBACK(add_buddy_cb), _("Cancel"), NULL, NULL); + fields, + _("Add"), G_CALLBACK(add_buddy_cb), + _("Cancel"), NULL, + account, NULL, NULL, + NULL); } static void @@ -380,7 +384,9 @@ purple_request_fields(NULL, _("Add Chat"), NULL, _("You can edit more information from the context menu later."), - fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, NULL); + fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, + NULL, NULL, NULL, + NULL); } static void @@ -413,7 +419,9 @@ { purple_request_input(NULL, _("Add Group"), NULL, _("Enter the name of the group"), NULL, FALSE, FALSE, NULL, - _("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, NULL); + _("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, + NULL, NULL, NULL, + NULL); } static PurpleBlistUiOps blist_ui_ops = @@ -739,7 +747,9 @@ g_list_free(parts); purple_request_fields(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."), - fields, _("Edit"), G_CALLBACK(chat_components_edit_ok), _("Cancel"), NULL, chat); + fields, _("Edit"), G_CALLBACK(chat_components_edit_ok), _("Cancel"), NULL, + NULL, NULL, NULL, + chat); } static void @@ -927,7 +937,9 @@ text = PURPLE_BLIST_NODE_IS_GROUP(node) ? _("Rename") : _("Alias"); purple_request_input(node, text, prompt, _("Enter empty string to reset the name."), name, FALSE, FALSE, NULL, text, G_CALLBACK(rename_blist_node), - _("Cancel"), NULL, node); + _("Cancel"), NULL, + NULL, NULL, NULL, + node); g_free(prompt); } @@ -990,6 +1002,7 @@ static void finch_blist_remove_node_cb(PurpleBlistNode *node, PurpleBlistNode *selected) { + PurpleAccount *account = NULL; char *primary; const char *name, *sec = NULL; @@ -999,12 +1012,12 @@ name = purple_contact_get_alias(c); if (c->totalsize > 1) sec = _("Removing this contact will also remove all the buddies in the contact"); - } else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) + } else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) { name = purple_buddy_get_name((PurpleBuddy*)node); - else if (PURPLE_BLIST_NODE_IS_CHAT(node)) + account = purple_buddy_get_account((PurpleBuddy*)node); + } else if (PURPLE_BLIST_NODE_IS_CHAT(node)) { name = purple_chat_get_name((PurpleChat*)node); - else if (PURPLE_BLIST_NODE_IS_GROUP(node)) - { + } else if (PURPLE_BLIST_NODE_IS_GROUP(node)) { name = ((PurpleGroup*)node)->name; sec = _("Removing this group will also remove all the buddies in the group"); } @@ -1016,7 +1029,9 @@ /* XXX: anything to do with the returned ui-handle? */ purple_request_action(node, _("Confirm Remove"), primary, sec, - 1, node, 2, + 1, + account, name, NULL, + node, 2, _("Remove"), finch_blist_remove_node, _("Cancel"), NULL); g_free(primary); @@ -2052,6 +2067,7 @@ fields, _("OK"), G_CALLBACK(send_im_select_cb), _("Cancel"), NULL, + NULL, NULL, NULL, NULL); } diff -r a46a0362dc34 -r 08db93bbd798 finch/gntconn.c --- a/finch/gntconn.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntconn.c Thu Apr 26 12:25:49 2007 +0000 @@ -43,6 +43,7 @@ act, text); purple_request_action(account, _("Connection Error"), primary, secondary, 1, + account, NULL, NULL, account, 2, _("OK"), NULL, _("Connect"), diff -r a46a0362dc34 -r 08db93bbd798 finch/gntplugin.c --- a/finch/gntplugin.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntplugin.c Thu Apr 26 12:25:49 2007 +0000 @@ -333,6 +333,8 @@ } purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields, - _("Save"), G_CALLBACK(finch_request_save_in_prefs), _("Cancel"), NULL, NULL); + _("Save"), G_CALLBACK(finch_request_save_in_prefs), _("Cancel"), NULL, + NULL, NULL, NULL, + NULL); } diff -r a46a0362dc34 -r 08db93bbd798 finch/gntpounce.c --- a/finch/gntpounce.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntpounce.c Thu Apr 26 12:25:49 2007 +0000 @@ -647,7 +647,9 @@ pouncer = purple_account_get_username(account); pouncee = purple_pounce_get_pouncee(pounce); buf = g_strdup_printf(_("Are you sure you want to delete the pounce on %s for %s?"), pouncee, pouncer); - purple_request_action(pounce, NULL, buf, NULL, 0, pounce, 2, + purple_request_action(pounce, NULL, buf, NULL, 0, + account, pouncee, NULL, + pounce, 2, _("Delete"), pounces_manager_delete_confirm_cb, _("Cancel"), NULL); g_free(buf); diff -r a46a0362dc34 -r 08db93bbd798 finch/gntprefs.c --- a/finch/gntprefs.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntprefs.c Thu Apr 26 12:25:49 2007 +0000 @@ -232,6 +232,8 @@ add_pref_group(fields, _("Idle"), idle); purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields, - _("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings, NULL); + _("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings, + NULL, NULL, NULL, + NULL); } diff -r a46a0362dc34 -r 08db93bbd798 finch/gntrequest.c --- a/finch/gntrequest.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntrequest.c Thu Apr 26 12:25:49 2007 +0000 @@ -115,6 +115,7 @@ gboolean multiline, gboolean masked, gchar *hint, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { GntWidget *window, *box, *entry; @@ -170,6 +171,7 @@ const char *secondary, unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, va_list choices) { GntWidget *window, *combo, *box; @@ -212,6 +214,7 @@ static void* finch_request_action(const char *title, const char *primary, const char *secondary, unsigned int default_value, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, size_t actioncount, va_list actions) { @@ -339,6 +342,7 @@ const char *secondary, PurpleRequestFields *allfields, const char *ok, GCallback ok_cb, const char *cancel, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *userdata) { GntWidget *window, *box; @@ -576,6 +580,7 @@ finch_request_file(const char *title, const char *filename, gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { GntWidget *window = gnt_file_sel_new(); diff -r a46a0362dc34 -r 08db93bbd798 finch/gntstatus.c --- a/finch/gntstatus.c Thu Apr 26 10:49:27 2007 +0000 +++ b/finch/gntstatus.c Thu Apr 26 12:25:49 2007 +0000 @@ -135,8 +135,11 @@ ask = g_strdup_printf(_("Are you sure you want to delete \"%s\""), purple_savedstatus_get_title(saved)); - purple_request_action(saved, _("Delete Status"), ask, NULL, 0, saved, 2, - _("Delete"), really_delete_status, _("Cancel"), NULL); + purple_request_action(saved, _("Delete Status"), ask, NULL, 0, + NULL, NULL, NULL, + saved, 2, + _("Delete"), really_delete_status, + _("Cancel"), NULL); g_free(ask); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/account.c --- a/libpurple/account.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/account.c Thu Apr 26 12:25:49 2007 +0000 @@ -968,6 +968,7 @@ fields, _("OK"), ok_cb, _("Cancel"), cancel_cb, + account, NULL, NULL, user_data); g_free(primary); } @@ -1217,6 +1218,7 @@ fields, _("OK"), G_CALLBACK(change_password_cb), _("Cancel"), NULL, + account, NULL, NULL, account); } @@ -1250,7 +1252,9 @@ TRUE, FALSE, ((gc != NULL) && (gc->flags & PURPLE_CONNECTION_HTML) ? "html" : NULL), _("Save"), G_CALLBACK(set_user_info_cb), - _("Cancel"), NULL, account); + _("Cancel"), NULL, + account, NULL, NULL, + account); } void diff -r a46a0362dc34 -r 08db93bbd798 libpurple/conversation.c --- a/libpurple/conversation.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/conversation.c Thu Apr 26 12:25:49 2007 +0000 @@ -1159,9 +1159,11 @@ data[0] = conv; data[1] = (gpointer)message; - purple_request_action(conv, NULL, _("Send Message"), text, 0, data, 2, - _("_Send Message"), G_CALLBACK(purple_conv_send_confirm_cb), - _("Cancel"), NULL); + purple_request_action(conv, NULL, _("Send Message"), text, 0, + purple_conversation_get_account(conv), NULL, conv, + data, 2, + _("_Send Message"), G_CALLBACK(purple_conv_send_confirm_cb), + _("Cancel"), NULL); } void diff -r a46a0362dc34 -r 08db93bbd798 libpurple/ft.c --- a/libpurple/ft.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/ft.c Thu Apr 26 12:25:49 2007 +0000 @@ -307,7 +307,9 @@ purple_request_file(xfer, NULL, purple_xfer_get_filename(xfer), (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE), G_CALLBACK(purple_xfer_choose_file_ok_cb), - G_CALLBACK(purple_xfer_choose_file_cancel_cb), xfer); + G_CALLBACK(purple_xfer_choose_file_cancel_cb), + purple_xfer_get_account(xfer), xfer->who, NULL, + xfer); return 0; } @@ -353,7 +355,9 @@ xfer->who, xfer->message, 0, time(NULL)); purple_request_accept_cancel(xfer, NULL, buf, NULL, - PURPLE_DEFAULT_ACTION_NONE, xfer, + PURPLE_DEFAULT_ACTION_NONE, + xfer->account, xfer->who, NULL, + xfer, G_CALLBACK(purple_xfer_choose_file), G_CALLBACK(cancel_recv_cb)); @@ -394,7 +398,9 @@ purple_xfer_get_remote_ip(xfer), purple_xfer_get_remote_port(xfer)); purple_request_accept_cancel(xfer, NULL, buf, buf2, - PURPLE_DEFAULT_ACTION_NONE, xfer, + PURPLE_DEFAULT_ACTION_NONE, + xfer->account, xfer->who, NULL, + xfer, G_CALLBACK(ask_accept_ok), G_CALLBACK(ask_accept_cancel)); g_free(buf); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/plugins/autoaccept.c --- a/libpurple/plugins/autoaccept.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/plugins/autoaccept.c Thu Apr 26 12:25:49 2007 +0000 @@ -162,10 +162,13 @@ purple_request_choice(plugin, _("Set Autoaccept Setting"), message, NULL, purple_blist_node_get_int(node, "autoaccept"), _("_Save"), G_CALLBACK(save_cb), - _("_Cancel"), NULL, node, + _("_Cancel"), NULL, + NULL, NULL, NULL, + node, _("Ask"), FT_ASK, _("Auto Accept"), FT_ACCEPT, _("Auto Reject"), FT_REJECT, + NULL, purple_contact_get_alias((PurpleContact *)node), NULL, NULL); g_free(message); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/plugins/buddynote.c --- a/libpurple/plugins/buddynote.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/plugins/buddynote.c Thu Apr 26 12:25:49 2007 +0000 @@ -49,6 +49,7 @@ note, TRUE, FALSE, "html", _("Save"), G_CALLBACK(do_it_cb), _("Cancel"), G_CALLBACK(dont_do_it_cb), + NULL, NULL, NULL, node); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/plugins/idle.c --- a/libpurple/plugins/idle.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/plugins/idle.c Thu Apr 26 12:25:49 2007 +0000 @@ -168,6 +168,7 @@ request, _("_Set"), G_CALLBACK(idle_action_ok), _("_Cancel"), NULL, + NULL, NULL, NULL, NULL); } @@ -201,6 +202,7 @@ request, _("_Unset"), G_CALLBACK(unidle_action_ok), _("_Cancel"), NULL, + NULL, NULL, NULL, NULL); } @@ -226,6 +228,7 @@ request, _("_Set"), G_CALLBACK(idle_all_action_ok), _("_Cancel"), NULL, + NULL, NULL, NULL, NULL); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/plugins/offlinemsg.c --- a/libpurple/plugins/offlinemsg.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/plugins/offlinemsg.c Thu Apr 26 12:25:49 2007 +0000 @@ -155,7 +155,9 @@ purple_request_action(handle, _("Offline Message"), ask, _("You can edit/delete the pounce from the `Buddy Pounces' dialog"), - 1, offline, 2, + 1, + offline->account, offline->who, offline->conv, + offline, 2, _("Yes"), record_pounce, _("No"), cancel_poune); g_free(ask); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/plugins/perl/common/Request.xs --- a/libpurple/plugins/perl/common/Request.xs Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/plugins/perl/common/Request.xs Thu Apr 26 12:25:49 2007 +0000 @@ -106,7 +106,7 @@ gpr->cancel_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(cancel_cb, len)); g_free(basename); - RETVAL = purple_request_input(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, G_CALLBACK(purple_perl_request_ok_cb), cancel_text, G_CALLBACK(purple_perl_request_cancel_cb), gpr); + RETVAL = purple_request_input(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, G_CALLBACK(purple_perl_request_ok_cb), cancel_text, G_CALLBACK(purple_perl_request_cancel_cb), NULL, NULL, NULL, gpr); OUTPUT: RETVAL @@ -130,7 +130,7 @@ gpr->cancel_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(cancel_cb, len)); g_free(basename); - RETVAL = purple_request_file(handle, title, filename, savedialog, G_CALLBACK(purple_perl_request_ok_cb), G_CALLBACK(purple_perl_request_cancel_cb), gpr); + RETVAL = purple_request_file(handle, title, filename, savedialog, G_CALLBACK(purple_perl_request_ok_cb), G_CALLBACK(purple_perl_request_cancel_cb), NULL, NULL, NULL, gpr); OUTPUT: RETVAL @@ -157,7 +157,7 @@ gpr->cancel_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(cancel_cb, len)); g_free(basename); - RETVAL = purple_request_fields(handle, title, primary, secondary, fields, ok_text, G_CALLBACK(purple_perl_request_ok_cb), cancel_text, G_CALLBACK(purple_perl_request_cancel_cb), gpr); + RETVAL = purple_request_fields(handle, title, primary, secondary, fields, ok_text, G_CALLBACK(purple_perl_request_ok_cb), cancel_text, G_CALLBACK(purple_perl_request_cancel_cb), NULL, NULL, NULL, gpr); OUTPUT: RETVAL diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/gg/gg.c --- a/libpurple/protocols/gg/gg.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/gg/gg.c Thu Apr 26 12:25:49 2007 +0000 @@ -334,7 +334,9 @@ PurpleConnection *gc = (PurpleConnection *)action->context; purple_request_file(action, _("Save buddylist..."), NULL, TRUE, - G_CALLBACK(ggp_callback_buddylist_save_ok), NULL, gc); + G_CALLBACK(ggp_callback_buddylist_save_ok), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } /* }}} */ @@ -346,7 +348,9 @@ PurpleConnection *gc = (PurpleConnection *)action->context; purple_request_file(action, "Load buddylist from file...", NULL, FALSE, - G_CALLBACK(ggp_callback_buddylist_load_ok), NULL, gc); + G_CALLBACK(ggp_callback_buddylist_load_ok), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } /* }}} */ @@ -496,6 +500,7 @@ fields, _("OK"), G_CALLBACK(ggp_callback_register_account_ok), _("Cancel"), G_CALLBACK(ggp_callback_register_account_cancel), + purple_connection_get_account(gc), NULL, NULL, gc); } /* }}} */ @@ -654,6 +659,7 @@ fields, _("OK"), G_CALLBACK(ggp_callback_find_buddies), _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, gc); } /* }}} */ @@ -789,7 +795,9 @@ _("Change Gadu-Gadu Password"), msg, fields, _("OK"), G_CALLBACK(ggp_callback_change_passwd_ok), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); g_free(msg); } @@ -868,7 +876,9 @@ msg, fields, _("Add"), G_CALLBACK(ggp_callback_add_to_chat_ok), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); g_free(msg); } /* }}} */ diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/jabber/auth.c --- a/libpurple/protocols/jabber/auth.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/jabber/auth.c Thu Apr 26 12:25:49 2007 +0000 @@ -480,7 +480,9 @@ purple_request_yes_no(js->gc, _("Plaintext Authentication"), _("Plaintext Authentication"), _("This server requires plaintext authentication over an unencrypted connection. Allow this and continue authentication?"), - 2, js->gc->account, allow_plaintext_auth, + 2, + purple_connection_get_account(js->gc), NULL, NULL, + purple_connection_get_account(js->gc), allow_plaintext_auth, disallow_plaintext_auth); return; } @@ -562,7 +564,9 @@ purple_request_yes_no(js->gc, _("Plaintext Authentication"), _("Plaintext Authentication"), _("This server requires plaintext authentication over an unencrypted connection. Allow this and continue authentication?"), - 2, js->gc->account, allow_plaintext_auth, + 2, + purple_connection_get_account(js->gc), NULL, NULL, + purple_connection_get_account(js->gc), allow_plaintext_auth, disallow_plaintext_auth); return; } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/jabber/buddy.c --- a/libpurple/protocols/jabber/buddy.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.c Thu Apr 26 12:25:49 2007 +0000 @@ -586,6 +586,7 @@ fields, _("Save"), G_CALLBACK(jabber_format_info), _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, gc); } @@ -1765,7 +1766,9 @@ purple_request_fields(js->gc, _("Search for Jabber users"), _("Search for Jabber users"), instructions, fields, _("Search"), G_CALLBACK(user_search_cb), - _("Cancel"), G_CALLBACK(user_search_cancel_cb), usi); + _("Cancel"), G_CALLBACK(user_search_cancel_cb), + NULL, NULL, NULL, + usi); g_free(instructions); } @@ -1799,7 +1802,9 @@ js->user_directories ? js->user_directories->data : "users.jabber.org", FALSE, FALSE, NULL, _("Search Directory"), PURPLE_CALLBACK(jabber_user_search_ok), - _("Cancel"), NULL, js); + _("Cancel"), NULL, + NULL, NULL, NULL, + js); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/jabber/chat.c --- a/libpurple/protocols/jabber/chat.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/jabber/chat.c Thu Apr 26 12:25:49 2007 +0000 @@ -785,7 +785,9 @@ js->chat_servers ? js->chat_servers->data : "conference.jabber.org", FALSE, FALSE, NULL, _("Find Rooms"), PURPLE_CALLBACK(roomlist_ok_cb), - _("Cancel"), PURPLE_CALLBACK(roomlist_cancel_cb), js); + _("Cancel"), PURPLE_CALLBACK(roomlist_cancel_cb), + purple_connection_get_account(gc), NULL, NULL, + js); return js->roomlist; } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/jabber/jabber.c Thu Apr 26 12:25:49 2007 +0000 @@ -871,7 +871,9 @@ purple_request_fields(js->gc, _("Register New Jabber Account"), _("Register New Jabber Account"), instructions, fields, _("Register"), G_CALLBACK(jabber_register_cb), - _("Cancel"), G_CALLBACK(jabber_register_cancel_cb), js); + _("Cancel"), G_CALLBACK(jabber_register_cancel_cb), + purple_connection_get_account(js->gc), NULL, NULL, + js); g_free(instructions); } @@ -1366,7 +1368,9 @@ purple_request_fields(js->gc, _("Change Jabber Password"), _("Change Jabber Password"), _("Please enter your new password"), fields, _("OK"), G_CALLBACK(jabber_password_change_cb), - _("Cancel"), NULL, js); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + js); } GList *jabber_actions(PurplePlugin *plugin, gpointer context) diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/jabber/presence.c --- a/libpurple/protocols/jabber/presence.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/jabber/presence.c Thu Apr 26 12:25:49 2007 +0000 @@ -358,10 +358,11 @@ _("You are creating a new room. Would" " you like to configure it, or" " accept the default settings?"), - 1, chat, 2, _("_Configure Room"), - G_CALLBACK(jabber_chat_request_room_configure), - _("_Accept Defaults"), - G_CALLBACK(jabber_chat_create_instant_room)); + /* Default Action */ 1, + purple_connection_get_account(js->gc), NULL, chat->conv, + chat, 2, + _("_Configure Room"), G_CALLBACK(jabber_chat_request_room_configure), + _("_Accept Defaults"), G_CALLBACK(jabber_chat_create_instant_room)); } } } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/jabber/xdata.c --- a/libpurple/protocols/jabber/xdata.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/jabber/xdata.c Thu Apr 26 12:25:49 2007 +0000 @@ -334,7 +334,9 @@ handle = purple_request_fields(js->gc, title, title, instructions, fields, _("OK"), G_CALLBACK(jabber_x_data_ok_cb), - _("Cancel"), G_CALLBACK(jabber_x_data_cancel_cb), data); + _("Cancel"), G_CALLBACK(jabber_x_data_cancel_cb), + purple_connection_get_account(js->gc), /* XXX Do we have a who here? */ NULL, NULL, + data); g_free(title); g_free(instructions); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/msn/dialog.c --- a/libpurple/protocols/msn/dialog.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/msn/dialog.c Thu Apr 26 12:25:49 2007 +0000 @@ -128,6 +128,7 @@ } purple_request_action(gc, NULL, msg, reason, PURPLE_DEFAULT_ACTION_NONE, + purple_connection_get_account(gc), data->who, NULL, data, 2, _("Yes"), G_CALLBACK(msn_add_cb), _("No"), G_CALLBACK(msn_rem_cb)); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Thu Apr 26 12:25:49 2007 +0000 @@ -247,7 +247,9 @@ "see you as."), purple_connection_get_display_name(gc), FALSE, FALSE, NULL, _("OK"), G_CALLBACK(msn_act_id), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void @@ -262,7 +264,9 @@ purple_request_input(gc, NULL, _("Set your home phone number."), NULL, msn_user_get_home_phone(session->user), FALSE, FALSE, NULL, _("OK"), G_CALLBACK(msn_set_home_phone_cb), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void @@ -277,7 +281,9 @@ purple_request_input(gc, NULL, _("Set your work phone number."), NULL, msn_user_get_work_phone(session->user), FALSE, FALSE, NULL, _("OK"), G_CALLBACK(msn_set_work_phone_cb), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void @@ -292,7 +298,9 @@ purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL, msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL, _("OK"), G_CALLBACK(msn_set_mobile_phone_cb), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void @@ -306,7 +314,9 @@ _("Do you want to allow or disallow people on " "your buddy list to send you MSN Mobile pages " "to your cell phone or other mobile device?"), - -1, gc, 3, + -1, + purple_connection_get_account(gc), NULL, NULL, + gc, 3, _("Allow"), G_CALLBACK(enable_msn_pages_cb), _("Disallow"), G_CALLBACK(disable_msn_pages_cb), _("Cancel"), NULL); @@ -354,6 +364,7 @@ NULL, TRUE, FALSE, NULL, _("Page"), G_CALLBACK(send_to_mobile_cb), _("Close"), G_CALLBACK(close_mobile_page_cb), + purple_connection_get_account(gc), purple_buddy_get_name(buddy), NULL, data); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/novell/novell.c --- a/libpurple/protocols/novell/novell.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/novell/novell.c Thu Apr 26 12:25:49 2007 +0000 @@ -1911,7 +1911,9 @@ /* Prompt the user */ gc = purple_account_get_connection(user->client_data); purple_request_action(gc, title, primary, secondary, - PURPLE_DEFAULT_ACTION_NONE, parms, 2, + PURPLE_DEFAULT_ACTION_NONE, + purple_connection_get_account(gc), name, NULL, + parms, 2, _("Yes"), G_CALLBACK(_join_conference_cb), _("No"), G_CALLBACK(_reject_conference_cb)); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Thu Apr 26 12:25:49 2007 +0000 @@ -1432,6 +1432,7 @@ FALSE, FALSE, NULL, _("_OK"), G_CALLBACK(purple_parse_auth_securid_request_yes_cb), _("_Cancel"), G_CALLBACK(purple_parse_auth_securid_request_no_cb), + account, NULL, NULL, gc); g_free(primary); @@ -2255,6 +2256,7 @@ NULL, _("Please authorize me!"), TRUE, FALSE, NULL, _("_OK"), G_CALLBACK(purple_auth_request), _("_Cancel"), G_CALLBACK(purple_auth_dontrequest), + purple_connection_get_account(gc), name, NULL, data); } @@ -2301,6 +2303,7 @@ NULL, _("No reason given."), TRUE, FALSE, NULL, _("_OK"), G_CALLBACK(purple_auth_dontgrant), _("_Cancel"), G_CALLBACK(oscar_free_name_data), + purple_connection_get_account(data->gc), data->name, NULL, data); } @@ -2485,7 +2488,9 @@ purple_request_action(gc, NULL, message, _("Do you want to add this buddy " "to your buddy list?"), - PURPLE_DEFAULT_ACTION_NONE, data, 2, + PURPLE_DEFAULT_ACTION_NONE, + purple_connection_get_account(gc), data->name, NULL, + data, 2, _("_Add"), G_CALLBACK(purple_icq_buddyadd), _("_Decline"), G_CALLBACK(oscar_free_name_data)); g_free(message); @@ -5149,6 +5154,7 @@ purple_debug_info("oscar", "ssi: %s has given you permission to add him to your buddy list\n", sn); + /* XXX Should data->nick store the alias and nombre just have the sn? -evands */ buddy = purple_find_buddy(gc->account, sn); if (buddy && (purple_buddy_get_alias_only(buddy))) nombre = g_strdup_printf("%s (%s)", sn, purple_buddy_get_alias_only(buddy)); @@ -5162,7 +5168,9 @@ data->nick = NULL; purple_request_yes_no(gc, NULL, _("Authorization Given"), dialog_msg, - PURPLE_DEFAULT_ACTION_NONE, data, + PURPLE_DEFAULT_ACTION_NONE, + purple_connection_get_account(gc), sn, NULL, + data, G_CALLBACK(purple_icq_buddyadd), G_CALLBACK(oscar_free_name_data)); @@ -5857,6 +5865,7 @@ comment_utf8, TRUE, FALSE, NULL, _("_OK"), G_CALLBACK(oscar_ssi_editcomment), _("_Cancel"), G_CALLBACK(oscar_free_name_data), + purple_connection_get_account(gc), data->name, NULL, data); g_free(title); @@ -5906,7 +5915,9 @@ _("Because this reveals your IP address, it " "may be considered a security risk. Do you " "wish to continue?"), - 0, data, 2, + 0, + purple_connection_get_account(gc), data->who, NULL, + data, 2, _("C_onnect"), G_CALLBACK(oscar_ask_directim_yes_cb), _("_Cancel"), G_CALLBACK(oscar_ask_directim_no_cb)); g_free(buf); @@ -6061,7 +6072,9 @@ purple_request_fields(gc, _("ICQ Privacy Options"), _("ICQ Privacy Options"), NULL, fields, _("OK"), G_CALLBACK(oscar_icq_privacy_opts), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void oscar_format_screenname(PurpleConnection *gc, const char *nick) { @@ -6133,6 +6146,7 @@ FALSE, FALSE, NULL, _("_OK"), G_CALLBACK(oscar_change_email), _("_Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, gc); } @@ -6201,7 +6215,9 @@ "searching for."), NULL, FALSE, FALSE, NULL, _("_Search"), G_CALLBACK(search_by_email_cb), - _("_Cancel"), NULL, gc); + _("_Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void oscar_show_set_info(PurplePluginAction *action) diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/oscar/peer.c --- a/libpurple/protocols/oscar/peer.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/oscar/peer.c Thu Apr 26 12:25:49 2007 +0000 @@ -1016,7 +1016,9 @@ "Images. Because your IP address will be " "revealed, this may be considered a privacy " "risk."), - PURPLE_DEFAULT_ACTION_NONE, conn, 2, + PURPLE_DEFAULT_ACTION_NONE, + account, sn, NULL, + conn, 2, _("_Connect"), G_CALLBACK(peer_connection_got_proposition_yes_cb), _("Cancel"), G_CALLBACK(peer_connection_got_proposition_no_cb)); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/buddy_info.c --- a/libpurple/protocols/qq/buddy_info.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/buddy_info.c Thu Apr 26 12:25:49 2007 +0000 @@ -482,6 +482,7 @@ _("Modify my information"), NULL, fields, _("Update my information"), G_CALLBACK(modify_info_ok_cb), _("Cancel"), G_CALLBACK(modify_info_cancel_cb), + purple_connection_get_account(gc), NULL, NULL, mid); } } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/buddy_opt.c --- a/libpurple/protocols/qq/buddy_opt.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/buddy_opt.c Thu Apr 26 12:25:49 2007 +0000 @@ -191,6 +191,7 @@ gchar *msg1, *msg2; PurpleConnection *gc; gc_and_uid *g2; + gchar *nombre; g_return_if_fail(g != NULL); @@ -207,9 +208,13 @@ msg1 = g_strdup_printf(_("You rejected %d's request"), uid); msg2 = g_strdup(_("Input your reason:")); + nombre = uid_to_purple_name(uid); purple_request_input(gc, _("Reject request"), msg1, msg2, _("Sorry, you are not my type..."), TRUE, FALSE, - NULL, _("Reject"), G_CALLBACK(_qq_reject_add_request_real), _("Cancel"), NULL, g2); + NULL, _("Reject"), G_CALLBACK(_qq_reject_add_request_real), _("Cancel"), NULL, + purple_connection_get_account(gc), nombre, NULL, + g2); + g_free(nombre); } void qq_add_buddy_with_gc_and_uid(gc_and_uid *g) @@ -345,6 +350,7 @@ PurpleBuddy *b; gc_and_uid *g; qq_add_buddy_request *req; + gchar *nombre; g_return_if_fail(buf != NULL && buf_len != 0); @@ -386,7 +392,8 @@ if (strtol(reply, NULL, 10) > 0) { /* need auth */ purple_debug(PURPLE_DEBUG_WARNING, "QQ", "Add buddy attempt fails, need authentication\n"); - b = purple_find_buddy(gc->account, uid_to_purple_name(for_uid)); + nombre = uid_to_purple_name(for_uid); + b = purple_find_buddy(gc->account, nombre); if (b != NULL) purple_blist_remove_buddy(b); g = g_new0(gc_and_uid, 1); @@ -394,13 +401,16 @@ g->uid = for_uid; msg = g_strdup_printf(_("User %d needs authentication"), for_uid); purple_request_input(gc, NULL, msg, - _("Input request here"), + _("Input request here"), /* TODO: Awkward string to fix post string freeze - standardize auth dialogues? -evands */ _("Would you be my friend?"), TRUE, FALSE, NULL, _("Send"), G_CALLBACK (_qq_send_packet_add_buddy_auth_with_gc_and_uid), - _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), g); + _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), + purple_connection_get_account(gc), nombre, NULL, + g); g_free(msg); + g_free(nombre); } else { /* add OK */ qq_add_buddy_by_recv_packet(gc, for_uid, TRUE, TRUE); msg = g_strdup_printf(_("You have added %d in buddy list"), for_uid); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/group.c --- a/libpurple/protocols/qq/group.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/group.c Thu Apr 26 12:25:49 2007 +0000 @@ -122,6 +122,7 @@ NULL, FALSE, FALSE, NULL, _("Search"), G_CALLBACK(_qq_group_search_callback), _("Cancel"), G_CALLBACK(_qq_group_search_cancel_callback), + purple_connection_get_account(gc), NULL, NULL, gc); return qd->roomlist; diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/group_im.c --- a/libpurple/protocols/qq/group_im.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/group_im.c Thu Apr 26 12:25:49 2007 +0000 @@ -104,6 +104,7 @@ guint8 group_type; gchar *reason_utf8, *msg, *reason; group_member_opt *g; + gchar *nombre; g_return_if_fail(internal_group_id > 0 && data != NULL && len > 0); @@ -128,9 +129,13 @@ g->internal_group_id = internal_group_id; g->member = user_uid; + nombre = uid_to_purple_name(user_uid); + purple_request_action(gc, _("QQ Qun Operation"), msg, reason, - 2, g, 3, + 2, + purple_connection_get_account(gc), nombre, NULL, + g, 3, _("Approve"), G_CALLBACK (qq_group_approve_application_with_struct), @@ -139,6 +144,7 @@ (qq_group_reject_application_with_struct), _("Search"), G_CALLBACK(qq_group_search_application_with_struct)); + g_free(nombre); g_free(reason); g_free(msg); g_free(reason_utf8); diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/group_join.c --- a/libpurple/protocols/qq/group_join.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/group_join.c Thu Apr 26 12:25:49 2007 +0000 @@ -135,7 +135,9 @@ _("Would you be my friend?"), TRUE, FALSE, NULL, _("Send"), G_CALLBACK(_qq_group_join_auth_with_gc_and_id), - _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), g); + _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), + purple_connection_get_account(gc), group->group_name_utf8, NULL, + g); g_free(msg); } @@ -356,7 +358,9 @@ _("Are you sure to exit this Qun?"), _ ("Note, if you are the creator, \nthis operation will eventually remove this Qun."), - 1, g, 2, _("Cancel"), + 1, + purple_connection_get_account(gc), NULL, NULL, + g, 2, _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), _("Go ahead"), G_CALLBACK(_qq_group_exit_with_gc_and_id)); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/group_opt.c --- a/libpurple/protocols/qq/group_opt.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/group_opt.c Thu Apr 26 12:25:49 2007 +0000 @@ -120,29 +120,33 @@ g_return_if_fail(g != NULL && g->gc != NULL && g->member > 0); qq_send_packet_get_info(g->gc, g->member, TRUE); /* we wanna see window */ - purple_request_action - (g->gc, NULL, _("Do you wanna approve the request?"), "", 2, g, - 2, _("Reject"), - G_CALLBACK(qq_group_reject_application_with_struct), - _("Approve"), G_CALLBACK(qq_group_approve_application_with_struct)); + purple_request_action(g->gc, NULL, _("Do you wanna approve the request?"), "", 2, + purple_connection_get_account(g->gc), NULL, NULL, + g, 2, + _("Reject"), G_CALLBACK(qq_group_reject_application_with_struct), + _("Approve"), G_CALLBACK(qq_group_approve_application_with_struct)); } void qq_group_reject_application_with_struct(group_member_opt *g) { - gchar *msg1, *msg2; + gchar *msg1, *msg2, *nombre; g_return_if_fail(g != NULL && g->gc != NULL && g->member > 0); msg1 = g_strdup_printf(_("You rejected %d's request"), g->member); msg2 = g_strdup(_("Input your reason:")); - purple_request_input(g->gc, NULL, msg1, msg2, - _("Sorry, you are not my type..."), TRUE, FALSE, - NULL, _("Send"), - G_CALLBACK(_qq_group_reject_application_real), - _("Cancel"), G_CALLBACK(_qq_group_do_nothing_with_struct), g); + nombre = uid_to_purple_name(g->member); + purple_request_input(g->gc, /* title */ NULL, msg1, msg2, + _("Sorry, you are not my type..."), /* multiline */ TRUE, /* masked */ FALSE, + /* hint */ NULL, + _("Send"), G_CALLBACK(_qq_group_reject_application_real), + _("Cancel"), G_CALLBACK(_qq_group_do_nothing_with_struct), + purple_connection_get_account(g->gc), nombre, NULL, + g); g_free(msg1); g_free(msg2); + g_free(nombre); } void qq_group_approve_application_with_struct(group_member_opt *g) @@ -387,8 +391,10 @@ _("You have successfully created a Qun"), _ ("Would you like to set up the Qun details now?"), - 1, g, 2, _("Setup"), - G_CALLBACK(qq_group_setup_with_gc_and_uid), + 1, + purple_connection_get_account(gc), NULL, NULL, + g, 2, + _("Setup"), G_CALLBACK(qq_group_setup_with_gc_and_uid), _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid)); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/qq/sys_msg.c --- a/libpurple/protocols/qq/sys_msg.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/qq/sys_msg.c Thu Apr 26 12:25:49 2007 +0000 @@ -72,6 +72,7 @@ { PurpleConnection *gc; guint32 uid; + gchar *nombre; g_return_if_fail(g != NULL); @@ -80,17 +81,23 @@ g_return_if_fail(gc != 0 && uid != 0); qq_send_packet_get_info(gc, uid, TRUE); /* we wanna see window */ + + nombre = uid_to_purple_name(uid); + /* TODO: 'wanna' is not an appropriate word for this string. Fix after string freeze. */ purple_request_action - (gc, NULL, _("Do you wanna approve the request?"), "", 2, g, 2, - _("Reject"), - G_CALLBACK(qq_reject_add_request_with_gc_and_uid), + (gc, NULL, _("Do you wanna approve the request?"), "", 2, + purple_connection_get_account(gc), nombre, NULL, + g, 2, + _("Reject"), G_CALLBACK(qq_reject_add_request_with_gc_and_uid), _("Approve"), G_CALLBACK(qq_approve_add_request_with_gc_and_uid)); + g_free(nombre); } static void _qq_search_before_add_with_gc_and_uid(gc_and_uid *g) { PurpleConnection *gc; guint32 uid; + gchar *nombre; g_return_if_fail(g != NULL); @@ -99,9 +106,15 @@ g_return_if_fail(gc != 0 && uid != 0); qq_send_packet_get_info(gc, uid, TRUE); /* we wanna see window */ + /* TODO: 'wanna' is not an appropriate word for this string. Fix after string freeze. */ + nombre = uid_to_purple_name(uid); purple_request_action - (gc, NULL, _("Do you wanna add this buddy?"), "", 2, g, 2, - _("Cancel"), NULL, _("Add"), G_CALLBACK(qq_add_buddy_with_gc_and_uid)); + (gc, NULL, _("Do you wanna add this buddy?"), "", 2, + purple_connection_get_account(gc), nombre, NULL, + g, 2, + _("Cancel"), NULL, + _("Add"), G_CALLBACK(qq_add_buddy_with_gc_and_uid)); + g_free(nombre); } /* Send ACK if the sys message needs an ACK */ @@ -147,7 +160,7 @@ uid = strtol(from, NULL, 10); name = uid_to_purple_name(uid); b = purple_find_buddy(gc->account, name); - g_free(name); + if (b == NULL) { /* the person is not in my list */ g = g_new0(gc_and_uid, 1); g->gc = gc; @@ -155,10 +168,11 @@ message = g_strdup_printf(_("You have been added by %s"), from); _qq_sys_msg_log_write(gc, message, from); purple_request_action(gc, NULL, message, - _("Would like to add him?"), 2, g, 3, - _("Cancel"), NULL, _("Add"), - G_CALLBACK - (qq_add_buddy_with_gc_and_uid), + _("Would like to add him?"), 2, + purple_connection_get_account(gc), name, NULL, + g, 3, + _("Cancel"), NULL, + _("Add"), G_CALLBACK(qq_add_buddy_with_gc_and_uid), _("Search"), G_CALLBACK(_qq_search_before_add_with_gc_and_uid)); } else { message = g_strdup_printf(_("%s has added you [%s]"), from, to); @@ -166,6 +180,7 @@ purple_notify_info(gc, NULL, message, NULL); } + g_free(name); g_free(message); } @@ -219,12 +234,18 @@ g->gc = gc; g->uid = uid; + name = uid_to_purple_name(uid); + + /* TODO: 'wanna' is not an appropriate word for this string. Fix after string freeze */ + /* TODO: this should go through purple_account_request_authorization() */ message = g_strdup_printf(_("%s wanna add you [%s] as friends"), from, to); reason = g_strdup_printf(_("Message: %s"), msg_utf8); _qq_sys_msg_log_write(gc, message, from); purple_request_action - (gc, NULL, message, reason, 2, g, 3, + (gc, NULL, message, reason, 2, + purple_connection_get_account(gc), name, NULL, + g, 3, _("Reject"), G_CALLBACK(qq_reject_add_request_with_gc_and_uid), _("Approve"), @@ -234,22 +255,24 @@ g_free(message); g_free(reason); - name = uid_to_purple_name(uid); + /* XXX: Is this needed once the above goes through purple_account_request_authorization()? */ b = purple_find_buddy(gc->account, name); - g_free(name); if (b == NULL) { /* the person is not in my list */ g2 = g_new0(gc_and_uid, 1); g2->gc = gc; g2->uid = strtol(from, NULL, 10); message = g_strdup_printf(_("%s is not in your buddy list"), from); purple_request_action(gc, NULL, message, - _("Would you like to add him?"), 2, g2, - 3, _("Cancel"), NULL, _("Add"), - G_CALLBACK - (qq_add_buddy_with_gc_and_uid), + _("Would you like to add him?"), 2, + purple_connection_get_account(gc), name, NULL, + g2, 3, + _("Cancel"), NULL, + _("Add"), G_CALLBACK(qq_add_buddy_with_gc_and_uid), _("Search"), G_CALLBACK(_qq_search_before_add_with_gc_and_uid)); g_free(message); } + + g_free(name); } void qq_process_msg_sys(guint8 *buf, gint buf_len, guint16 seq, PurpleConnection *gc) diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/sametime/sametime.c --- a/libpurple/protocols/sametime/sametime.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/sametime/sametime.c Thu Apr 26 12:25:49 2007 +0000 @@ -3387,6 +3387,7 @@ msgA, msg1, fields, _("Create"), G_CALLBACK(conf_create_prompt_join), _("Cancel"), G_CALLBACK(conf_create_prompt_cancel), + acct, purple_buddy_get_name(buddy), NULL, buddy); g_free(msg1); } @@ -3472,6 +3473,7 @@ msgA, msg, fields, _("Invite"), G_CALLBACK(conf_select_prompt_invite), _("Cancel"), G_CALLBACK(conf_select_prompt_cancel), + acct, purple_buddy_get_name(buddy), NULL, buddy); g_free(msg); } @@ -3642,6 +3644,7 @@ MW_PLUGIN_DEFAULT_HOST, FALSE, FALSE, NULL, _("Connect"), G_CALLBACK(prompt_host_ok_cb), _("Cancel"), G_CALLBACK(prompt_host_cancel_cb), + acct, NULL, NULL, gc); g_free(msg); @@ -5210,6 +5213,7 @@ purple_request_file(gc, title, NULL, FALSE, G_CALLBACK(st_import_action_cb), NULL, + account, NULL, NULL, gc); g_free(title); @@ -5249,6 +5253,7 @@ purple_request_file(gc, title, NULL, TRUE, G_CALLBACK(st_export_action_cb), NULL, + account, NULL, NULL, gc); g_free(title); @@ -5386,6 +5391,7 @@ msgA, msg, fields, _("Add Group"), G_CALLBACK(remote_group_multi_cb), _("Cancel"), G_CALLBACK(remote_group_multi_cleanup), + purple_connection_get_account(gc), result->name, NULL, pd); g_free(msg); @@ -5475,6 +5481,7 @@ FALSE, FALSE, NULL, _("Add"), G_CALLBACK(remote_group_action_cb), _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, gc); } @@ -5599,7 +5606,8 @@ FALSE, FALSE, NULL, _("Search"), G_CALLBACK(search_action_cb), _("Cancel"), NULL, - gc); + purple_connection_get_account(gc), NULL, NULL, + gc); } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Thu Apr 26 12:25:49 2007 +0000 @@ -985,7 +985,9 @@ purple_request_input(add_req->gc, NULL, _("Authorization denied message:"), NULL, _("No reason given."), TRUE, FALSE, NULL, _("OK"), G_CALLBACK(yahoo_buddy_add_deny_cb), - _("Cancel"), G_CALLBACK(yahoo_buddy_add_deny_noreason_cb), add_req); + _("Cancel"), G_CALLBACK(yahoo_buddy_add_deny_noreason_cb), + purple_connection_get_account(add_req->gc), add_req->who, NULL, + add_req); } static void yahoo_buddy_added_us(PurpleConnection *gc, struct yahoo_packet *pkt) { @@ -1890,7 +1892,9 @@ g_snprintf(buf, sizeof(buf), _("You have tried to ignore %s, but the " "user is on your buddy list. Clicking \"Yes\" " "will remove and ignore the buddy."), who); - purple_request_yes_no(gc, NULL, _("Ignore buddy?"), buf, 0, b, + purple_request_yes_no(gc, NULL, _("Ignore buddy?"), buf, 0, + gc->account, who, NULL, + b, G_CALLBACK(ignore_buddy), G_CALLBACK(keep_buddy)); break; @@ -3222,10 +3226,13 @@ static void yahoo_show_act_id(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; + /* XXX Typo: This should be _("Activate which ID?") - fix after string freeze is over */ purple_request_input(gc, NULL, _("Active which ID?"), NULL, purple_connection_get_display_name(gc), FALSE, FALSE, NULL, _("OK"), G_CALLBACK(yahoo_act_id), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static void yahoo_show_chat_goto(PurplePluginAction *action) @@ -3234,7 +3241,9 @@ purple_request_input(gc, NULL, _("Join who in chat?"), NULL, "", FALSE, FALSE, NULL, _("OK"), G_CALLBACK(yahoo_chat_goto), - _("Cancel"), NULL, gc); + _("Cancel"), NULL, + purple_connection_get_account(gc), NULL, NULL, + gc); } static GList *yahoo_actions(PurplePlugin *plugin, gpointer context) { diff -r a46a0362dc34 -r 08db93bbd798 libpurple/request.c --- a/libpurple/request.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/request.c Thu Apr 26 12:25:49 2007 +0000 @@ -1135,6 +1135,7 @@ gboolean multiline, gboolean masked, gchar *hint, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { PurpleRequestUiOps *ops; @@ -1155,6 +1156,7 @@ multiline, masked, hint, ok_text, ok_cb, cancel_text, cancel_cb, + account, who, conv, user_data); handles = g_list_append(handles, info); @@ -1170,6 +1172,7 @@ const char *secondary, unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, ...) { void *ui_handle; @@ -1181,7 +1184,8 @@ va_start(args, user_data); ui_handle = purple_request_choice_varg(handle, title, primary, secondary, default_value, ok_text, ok_cb, - cancel_text, cancel_cb, user_data, args); + cancel_text, cancel_cb, + account, who, conv, user_data, args); va_end(args); return ui_handle; @@ -1193,6 +1197,7 @@ unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, va_list choices) { PurpleRequestUiOps *ops; @@ -1212,6 +1217,7 @@ default_value, ok_text, ok_cb, cancel_text, cancel_cb, + account, who, conv, user_data, choices); handles = g_list_append(handles, info); @@ -1225,6 +1231,7 @@ void * purple_request_action(void *handle, const char *title, const char *primary, const char *secondary, unsigned int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, size_t action_count, ...) { void *ui_handle; @@ -1234,8 +1241,8 @@ va_start(args, action_count); ui_handle = purple_request_action_varg(handle, title, primary, secondary, - default_action, user_data, - action_count, args); + default_action, account, who, conv, + user_data, action_count, args); va_end(args); return ui_handle; @@ -1244,8 +1251,9 @@ void * purple_request_action_varg(void *handle, const char *title, const char *primary, const char *secondary, - unsigned int default_action, void *user_data, - size_t action_count, va_list actions) + unsigned int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, + void *user_data, size_t action_count, va_list actions) { PurpleRequestUiOps *ops; @@ -1260,8 +1268,8 @@ info->type = PURPLE_REQUEST_ACTION; info->handle = handle; info->ui_handle = ops->request_action(title, primary, secondary, - default_action, user_data, - action_count, actions); + default_action, account, who, conv, + user_data, action_count, actions); handles = g_list_append(handles, info); @@ -1276,6 +1284,7 @@ const char *secondary, PurpleRequestFields *fields, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { PurpleRequestUiOps *ops; @@ -1295,6 +1304,7 @@ info->ui_handle = ops->request_fields(title, primary, secondary, fields, ok_text, ok_cb, cancel_text, cancel_cb, + account, who, conv, user_data); handles = g_list_append(handles, info); @@ -1308,7 +1318,9 @@ void * purple_request_file(void *handle, const char *title, const char *filename, gboolean savedialog, - GCallback ok_cb, GCallback cancel_cb, void *user_data) + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + void *user_data) { PurpleRequestUiOps *ops; @@ -1321,7 +1333,8 @@ info->type = PURPLE_REQUEST_FILE; info->handle = handle; info->ui_handle = ops->request_file(title, filename, savedialog, - ok_cb, cancel_cb, user_data); + ok_cb, cancel_cb, + account, who, conv, user_data); handles = g_list_append(handles, info); return info->ui_handle; } @@ -1331,7 +1344,9 @@ void * purple_request_folder(void *handle, const char *title, const char *dirname, - GCallback ok_cb, GCallback cancel_cb, void *user_data) + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + void *user_data) { PurpleRequestUiOps *ops; @@ -1344,7 +1359,9 @@ info->type = PURPLE_REQUEST_FOLDER; info->handle = handle; info->ui_handle = ops->request_folder(title, dirname, - ok_cb, cancel_cb, user_data); + ok_cb, cancel_cb, + account, who, conv, + user_data); handles = g_list_append(handles, info); return info->ui_handle; } diff -r a46a0362dc34 -r 08db93bbd798 libpurple/request.h --- a/libpurple/request.h Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/request.h Thu Apr 26 12:25:49 2007 +0000 @@ -187,28 +187,34 @@ gboolean multiline, gboolean masked, gchar *hint, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data); void *(*request_choice)(const char *title, const char *primary, const char *secondary, unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, va_list choices); void *(*request_action)(const char *title, const char *primary, const char *secondary, unsigned int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, size_t action_count, va_list actions); void *(*request_fields)(const char *title, const char *primary, const char *secondary, PurpleRequestFields *fields, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data); void *(*request_file)(const char *title, const char *filename, - gboolean savedialog, GCallback ok_cb, - GCallback cancel_cb, void *user_data); + gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + void *user_data); void (*close_request)(PurpleRequestType type, void *ui_handle); void *(*request_folder)(const char *title, const char *dirname, - GCallback ok_cb, GCallback cancel_cb, - void *user_data); + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + void *user_data); } PurpleRequestUiOps; typedef void (*PurpleRequestInputCb)(void *, const char *); @@ -1172,6 +1178,9 @@ * @param ok_cb The callback for the @c OK button. * @param cancel_text The text for the @c Cancel button. * @param cancel_cb The callback for the @c Cancel button. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1182,6 +1191,7 @@ gboolean multiline, gboolean masked, gchar *hint, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data); /** @@ -1198,6 +1208,9 @@ * @param ok_cb The callback for the @c OK button. * @param cancel_text The text for the @c Cancel button. * @param cancel_cb The callback for the @c Cancel button. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * @param ... The choices. This argument list should be * terminated with a NULL parameter. @@ -1209,6 +1222,7 @@ unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, ...); /** @@ -1225,6 +1239,9 @@ * @param ok_cb The callback for the @c OK button. * @param cancel_text The text for the @c Cancel button. * @param cancel_cb The callback for the @c Cancel button. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * @param choices The choices. This argument list should be * terminated with a @c NULL parameter. @@ -1236,6 +1253,7 @@ unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, va_list choices); /** @@ -1250,6 +1268,9 @@ * @param primary The main point of the message. * @param secondary The secondary information. * @param default_action The default value. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * @param action_count The number of actions. * @param ... A list of actions. These are pairs of @@ -1265,6 +1286,7 @@ void *purple_request_action(void *handle, const char *title, const char *primary, const char *secondary, unsigned int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, size_t action_count, ...); /** @@ -1279,6 +1301,9 @@ * @param primary The main point of the message. * @param secondary The secondary information. * @param default_action The default value. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * @param action_count The number of actions. * @param actions A list of actions and callbacks. @@ -1288,6 +1313,7 @@ void *purple_request_action_varg(void *handle, const char *title, const char *primary, const char *secondary, unsigned int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, size_t action_count, va_list actions); @@ -1305,6 +1331,9 @@ * @param ok_cb The callback for the @c OK button. * @param cancel_text The text for the @c Cancel button. * @param cancel_cb The callback for the @c Cancel button. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1314,6 +1343,7 @@ PurpleRequestFields *fields, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data); /** @@ -1335,28 +1365,30 @@ * A wrapper for purple_request_action() that uses @c Yes and @c No buttons. */ #define purple_request_yes_no(handle, title, primary, secondary, \ - default_action, user_data, yes_cb, no_cb) \ + default_action, account, who, conv, \ + user_data, yes_cb, no_cb) \ purple_request_action((handle), (title), (primary), (secondary), \ - (default_action), (user_data), 2, \ + (default_action), account, who, conv, (user_data), 2, \ _("_Yes"), (yes_cb), _("_No"), (no_cb)) /** * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons. */ #define purple_request_ok_cancel(handle, title, primary, secondary, \ - default_action, user_data, ok_cb, cancel_cb) \ + default_action, account, who, conv, \ + user_data, ok_cb, cancel_cb) \ purple_request_action((handle), (title), (primary), (secondary), \ - (default_action), (user_data), 2, \ + (default_action), account, who, conv, (user_data), 2, \ _("_OK"), (ok_cb), _("_Cancel"), (cancel_cb)) /** * A wrapper for purple_request_action() that uses Accept and Cancel buttons. */ #define purple_request_accept_cancel(handle, title, primary, secondary, \ - default_action, user_data, accept_cb, \ - cancel_cb) \ + default_action, account, who, conv, \ + user_data, accept_cb, cancel_cb) \ purple_request_action((handle), (title), (primary), (secondary), \ - (default_action), (user_data), 2, \ + (default_action), account, who, conv, (user_data), 2, \ _("_Accept"), (accept_cb), _("_Cancel"), (cancel_cb)) /** @@ -1372,6 +1404,9 @@ * False if it is being used to open a file. * @param ok_cb The callback for the @c OK button. * @param cancel_cb The callback for the @c Cancel button. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1379,6 +1414,7 @@ void *purple_request_file(void *handle, const char *title, const char *filename, gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data); /** @@ -1392,12 +1428,16 @@ * @param dirname The default directory name (may be @c NULL) * @param ok_cb The callback for the @c OK button. * @param cancel_cb The callback for the @c Cancel button. + * @param account The PurpleAccount associated with this request, or NULL if none is + * @param who The username of the buddy assocaited with this request, or NULL if none is + * @param conv The PurpleConversation associated with this request, or NULL if none is * @param user_data The data to pass to the callback. * * @return A UI-specific handle. */ void *purple_request_folder(void *handle, const char *title, const char *dirname, GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data); /*@}*/ diff -r a46a0362dc34 -r 08db93bbd798 libpurple/server.c --- a/libpurple/server.c Thu Apr 26 10:49:27 2007 +0000 +++ b/libpurple/server.c Thu Apr 26 12:25:49 2007 +0000 @@ -677,8 +677,8 @@ purple_request_accept_cancel(gc, NULL, _("Accept chat invitation?"), buf2, - PURPLE_DEFAULT_ACTION_NONE, cid, - G_CALLBACK(chat_invite_accept), + PURPLE_DEFAULT_ACTION_NONE, account, who, NULL, + cid, G_CALLBACK(chat_invite_accept), G_CALLBACK(chat_invite_reject)); } else if (plugin_return > 0) diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkaccount.c --- a/pidgin/gtkaccount.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkaccount.c Thu Apr 26 12:25:49 2007 +0000 @@ -1858,7 +1858,9 @@ purple_account_get_username(account)); purple_request_close_with_handle(account); - purple_request_action(account, NULL, buf, NULL, 0, account, 2, + purple_request_action(account, NULL, buf, NULL, 0, + account, NULL, NULL, + account, 2, _("Delete"), delete_account_cb, _("Cancel"), NULL); g_free(buf); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkblist.c Thu Apr 26 12:25:49 2007 +0000 @@ -3954,6 +3954,7 @@ enabled = purple_account_get_enabled(account, purple_core_get_ui()); purple_request_action(account, _("Connection Error"), primary, text, 2, + account, NULL, NULL, account, 3, _("OK"), NULL, _("Modify Account"), PURPLE_CALLBACK(ce_modify_account_cb), @@ -5805,7 +5806,9 @@ _("Please enter the name of the group to be added."), NULL, FALSE, FALSE, NULL, _("Add"), G_CALLBACK(add_group_cb), - _("Cancel"), NULL, NULL); + _("Cancel"), NULL, + NULL, NULL, NULL, + NULL); } void diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkconv.c Thu Apr 26 12:25:49 2007 +0000 @@ -1012,7 +1012,9 @@ purple_request_file(PIDGIN_CONVERSATION(conv), _("Save Conversation"), purple_escape_filename(buf), - TRUE, G_CALLBACK(savelog_writefile_cb), NULL, conv); + TRUE, G_CALLBACK(savelog_writefile_cb), NULL, + NULL, NULL, conv, + conv); g_free(buf); } @@ -2545,7 +2547,9 @@ buf = g_strdup_printf("%s.%s", purple_normalize(conv->account, conv->name), ext); purple_request_file(gtkconv, _("Save Icon"), buf, TRUE, - G_CALLBACK(saveicon_writefile_cb), NULL, gtkconv); + G_CALLBACK(saveicon_writefile_cb), NULL, + conv->account, NULL, conv, + gtkconv); g_free(buf); } diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkdebug.c --- a/pidgin/gtkdebug.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkdebug.c Thu Apr 26 12:25:49 2007 +0000 @@ -231,7 +231,9 @@ save_cb(GtkWidget *w, DebugWindow *win) { purple_request_file(win, _("Save Debug Log"), "purple-debug.log", TRUE, - G_CALLBACK(save_writefile_cb), NULL, win); + G_CALLBACK(save_writefile_cb), NULL, + NULL, NULL, NULL, + win); } static void diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkdialogs.c Thu Apr 26 12:25:49 2007 +0000 @@ -719,6 +719,7 @@ fields, _("OK"), G_CALLBACK(pidgin_dialogs_im_cb), _("Cancel"), NULL, + NULL, NULL, NULL, NULL); } @@ -856,6 +857,7 @@ fields, _("OK"), G_CALLBACK(pidgin_dialogs_info_cb), _("Cancel"), NULL, + NULL, NULL, NULL, NULL); } @@ -947,6 +949,7 @@ fields, _("OK"), G_CALLBACK(pidgin_dialogs_log_cb), _("Cancel"), NULL, + NULL, NULL, NULL, NULL); } @@ -965,7 +968,9 @@ _("Enter an alias for this contact."), contact->alias, FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_contact_cb), - _("Cancel"), NULL, contact); + _("Cancel"), NULL, + NULL, purple_contact_get_alias(contact), NULL, + contact); } static void @@ -987,7 +992,9 @@ purple_request_input(NULL, _("Alias Buddy"), NULL, secondary, buddy->alias, FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_buddy_cb), - _("Cancel"), NULL, buddy); + _("Cancel"), NULL, + purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, + buddy); g_free(secondary); } @@ -1007,7 +1014,9 @@ _("Enter an alias for this chat."), chat->alias, FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_chat_cb), - _("Cancel"), NULL, chat); + _("Cancel"), NULL, + chat->account, NULL, NULL, + chat); } static void @@ -1049,9 +1058,12 @@ "want to continue?", contact->totalsize - 1), buddy->name, contact->totalsize - 1); - purple_request_action(contact, NULL, _("Remove Contact"), text, 0, contact, 2, + purple_request_action(contact, NULL, _("Remove Contact"), text, 0, + NULL, purple_contact_get_alias(contact), NULL, + contact, 2, _("_Remove Contact"), G_CALLBACK(pidgin_dialogs_remove_contact_cb), - _("Cancel"), NULL); + _("Cancel"), + NULL); g_free(text); } @@ -1087,7 +1099,9 @@ ggp->parent = source; ggp->new_name = g_strdup(new_name); - purple_request_action(source, NULL, _("Merge Groups"), text, 0, ggp, 2, + purple_request_action(source, NULL, _("Merge Groups"), text, 0, + NULL, NULL, NULL, + ggp, 2, _("_Merge Groups"), G_CALLBACK(pidgin_dialogs_merge_groups_cb), _("Cancel"), G_CALLBACK(free_ggmo)); @@ -1141,7 +1155,9 @@ text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"), group->name); - purple_request_action(group, NULL, _("Remove Group"), text, 0, group, 2, + purple_request_action(group, NULL, _("Remove Group"), text, 0, + NULL, NULL, NULL, + group, 2, _("_Remove Group"), G_CALLBACK(pidgin_dialogs_remove_group_cb), _("Cancel"), NULL); @@ -1178,7 +1194,9 @@ text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), buddy->name); - purple_request_action(buddy, NULL, _("Remove Buddy"), text, 0, buddy, 2, + purple_request_action(buddy, NULL, _("Remove Buddy"), text, 0, + purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, + buddy, 2, _("_Remove Buddy"), G_CALLBACK(pidgin_dialogs_remove_buddy_cb), _("Cancel"), NULL); @@ -1203,7 +1221,9 @@ text = g_strdup_printf(_("You are about to remove the chat %s from your buddy list. Do you want to continue?"), name ? name : ""); - purple_request_action(chat, NULL, _("Remove Chat"), text, 0, chat, 2, + purple_request_action(chat, NULL, _("Remove Chat"), text, 0, + chat->account, NULL, NULL, + chat, 2, _("_Remove Chat"), G_CALLBACK(pidgin_dialogs_remove_chat_cb), _("Cancel"), NULL); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkimhtmltoolbar.c --- a/pidgin/gtkimhtmltoolbar.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkimhtmltoolbar.c Thu Apr 26 12:25:49 2007 +0000 @@ -417,6 +417,7 @@ fields, _("_Insert"), G_CALLBACK(do_insert_link_cb), _("Cancel"), G_CALLBACK(cancel_link_cb), + NULL, NULL, NULL, toolbar); g_free(msg); g_free(desc); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtklog.c --- a/pidgin/gtklog.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtklog.c Thu Apr 26 12:25:49 2007 +0000 @@ -295,8 +295,11 @@ data2[0] = lv->treestore; data2[1] = data[3]; /* iter */ data2[2] = log; - purple_request_action(lv, NULL, "Delete Log?", tmp, - 0, data2, 2, _("Delete"), delete_log_cb, _("Cancel"), delete_log_cleanup_cb); + purple_request_action(lv, NULL, "Delete Log?", tmp, 0, + NULL, NULL, NULL, + data2, 2, + _("Delete"), delete_log_cb, + _("Cancel"), delete_log_cleanup_cb); g_free(tmp); } diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkplugin.c --- a/pidgin/gtkplugin.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkplugin.c Thu Apr 26 12:25:49 2007 +0000 @@ -281,7 +281,9 @@ purple_request_action(plugin_dialog, NULL, _("Multiple plugins will be unloaded."), - tmp->str, 0, cb_data, 2, + tmp->str, 0, + NULL, NULL, NULL, + cb_data, 2, _("Unload Plugins"), G_CALLBACK(plugin_unload_confirm_cb), _("Cancel"), g_free); g_string_free(tmp, TRUE); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkpounce.c --- a/pidgin/gtkpounce.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkpounce.c Thu Apr 26 12:25:49 2007 +0000 @@ -153,7 +153,9 @@ name = gtk_entry_get_text(GTK_ENTRY(entry)); purple_request_file(entry, _("Select a file"), name, FALSE, - G_CALLBACK(pounce_update_entry_fields), NULL, entry); + G_CALLBACK(pounce_update_entry_fields), NULL, + NULL, NULL, NULL, + entry); g_signal_connect_swapped(G_OBJECT(entry), "destroy", G_CALLBACK(purple_request_close_with_handle), entry); } @@ -1093,7 +1095,9 @@ pouncee = purple_pounce_get_pouncee(pounce); buf = g_strdup_printf(_("Are you sure you want to delete the pounce on %s for %s?"), pouncee, pouncer); - purple_request_action(pounce, NULL, buf, NULL, 0, pounce, 2, + purple_request_action(pounce, NULL, buf, NULL, 0, + account, pouncee, NULL, + pounce, 2, _("Delete"), pounces_manager_delete_confirm_cb, _("Cancel"), NULL); g_free(buf); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkprefs.c --- a/pidgin/gtkprefs.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkprefs.c Thu Apr 26 12:25:49 2007 +0000 @@ -1511,7 +1511,9 @@ filename = NULL; purple_request_file(prefs, _("Sound Selection"), filename, FALSE, - G_CALLBACK(sound_chosen_cb), NULL, GINT_TO_POINTER(sound_row_sel)); + G_CALLBACK(sound_chosen_cb), NULL, + NULL, NULL, NULL, + GINT_TO_POINTER(sound_row_sel)); } #ifdef USE_GSTREAMER diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkprivacy.c --- a/pidgin/gtkprivacy.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkprivacy.c Thu Apr 26 12:25:49 2007 +0000 @@ -564,6 +564,7 @@ NULL, FALSE, FALSE, NULL, _("_Permit"), G_CALLBACK(add_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data), + account, name, NULL, data); } else { @@ -574,7 +575,9 @@ purple_request_action(account, _("Permit User"), primary, secondary, - 0, data, 2, + 0, + account, name, NULL, + data, 2, _("_Permit"), G_CALLBACK(confirm_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data)); @@ -602,6 +605,7 @@ NULL, FALSE, FALSE, NULL, _("_Block"), G_CALLBACK(add_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data), + account, name, NULL, data); } else { @@ -610,7 +614,9 @@ g_strdup_printf(_("Are you sure you want to block %s?"), name); purple_request_action(account, _("Block User"), primary, secondary, - 0, data, 2, + 0, + account, name, NULL, + data, 2, _("_Block"), G_CALLBACK(confirm_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data)); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkrequest.c --- a/pidgin/gtkrequest.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkrequest.c Thu Apr 26 12:25:49 2007 +0000 @@ -285,6 +285,7 @@ gboolean multiline, gboolean masked, gchar *hint, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { PidginRequestData *data; @@ -443,6 +444,7 @@ const char *secondary, unsigned int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, va_list args) { PidginRequestData *data; @@ -544,6 +546,7 @@ static void * pidgin_request_action(const char *title, const char *primary, const char *secondary, unsigned int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, size_t action_count, va_list actions) { PidginRequestData *data; @@ -1025,6 +1028,7 @@ const char *secondary, PurpleRequestFields *fields, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { PidginRequestData *data; @@ -1467,7 +1471,9 @@ if ((data->u.file.savedialog == TRUE) && (g_file_test(data->u.file.name, G_FILE_TEST_EXISTS))) { purple_request_action(data, NULL, _("That file already exists"), - _("Would you like to overwrite it?"), 0, data, 2, + _("Would you like to overwrite it?"), 0, + NULL, NULL, NULL, + data, 2, _("Overwrite"), G_CALLBACK(file_yes_no_cb), _("Choose New Name"), G_CALLBACK(file_yes_no_cb)); } else @@ -1491,6 +1497,7 @@ pidgin_request_file(const char *title, const char *filename, gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { PidginRequestData *data; @@ -1588,6 +1595,7 @@ static void * pidgin_request_folder(const char *title, const char *dirname, GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { PidginRequestData *data; diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtksavedstatuses.c --- a/pidgin/gtksavedstatuses.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtksavedstatuses.c Thu Apr 26 12:25:49 2007 +0000 @@ -330,8 +330,9 @@ else title = g_strdup(_("Are you sure you want to delete the selected saved statuses?")); - purple_request_action(dialog, NULL, title, - NULL, 0, sel_titles, 2, + purple_request_action(dialog, NULL, title, NULL, 0, + NULL, NULL, NULL, + sel_titles, 2, _("Delete"), status_window_delete_confirm_cb, _("Cancel"), status_window_delete_cancel_cb); diff -r a46a0362dc34 -r 08db93bbd798 pidgin/gtkutils.c --- a/pidgin/gtkutils.c Thu Apr 26 10:49:27 2007 +0000 +++ b/pidgin/gtkutils.c Thu Apr 26 12:25:49 2007 +0000 @@ -1454,24 +1454,33 @@ _("You can send this image as a file transfer, " "embed it into this message, or use it as the buddy icon for this user."), DND_FILE_TRANSFER, "OK", (GCallback)dnd_image_ok_callback, - "Cancel", (GCallback)dnd_image_cancel_callback, data, - _("Set as buddy icon"), DND_BUDDY_ICON, + "Cancel", (GCallback)dnd_image_cancel_callback, + account, who, NULL, + data, + _("Set as buddy icon"), DND_BUDDY_ICON, _("Send image file"), DND_FILE_TRANSFER, - _("Insert in message"), DND_IM_IMAGE, NULL); + _("Insert in message"), DND_IM_IMAGE, + NULL); else if (!(im || ft)) purple_request_yes_no(NULL, NULL, _("You have dragged an image"), - _("Would you like to set it as the buddy icon for this user?"), - 0, data, (GCallback)dnd_set_icon_ok_cb, (GCallback)dnd_set_icon_cancel_cb); + _("Would you like to set it as the buddy icon for this user?"), + 0, + account, who, NULL, + data, (GCallback)dnd_set_icon_ok_cb, (GCallback)dnd_set_icon_cancel_cb); else purple_request_choice(NULL, NULL, _("You have dragged an image"), - ft ? _("You can send this image as a file transfer or " + (ft ? _("You can send this image as a file transfer or " "embed it into this message, or use it as the buddy icon for this user.") : - _("You can insert this image into this message, or use it as the buddy icon for this user"), - ft ? DND_FILE_TRANSFER : DND_IM_IMAGE, "OK", (GCallback)dnd_image_ok_callback, - "Cancel", (GCallback)dnd_image_cancel_callback, data, + _("You can insert this image into this message, or use it as the buddy icon for this user")), + (ft ? DND_FILE_TRANSFER : DND_IM_IMAGE), + "OK", (GCallback)dnd_image_ok_callback, + "Cancel", (GCallback)dnd_image_cancel_callback, + account, who, NULL, + data, _("Set as buddy icon"), DND_BUDDY_ICON, - ft ? _("Send image file") : _("Insert in message"), ft ? DND_FILE_TRANSFER : DND_IM_IMAGE, NULL); + (ft ? _("Send image file") : _("Insert in message")), (ft ? DND_FILE_TRANSFER : DND_IM_IMAGE), + NULL); return; }