Mercurial > pidgin
changeset 19923:96d5d37e08f0
propagate from branch 'im.pidgin.pidgin' (head 90fde4fedfaeb6e062d2d74a7128c2132e9acb55)
to branch 'org.maemo.garage.pidgin.pidgin.dialog-transience' (head a93650575976fda45defc930f4c861983c3efe4f)
author | Gabriel Schulhof <nix@go-nix.ca> |
---|---|
date | Fri, 17 Aug 2007 22:41:15 +0000 |
parents | 5126f14002f9 (current diff) 9474223e534b (diff) |
children | e19a9e7cf15d |
files | |
diffstat | 48 files changed, 258 insertions(+), 174 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/account.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/account.c Fri Aug 17 22:41:15 2007 +0000 @@ -983,7 +983,7 @@ _("OK"), ok_cb, _("Cancel"), cancel_cb, account, NULL, NULL, - user_data); + "account", user_data); g_free(primary); } @@ -1233,7 +1233,7 @@ _("OK"), G_CALLBACK(change_password_cb), _("Cancel"), NULL, account, NULL, NULL, - account); + "account", account); } static void @@ -1268,7 +1268,7 @@ _("Save"), G_CALLBACK(set_user_info_cb), _("Cancel"), NULL, account, NULL, NULL, - account); + "account", account); } void
--- a/libpurple/conversation.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/conversation.c Fri Aug 17 22:41:15 2007 +0000 @@ -1168,7 +1168,7 @@ purple_request_action(conv, NULL, _("Send Message"), text, 0, purple_conversation_get_account(conv), NULL, conv, - data, 2, + "conversation", data, 2, _("_Send Message"), G_CALLBACK(purple_conv_send_confirm_cb), _("Cancel"), NULL); }
--- a/libpurple/ft.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/ft.c Fri Aug 17 22:41:15 2007 +0000 @@ -312,7 +312,7 @@ G_CALLBACK(purple_xfer_choose_file_ok_cb), G_CALLBACK(purple_xfer_choose_file_cancel_cb), purple_xfer_get_account(xfer), xfer->who, NULL, - xfer); + "xfer", xfer); return 0; } @@ -360,7 +360,7 @@ purple_request_accept_cancel(xfer, NULL, buf, NULL, PURPLE_DEFAULT_ACTION_NONE, xfer->account, xfer->who, NULL, - xfer, + "xfer", xfer, G_CALLBACK(purple_xfer_choose_file), G_CALLBACK(cancel_recv_cb)); @@ -403,7 +403,7 @@ purple_request_accept_cancel(xfer, NULL, buf, buf2, PURPLE_DEFAULT_ACTION_NONE, xfer->account, xfer->who, NULL, - xfer, + "xfer", xfer, G_CALLBACK(ask_accept_ok), G_CALLBACK(ask_accept_cancel)); g_free(buf);
--- a/libpurple/plugins/autoaccept.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/plugins/autoaccept.c Fri Aug 17 22:41:15 2007 +0000 @@ -164,7 +164,7 @@ _("_Save"), G_CALLBACK(save_cb), _("_Cancel"), NULL, NULL, NULL, NULL, - node, + "xfer", node, _("Ask"), FT_ASK, _("Auto Accept"), FT_ACCEPT, _("Auto Reject"), FT_REJECT,
--- a/libpurple/plugins/buddynote.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/plugins/buddynote.c Fri Aug 17 22:41:15 2007 +0000 @@ -50,7 +50,7 @@ _("Save"), G_CALLBACK(do_it_cb), _("Cancel"), G_CALLBACK(dont_do_it_cb), NULL, NULL, NULL, - node); + "buddy", node); } static void
--- a/libpurple/plugins/idle.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/plugins/idle.c Fri Aug 17 22:41:15 2007 +0000 @@ -169,7 +169,7 @@ _("_Set"), G_CALLBACK(idle_action_ok), _("_Cancel"), NULL, NULL, NULL, NULL, - NULL); + "account", NULL); } static void @@ -203,7 +203,7 @@ _("_Unset"), G_CALLBACK(unidle_action_ok), _("_Cancel"), NULL, NULL, NULL, NULL, - NULL); + "account", NULL); } static void @@ -229,7 +229,7 @@ _("_Set"), G_CALLBACK(idle_all_action_ok), _("_Cancel"), NULL, NULL, NULL, NULL, - NULL); + "account", NULL); } static void
--- a/libpurple/plugins/offlinemsg.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/plugins/offlinemsg.c Fri Aug 17 22:41:15 2007 +0000 @@ -157,7 +157,7 @@ _("You can edit/delete the pounce from the `Buddy Pounces' dialog"), 1, offline->account, offline->who, offline->conv, - offline, 2, + "buddy", offline, 2, _("Yes"), record_pounce, _("No"), cancel_poune); g_free(ask);
--- a/libpurple/protocols/gg/gg.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/gg/gg.c Fri Aug 17 22:41:15 2007 +0000 @@ -336,7 +336,7 @@ purple_request_file(action, _("Save buddylist..."), NULL, TRUE, G_CALLBACK(ggp_callback_buddylist_save_ok), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } /* }}} */ @@ -350,7 +350,7 @@ purple_request_file(action, "Load buddylist from file...", NULL, FALSE, G_CALLBACK(ggp_callback_buddylist_load_ok), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } /* }}} */ @@ -501,7 +501,7 @@ _("OK"), G_CALLBACK(ggp_callback_register_account_ok), _("Cancel"), G_CALLBACK(ggp_callback_register_account_cancel), purple_connection_get_account(gc), NULL, NULL, - gc); + "register-account", gc); } /* }}} */ @@ -660,7 +660,7 @@ _("OK"), G_CALLBACK(ggp_callback_find_buddies), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } /* }}} */ @@ -797,7 +797,7 @@ fields, _("OK"), G_CALLBACK(ggp_callback_change_passwd_ok), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); g_free(msg); } @@ -878,7 +878,7 @@ _("Add"), G_CALLBACK(ggp_callback_add_to_chat_ok), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "buddy", gc); g_free(msg); } /* }}} */
--- a/libpurple/protocols/jabber/auth.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/auth.c Fri Aug 17 22:41:15 2007 +0000 @@ -296,7 +296,7 @@ purple_request_yes_no(js->gc, _("Plaintext Authentication"), _("Plaintext Authentication"), msg, - 2, js->gc->account, NULL, NULL, js->gc->account, + 2, js->gc->account, NULL, NULL, "account", js->gc->account, allow_cyrus_plaintext_auth, disallow_plaintext_auth); g_free(msg); @@ -487,8 +487,8 @@ msg, 2, purple_connection_get_account(js->gc), NULL, NULL, - purple_connection_get_account(js->gc), allow_plaintext_auth, - disallow_plaintext_auth); + "account", purple_connection_get_account(js->gc), + allow_plaintext_auth, disallow_plaintext_auth); g_free(msg); return; } @@ -572,8 +572,8 @@ _("This server requires plaintext authentication over an unencrypted connection. Allow this and continue authentication?"), 2, purple_connection_get_account(js->gc), NULL, NULL, - purple_connection_get_account(js->gc), allow_plaintext_auth, - disallow_plaintext_auth); + "account", purple_connection_get_account(js->gc), + allow_plaintext_auth, disallow_plaintext_auth); return; } finish_plaintext_authentication(js);
--- a/libpurple/protocols/jabber/buddy.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.c Fri Aug 17 22:41:15 2007 +0000 @@ -587,7 +587,7 @@ _("Save"), G_CALLBACK(jabber_format_info), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } /*---------------------------------------*/ @@ -1825,7 +1825,7 @@ _("Search"), G_CALLBACK(user_search_cb), _("Cancel"), G_CALLBACK(user_search_cancel_cb), NULL, NULL, NULL, - usi); + "account", usi); g_free(instructions); } @@ -1861,7 +1861,7 @@ _("Search Directory"), PURPLE_CALLBACK(jabber_user_search_ok), _("Cancel"), NULL, NULL, NULL, NULL, - js); + "account", js); }
--- a/libpurple/protocols/jabber/chat.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/chat.c Fri Aug 17 22:41:15 2007 +0000 @@ -785,7 +785,7 @@ _("Find Rooms"), PURPLE_CALLBACK(roomlist_ok_cb), _("Cancel"), PURPLE_CALLBACK(roomlist_cancel_cb), purple_connection_get_account(gc), NULL, NULL, - js); + "chat", js); return js->roomlist; }
--- a/libpurple/protocols/jabber/jabber.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/jabber.c Fri Aug 17 22:41:15 2007 +0000 @@ -881,7 +881,7 @@ _("Register"), G_CALLBACK(jabber_register_cb), _("Cancel"), G_CALLBACK(jabber_register_cancel_cb), purple_connection_get_account(js->gc), NULL, NULL, - js); + "register-account", js); g_free(instructions); } @@ -1382,8 +1382,8 @@ _("Change XMPP Password"), _("Please enter your new password"), fields, _("OK"), G_CALLBACK(jabber_password_change_cb), _("Cancel"), NULL, - purple_connection_get_account(gc), NULL, NULL, - js); + purple_connection_get_account(gc), NULL, NULL, + "account", js); } GList *jabber_actions(PurplePlugin *plugin, gpointer context)
--- a/libpurple/protocols/jabber/presence.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/presence.c Fri Aug 17 22:41:15 2007 +0000 @@ -370,7 +370,7 @@ " accept the default settings?"), /* Default Action */ 1, purple_connection_get_account(js->gc), NULL, chat->conv, - chat, 2, + "chat", chat, 2, _("_Configure Room"), G_CALLBACK(jabber_chat_request_room_configure), _("_Accept Defaults"), G_CALLBACK(jabber_chat_create_instant_room)); }
--- a/libpurple/protocols/jabber/si.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/si.c Fri Aug 17 22:41:15 2007 +0000 @@ -866,7 +866,7 @@ purple_request_fields(jsx->js->gc, _("Select a Resource"), msg, NULL, fields, _("Send File"), G_CALLBACK(resource_select_ok_cb), _("Cancel"), G_CALLBACK(resource_select_cancel_cb), - jsx->js->gc->account, xfer->who, NULL, xfer); + jsx->js->gc->account, xfer->who, NULL, "xfer", xfer); g_free(msg); }
--- a/libpurple/protocols/jabber/xdata.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/jabber/xdata.c Fri Aug 17 22:41:15 2007 +0000 @@ -336,7 +336,7 @@ _("OK"), G_CALLBACK(jabber_x_data_ok_cb), _("Cancel"), G_CALLBACK(jabber_x_data_cancel_cb), purple_connection_get_account(js->gc), /* XXX Do we have a who here? */ NULL, NULL, - data); + "account", data); g_free(title); g_free(instructions);
--- a/libpurple/protocols/msn/dialog.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/msn/dialog.c Fri Aug 17 22:41:15 2007 +0000 @@ -129,7 +129,7 @@ purple_request_action(gc, NULL, msg, reason, PURPLE_DEFAULT_ACTION_NONE, purple_connection_get_account(gc), data->who, NULL, - data, 2, + "blist", data, 2, _("Yes"), G_CALLBACK(msn_add_cb), _("No"), G_CALLBACK(msn_rem_cb));
--- a/libpurple/protocols/msn/msn.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Fri Aug 17 22:41:15 2007 +0000 @@ -258,7 +258,7 @@ _("OK"), G_CALLBACK(msn_act_id), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -275,7 +275,7 @@ _("OK"), G_CALLBACK(msn_set_home_phone_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -292,7 +292,7 @@ _("OK"), G_CALLBACK(msn_set_work_phone_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -309,7 +309,7 @@ _("OK"), G_CALLBACK(msn_set_mobile_phone_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -325,7 +325,7 @@ "to your cell phone or other mobile device?"), -1, purple_connection_get_account(gc), NULL, NULL, - gc, 3, + "account", gc, 3, _("Allow"), G_CALLBACK(enable_msn_pages_cb), _("Disallow"), G_CALLBACK(disable_msn_pages_cb), _("Cancel"), NULL); @@ -374,7 +374,7 @@ _("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); + "account", data); } static gboolean
--- a/libpurple/protocols/novell/novell.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/novell/novell.c Fri Aug 17 22:41:15 2007 +0000 @@ -1913,7 +1913,7 @@ purple_request_action(gc, title, primary, secondary, PURPLE_DEFAULT_ACTION_NONE, purple_connection_get_account(gc), name, NULL, - parms, 2, + "chat", parms, 2, _("Yes"), G_CALLBACK(_join_conference_cb), _("No"), G_CALLBACK(_reject_conference_cb));
--- a/libpurple/protocols/oscar/oscar.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Fri Aug 17 22:41:15 2007 +0000 @@ -1450,7 +1450,7 @@ _("_OK"), G_CALLBACK(purple_parse_auth_securid_request_yes_cb), _("_Cancel"), G_CALLBACK(purple_parse_auth_securid_request_no_cb), account, NULL, NULL, - gc); + "account", gc); g_free(primary); return 1; @@ -2242,7 +2242,7 @@ _("_OK"), G_CALLBACK(purple_auth_request), _("_Cancel"), G_CALLBACK(purple_auth_dontrequest), purple_connection_get_account(gc), name, NULL, - data); + "blist", data); } @@ -2291,7 +2291,7 @@ _("_OK"), G_CALLBACK(purple_auth_dontgrant), _("_Cancel"), G_CALLBACK(oscar_free_name_data), purple_connection_get_account(data->gc), data->name, NULL, - data); + "blist", data); } /* When someone sends you buddies */ @@ -2477,7 +2477,7 @@ "to your buddy list?"), PURPLE_DEFAULT_ACTION_NONE, purple_connection_get_account(gc), data->name, NULL, - data, 2, + "blist", data, 2, _("_Add"), G_CALLBACK(purple_icq_buddyadd), _("_Decline"), G_CALLBACK(oscar_free_name_data)); g_free(message); @@ -5134,7 +5134,7 @@ purple_request_yes_no(gc, NULL, _("Authorization Given"), dialog_msg, PURPLE_DEFAULT_ACTION_NONE, purple_connection_get_account(gc), sn, NULL, - data, + "blist", data, G_CALLBACK(purple_icq_buddyadd), G_CALLBACK(oscar_free_name_data)); g_free(dialog_msg); @@ -5833,7 +5833,7 @@ _("_OK"), G_CALLBACK(oscar_ssi_editcomment), _("_Cancel"), G_CALLBACK(oscar_free_name_data), purple_connection_get_account(gc), data->name, NULL, - data); + "buddy", data); g_free(title); g_free(comment); @@ -5884,7 +5884,7 @@ "wish to continue?"), 0, purple_connection_get_account(gc), data->who, NULL, - data, 2, + "buddy", data, 2, _("C_onnect"), G_CALLBACK(oscar_ask_directim_yes_cb), _("_Cancel"), G_CALLBACK(oscar_ask_directim_no_cb)); g_free(buf); @@ -6041,7 +6041,7 @@ _("OK"), G_CALLBACK(oscar_icq_privacy_opts), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void oscar_format_screenname(PurpleConnection *gc, const char *nick) { @@ -6114,7 +6114,7 @@ _("_OK"), G_CALLBACK(oscar_change_email), _("_Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void oscar_show_awaitingauth(PurplePluginAction *action) @@ -6184,7 +6184,7 @@ _("_Search"), G_CALLBACK(search_by_email_cb), _("_Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "buddy", gc); } static void oscar_show_set_info(PurplePluginAction *action)
--- a/libpurple/protocols/oscar/peer.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/oscar/peer.c Fri Aug 17 22:41:15 2007 +0000 @@ -1018,7 +1018,7 @@ "risk."), PURPLE_DEFAULT_ACTION_NONE, account, sn, NULL, - conn, 2, + "buddy", conn, 2, _("C_onnect"), G_CALLBACK(peer_connection_got_proposition_yes_cb), _("Cancel"), G_CALLBACK(peer_connection_got_proposition_no_cb)); }
--- a/libpurple/protocols/qq/buddy_info.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/buddy_info.c Fri Aug 17 22:41:15 2007 +0000 @@ -483,7 +483,7 @@ _("Update my information"), G_CALLBACK(modify_info_ok_cb), _("Cancel"), G_CALLBACK(modify_info_cancel_cb), purple_connection_get_account(gc), NULL, NULL, - mid); + "account", mid); } }
--- a/libpurple/protocols/qq/buddy_opt.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/buddy_opt.c Fri Aug 17 22:41:15 2007 +0000 @@ -213,7 +213,7 @@ _("Sorry, you are not my type..."), TRUE, FALSE, NULL, _("Reject"), G_CALLBACK(_qq_reject_add_request_real), _("Cancel"), NULL, purple_connection_get_account(gc), nombre, NULL, - g2); + "buddy", g2); g_free(nombre); } @@ -410,7 +410,7 @@ (_qq_send_packet_add_buddy_auth_with_gc_and_uid), _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), purple_connection_get_account(gc), nombre, NULL, - g); + "buddy", g); g_free(msg); g_free(nombre); } else { /* add OK */
--- a/libpurple/protocols/qq/group.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/group.c Fri Aug 17 22:41:15 2007 +0000 @@ -123,7 +123,7 @@ _("Search"), G_CALLBACK(_qq_group_search_callback), _("Cancel"), G_CALLBACK(_qq_group_search_cancel_callback), purple_connection_get_account(gc), NULL, NULL, - gc); + "chat", gc); return qd->roomlist; }
--- a/libpurple/protocols/qq/group_im.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/group_im.c Fri Aug 17 22:41:15 2007 +0000 @@ -137,7 +137,7 @@ msg, reason, 2, purple_connection_get_account(gc), nombre, NULL, - g, 3, + "chat", g, 3, _("Approve"), G_CALLBACK (qq_group_approve_application_with_struct),
--- a/libpurple/protocols/qq/group_join.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/group_join.c Fri Aug 17 22:41:15 2007 +0000 @@ -139,7 +139,7 @@ G_CALLBACK(_qq_group_join_auth_with_gc_and_id), _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), purple_connection_get_account(gc), group->group_name_utf8, NULL, - g); + "chat", g); g_free(msg); } @@ -362,7 +362,7 @@ ("Note, if you are the creator, \nthis operation will eventually remove this Qun."), 1, purple_connection_get_account(gc), NULL, NULL, - g, 2, _("Cancel"), + "chat", g, 2, _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), _("Continue"), G_CALLBACK(_qq_group_exit_with_gc_and_id)); }
--- a/libpurple/protocols/qq/group_opt.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/group_opt.c Fri Aug 17 22:41:15 2007 +0000 @@ -123,7 +123,7 @@ qq_send_packet_get_info(g->gc, g->member, TRUE); /* we want to see window */ purple_request_action(g->gc, NULL, _("Do you want to approve the request?"), "", 2, purple_connection_get_account(g->gc), NULL, NULL, - g, 2, + "chat", g, 2, _("Reject"), G_CALLBACK(qq_group_reject_application_with_struct), _("Approve"), G_CALLBACK(qq_group_approve_application_with_struct)); } @@ -143,7 +143,7 @@ _("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); + "chat", g); g_free(msg1); g_free(msg2); @@ -394,7 +394,7 @@ ("Would you like to set up the Qun details now?"), 1, purple_connection_get_account(gc), NULL, NULL, - g, 2, + "chat", g, 2, _("Setup"), G_CALLBACK(qq_group_setup_with_gc_and_uid), _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid)); }
--- a/libpurple/protocols/qq/sys_msg.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/qq/sys_msg.c Fri Aug 17 22:41:15 2007 +0000 @@ -86,7 +86,7 @@ purple_request_action (gc, NULL, _("Do you want to approve the request?"), "", 2, purple_connection_get_account(gc), nombre, NULL, - g, 2, + "chat", 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); @@ -109,7 +109,7 @@ purple_request_action (gc, NULL, _("Do you want to add this buddy?"), "", 2, purple_connection_get_account(gc), nombre, NULL, - g, 2, + "buddy", g, 2, _("Cancel"), NULL, _("Add"), G_CALLBACK(qq_add_buddy_with_gc_and_uid)); g_free(nombre); @@ -168,7 +168,7 @@ purple_request_action(gc, NULL, message, _("Would like to add him?"), 2, purple_connection_get_account(gc), name, NULL, - g, 3, + "buddy", 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)); @@ -242,7 +242,7 @@ purple_request_action (gc, NULL, message, reason, 2, purple_connection_get_account(gc), name, NULL, - g, 3, + "buddy", g, 3, _("Reject"), G_CALLBACK(qq_reject_add_request_with_gc_and_uid), _("Approve"), @@ -262,7 +262,7 @@ purple_request_action(gc, NULL, message, _("Would you like to add him?"), 2, purple_connection_get_account(gc), name, NULL, - g2, 3, + "blist", 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));
--- a/libpurple/protocols/sametime/sametime.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/sametime/sametime.c Fri Aug 17 22:41:15 2007 +0000 @@ -3388,7 +3388,7 @@ _("Create"), G_CALLBACK(conf_create_prompt_join), _("Cancel"), G_CALLBACK(conf_create_prompt_cancel), acct, purple_buddy_get_name(buddy), NULL, - buddy); + "chat", buddy); g_free(msg1); } @@ -3474,7 +3474,7 @@ _("Invite"), G_CALLBACK(conf_select_prompt_invite), _("Cancel"), G_CALLBACK(conf_select_prompt_cancel), acct, purple_buddy_get_name(buddy), NULL, - buddy); + "chat", buddy); g_free(msg); } @@ -3645,7 +3645,7 @@ _("Connect"), G_CALLBACK(prompt_host_ok_cb), _("Cancel"), G_CALLBACK(prompt_host_cancel_cb), acct, NULL, NULL, - gc); + "account", gc); g_free(msg); } @@ -5219,7 +5219,7 @@ purple_request_file(gc, title, NULL, FALSE, G_CALLBACK(st_import_action_cb), NULL, account, NULL, NULL, - gc); + "blist", gc); g_free(title); } @@ -5259,7 +5259,7 @@ purple_request_file(gc, title, NULL, TRUE, G_CALLBACK(st_export_action_cb), NULL, account, NULL, NULL, - gc); + "blist", gc); g_free(title); } @@ -5397,7 +5397,7 @@ _("Add Group"), G_CALLBACK(remote_group_multi_cb), _("Cancel"), G_CALLBACK(remote_group_multi_cleanup), purple_connection_get_account(gc), result->name, NULL, - pd); + "blist", pd); g_free(msg); } @@ -5487,7 +5487,7 @@ _("Add"), G_CALLBACK(remote_group_action_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } @@ -5612,7 +5612,7 @@ _("Search"), G_CALLBACK(search_action_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); }
--- a/libpurple/protocols/yahoo/yahoo.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Fri Aug 17 22:41:15 2007 +0000 @@ -1015,7 +1015,7 @@ _("OK"), G_CALLBACK(yahoo_buddy_add_deny_cb), _("Cancel"), G_CALLBACK(yahoo_buddy_add_deny_noreason_cb), purple_connection_get_account(add_req->gc), add_req->who, NULL, - add_req); + "blist", add_req); } static void yahoo_buddy_auth_req_15(PurpleConnection *gc, struct yahoo_packet *pkt) { @@ -1970,7 +1970,7 @@ "will remove and ignore the buddy."), who); purple_request_yes_no(gc, NULL, _("Ignore buddy?"), buf, 0, gc->account, who, NULL, - b, + "blist", b, G_CALLBACK(ignore_buddy), G_CALLBACK(keep_buddy)); break; @@ -3397,7 +3397,7 @@ _("OK"), G_CALLBACK(yahoo_act_id), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void yahoo_show_chat_goto(PurplePluginAction *action) @@ -3408,7 +3408,7 @@ _("OK"), G_CALLBACK(yahoo_chat_goto), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "chat", gc); } static GList *yahoo_actions(PurplePlugin *plugin, gpointer context) { @@ -3726,7 +3726,7 @@ char *group = NULL; char *group2 = NULL; YahooFriend *f; - + if (!yd->logged_in) return;
--- a/libpurple/request.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/request.c Fri Aug 17 22:41:15 2007 +0000 @@ -1139,7 +1139,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data) + const char *ui_hint, void *user_data) { PurpleRequestUiOps *ops; @@ -1160,7 +1160,7 @@ ok_text, ok_cb, cancel_text, cancel_cb, account, who, conv, - user_data); + ui_hint, user_data); handles = g_list_append(handles, info); @@ -1176,7 +1176,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, ...) + const char *ui_hint, void *user_data, ...) { void *ui_handle; va_list args; @@ -1188,7 +1188,7 @@ ui_handle = purple_request_choice_varg(handle, title, primary, secondary, default_value, ok_text, ok_cb, cancel_text, cancel_cb, - account, who, conv, user_data, args); + account, who, conv, ui_hint, user_data, args); va_end(args); return ui_handle; @@ -1201,7 +1201,7 @@ 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) + const char *ui_hint, void *user_data, va_list choices) { PurpleRequestUiOps *ops; @@ -1221,7 +1221,7 @@ ok_text, ok_cb, cancel_text, cancel_cb, account, who, conv, - user_data, choices); + ui_hint, user_data, choices); handles = g_list_append(handles, info); @@ -1235,7 +1235,7 @@ 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, ...) + const char *ui_hint, void *user_data, size_t action_count, ...) { void *ui_handle; va_list args; @@ -1245,7 +1245,7 @@ va_start(args, action_count); ui_handle = purple_request_action_varg(handle, title, primary, secondary, default_action, account, who, conv, - user_data, action_count, args); + ui_hint, user_data, action_count, args); va_end(args); return ui_handle; @@ -1256,7 +1256,7 @@ 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) + const char *ui_hint, void *user_data, size_t action_count, va_list actions) { PurpleRequestUiOps *ops; @@ -1272,7 +1272,7 @@ info->handle = handle; info->ui_handle = ops->request_action(title, primary, secondary, default_action, account, who, conv, - user_data, action_count, actions); + ui_hint, user_data, action_count, actions); handles = g_list_append(handles, info); @@ -1288,7 +1288,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data) + const char *ui_hint, void *user_data) { PurpleRequestUiOps *ops; @@ -1308,7 +1308,7 @@ fields, ok_text, ok_cb, cancel_text, cancel_cb, account, who, conv, - user_data); + ui_hint, user_data); handles = g_list_append(handles, info); @@ -1323,7 +1323,7 @@ gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data) + const char *ui_hint, void *user_data) { PurpleRequestUiOps *ops; @@ -1337,7 +1337,7 @@ info->handle = handle; info->ui_handle = ops->request_file(title, filename, savedialog, ok_cb, cancel_cb, - account, who, conv, user_data); + account, who, conv, ui_hint, user_data); handles = g_list_append(handles, info); return info->ui_handle; } @@ -1349,7 +1349,7 @@ 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) + const char *ui_hint, void *user_data) { PurpleRequestUiOps *ops; @@ -1364,7 +1364,7 @@ info->ui_handle = ops->request_folder(title, dirname, ok_cb, cancel_cb, account, who, conv, - user_data); + ui_hint, user_data); handles = g_list_append(handles, info); return info->ui_handle; }
--- a/libpurple/request.h Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/request.h Fri Aug 17 22:41:15 2007 +0000 @@ -188,33 +188,33 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data); + const char *ui_hint, 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); + const char *ui_hint, 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, + const char *ui_hint, 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); + const char *ui_hint, void *user_data); void *(*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); + const char *ui_hint, 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, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data); + const char *ui_hint, void *user_data); void (*_purple_reserved1)(void); void (*_purple_reserved2)(void); @@ -1186,6 +1186,7 @@ * @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 ui_hint UI hint * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1197,7 +1198,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data); + const char *ui_hint, void *user_data); /** * Prompts the user for multiple-choice input. @@ -1216,6 +1217,7 @@ * @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 ui_hint UI hint * @param user_data The data to pass to the callback. * @param ... The choices. This argument list should be * terminated with a NULL parameter. @@ -1228,7 +1230,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, ...) G_GNUC_NULL_TERMINATED; + const char *ui_hint, void *user_data, ...) G_GNUC_NULL_TERMINATED; /** * Prompts the user for multiple-choice input. @@ -1247,6 +1249,7 @@ * @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 ui_hint UI hint * @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. @@ -1259,7 +1262,7 @@ 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); + const char *ui_hint, void *user_data, va_list choices); /** * Prompts the user for an action. @@ -1276,6 +1279,7 @@ * @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 ui_hint UI hint * @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 @@ -1292,7 +1296,7 @@ const char *primary, const char *secondary, unsigned int default_action, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, size_t action_count, ...); + const char *ui_hint, void *user_data, size_t action_count, ...); /** * Prompts the user for an action. @@ -1309,6 +1313,7 @@ * @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 ui_hint UI hint * @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. @@ -1319,7 +1324,7 @@ const char *primary, const char *secondary, unsigned int default_action, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, size_t action_count, + const char *ui_hint, void *user_data, size_t action_count, va_list actions); /** @@ -1339,6 +1344,7 @@ * @param account The PurpleAccount associated with this request, or NULL if none is * @param who The username of the buddy associated with this request, or NULL if none is * @param conv The PurpleConversation associated with this request, or NULL if none is + * @param ui_hint UI hint * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1349,7 +1355,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data); + const char *ui_hint, void *user_data); /** * Closes a request. @@ -1371,9 +1377,9 @@ */ #define purple_request_yes_no(handle, title, primary, secondary, \ default_action, account, who, conv, \ - user_data, yes_cb, no_cb) \ + ui_hint, user_data, yes_cb, no_cb) \ purple_request_action((handle), (title), (primary), (secondary), \ - (default_action), account, who, conv, (user_data), 2, \ + (default_action), account, who, conv, (ui_hint), (user_data), 2, \ _("_Yes"), (yes_cb), _("_No"), (no_cb)) /** @@ -1381,9 +1387,9 @@ */ #define purple_request_ok_cancel(handle, title, primary, secondary, \ default_action, account, who, conv, \ - user_data, ok_cb, cancel_cb) \ + ui_hint, user_data, ok_cb, cancel_cb) \ purple_request_action((handle), (title), (primary), (secondary), \ - (default_action), account, who, conv, (user_data), 2, \ + (default_action), account, who, conv, (ui_hint), (user_data), 2, \ _("_OK"), (ok_cb), _("_Cancel"), (cancel_cb)) /** @@ -1391,9 +1397,9 @@ */ #define purple_request_accept_cancel(handle, title, primary, secondary, \ default_action, account, who, conv, \ - user_data, accept_cb, cancel_cb) \ + ui_hint, user_data, accept_cb, cancel_cb) \ purple_request_action((handle), (title), (primary), (secondary), \ - (default_action), account, who, conv, (user_data), 2, \ + (default_action), account, who, conv, (ui_hint), (user_data), 2, \ _("_Accept"), (accept_cb), _("_Cancel"), (cancel_cb)) /** @@ -1412,6 +1418,7 @@ * @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 ui_hint UI hint * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1420,7 +1427,7 @@ gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data); + const char *ui_hint, void *user_data); /** * Displays a folder select dialog. Returns the selected filename to @@ -1436,6 +1443,7 @@ * @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 ui_hint UI hint * @param user_data The data to pass to the callback. * * @return A UI-specific handle. @@ -1443,7 +1451,7 @@ 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); + const char *ui_hint, void *user_data); /*@}*/
--- a/libpurple/server.c Fri Aug 17 22:23:23 2007 +0000 +++ b/libpurple/server.c Fri Aug 17 22:41:15 2007 +0000 @@ -688,7 +688,7 @@ purple_request_accept_cancel(gc, NULL, _("Accept chat invitation?"), buf2, PURPLE_DEFAULT_ACTION_NONE, account, who, NULL, - cid, G_CALLBACK(chat_invite_accept), + "chat", cid, G_CALLBACK(chat_invite_accept), G_CALLBACK(chat_invite_reject)); } else if (plugin_return > 0)
--- a/pidgin/gtkblist.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkblist.c Fri Aug 17 22:41:15 2007 +0000 @@ -501,7 +501,7 @@ name = prpl_info->get_chat_name(c->components); } } else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) { - pidgin_log_show_contact((PurpleContact *)node); + pidgin_log_show_contact(GTK_WINDOW(gtkblist->window), (PurpleContact *)node); pidgin_clear_cursor(gtkblist->window); return; } else { @@ -513,7 +513,7 @@ } if (name && account) { - pidgin_log_show(type, name, account); + pidgin_log_show(GTK_WINDOW(gtkblist->window), type, name, account); g_free(name); pidgin_clear_cursor(gtkblist->window); @@ -2840,6 +2840,11 @@ !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled")); } +static void +pidgin_blist_show_with_parent(gpointer data1, void (*callback)(GtkWindow *parent), gpointer data3) +{ + callback(GTK_WINDOW(gtkblist->window)); +} /*************************************************** * Crap * @@ -2872,7 +2877,7 @@ /* Tools */ { N_("/_Tools"), NULL, NULL, 0, "<Branch>", NULL }, { N_("/Tools/Buddy _Pounces"), NULL, pidgin_pounces_manager_show, 0, "<Item>", NULL }, - { N_("/Tools/Plu_gins"), "<CTL>U", pidgin_plugin_dialog_show, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_PLUGINS }, + { N_("/Tools/Plu_gins"), "<CTL>U", pidgin_blist_show_with_parent, (int)pidgin_plugin_dialog_show, "<StockItem>", PIDGIN_STOCK_TOOLBAR_PLUGINS }, { N_("/Tools/Pr_eferences"), "<CTL>P", pidgin_prefs_show, 0, "<StockItem>", GTK_STOCK_PREFERENCES }, { N_("/Tools/Pr_ivacy"), NULL, pidgin_privacy_dialog_show, 0, "<Item>", NULL }, { "/Tools/sep2", NULL, NULL, 0, "<Separator>", NULL }, @@ -2886,7 +2891,7 @@ { N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP }, { N_("/Help/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL }, #if GTK_CHECK_VERSION(2,6,0) - { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<StockItem>", GTK_STOCK_ABOUT }, + { N_("/Help/_About"), NULL, pidgin_blist_show_with_parent, (int)pidgin_dialogs_about, "<StockItem>", GTK_STOCK_ABOUT }, #else { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<Item>", NULL }, #endif @@ -4018,7 +4023,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, + "account", account, 3, _("OK"), NULL, _("Modify Account"), PURPLE_CALLBACK(ce_modify_account_cb), enabled ? _("Connect") : _("Re-enable Account"), @@ -5924,7 +5929,7 @@ _("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } void
--- a/pidgin/gtkconv.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkconv.c Fri Aug 17 22:41:15 2007 +0000 @@ -1004,7 +1004,7 @@ buf, TRUE, G_CALLBACK(savelog_writefile_cb), NULL, NULL, NULL, conv, - conv); + "conversation", conv); g_free(buf); } @@ -1052,7 +1052,7 @@ PurpleBlistNode *node = cur->data; if ((node != NULL) && ((node->prev != NULL) || (node->next != NULL))) { - pidgin_log_show_contact((PurpleContact *)node->parent); + pidgin_log_show_contact(GTK_WINDOW(win->window), (PurpleContact *)node->parent); g_slist_free(buddies); gdk_window_set_cursor(gtkblist->window->window, NULL); gdk_window_set_cursor(win->window->window, NULL); @@ -1061,7 +1061,7 @@ } g_slist_free(buddies); - pidgin_log_show(type, name, account); + pidgin_log_show(GTK_WINDOW(win->window), type, name, account); gdk_window_set_cursor(gtkblist->window->window, NULL); gdk_window_set_cursor(win->window->window, NULL); @@ -2603,7 +2603,7 @@ purple_request_file(gtkconv, _("Save Icon"), buf, TRUE, G_CALLBACK(saveicon_writefile_cb), NULL, conv->account, NULL, conv, - gtkconv); + "conversation", gtkconv); g_free(buf); }
--- a/pidgin/gtkdebug.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkdebug.c Fri Aug 17 22:41:15 2007 +0000 @@ -233,7 +233,7 @@ purple_request_file(win, _("Save Debug Log"), "purple-debug.log", TRUE, G_CALLBACK(save_writefile_cb), NULL, NULL, NULL, NULL, - win); + "blist", win); } static void
--- a/pidgin/gtkdialogs.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkdialogs.c Fri Aug 17 22:41:15 2007 +0000 @@ -317,7 +317,7 @@ g_object_unref(G_OBJECT(pixmap)); } -void pidgin_dialogs_about() +void pidgin_dialogs_about(GtkWindow *parent) { GtkWidget *hbox; GtkWidget *vbox; @@ -334,11 +334,15 @@ GdkPixbuf *pixbuf; if (about != NULL) { + if (parent) + gtk_window_set_transient_for(GTK_WINDOW(about), parent); gtk_window_present(GTK_WINDOW(about)); return; } PIDGIN_DIALOG(about); + if (parent) + gtk_window_set_transient_for(GTK_WINDOW(about), parent); tmp = g_strdup_printf(_("About %s"), PIDGIN_NAME); gtk_window_set_title(GTK_WINDOW(about), tmp); g_free(tmp); @@ -749,7 +753,7 @@ _("OK"), G_CALLBACK(pidgin_dialogs_im_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } void @@ -887,7 +891,7 @@ _("OK"), G_CALLBACK(pidgin_dialogs_info_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -915,7 +919,7 @@ PurpleBlistNode *node = cur->data; if ((node != NULL) && ((node->prev != NULL) || (node->next != NULL))) { - pidgin_log_show_contact((PurpleContact *)node->parent); + pidgin_log_show_contact(GTK_WINDOW(gtkblist->window), (PurpleContact *)node->parent); g_slist_free(buddies); pidgin_clear_cursor(gtkblist->window); g_free(username); @@ -924,7 +928,7 @@ } g_slist_free(buddies); - pidgin_log_show(PURPLE_LOG_IM, username, account); + pidgin_log_show(GTK_WINDOW(gtkblist->window), PURPLE_LOG_IM, username, account); pidgin_clear_cursor(gtkblist->window); } @@ -979,7 +983,7 @@ _("OK"), G_CALLBACK(pidgin_dialogs_log_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -999,7 +1003,7 @@ _("Alias"), G_CALLBACK(pidgin_dialogs_alias_contact_cb), _("Cancel"), NULL, NULL, purple_contact_get_alias(contact), NULL, - contact); + "blist", contact); } static void @@ -1023,7 +1027,7 @@ _("Alias"), G_CALLBACK(pidgin_dialogs_alias_buddy_cb), _("Cancel"), NULL, purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, - buddy); + "blist", buddy); g_free(secondary); } @@ -1045,7 +1049,7 @@ _("Alias"), G_CALLBACK(pidgin_dialogs_alias_chat_cb), _("Cancel"), NULL, chat->account, NULL, NULL, - chat); + "blist", chat); } static void @@ -1089,7 +1093,7 @@ purple_request_action(contact, NULL, _("Remove Contact"), text, 0, NULL, purple_contact_get_alias(contact), NULL, - contact, 2, + "blist", contact, 2, _("_Remove Contact"), G_CALLBACK(pidgin_dialogs_remove_contact_cb), _("Cancel"), NULL); @@ -1130,7 +1134,7 @@ purple_request_action(source, NULL, _("Merge Groups"), text, 0, NULL, NULL, NULL, - ggp, 2, + "blist", ggp, 2, _("_Merge Groups"), G_CALLBACK(pidgin_dialogs_merge_groups_cb), _("Cancel"), G_CALLBACK(free_ggmo)); @@ -1186,7 +1190,7 @@ purple_request_action(group, NULL, _("Remove Group"), text, 0, NULL, NULL, NULL, - group, 2, + "blist", group, 2, _("_Remove Group"), G_CALLBACK(pidgin_dialogs_remove_group_cb), _("Cancel"), NULL); @@ -1225,7 +1229,7 @@ purple_request_action(buddy, NULL, _("Remove Buddy"), text, 0, purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, - buddy, 2, + "blist", buddy, 2, _("_Remove Buddy"), G_CALLBACK(pidgin_dialogs_remove_buddy_cb), _("Cancel"), NULL); @@ -1252,7 +1256,7 @@ purple_request_action(chat, NULL, _("Remove Chat"), text, 0, chat->account, NULL, NULL, - chat, 2, + "blist", chat, 2, _("_Remove Chat"), G_CALLBACK(pidgin_dialogs_remove_chat_cb), _("Cancel"), NULL);
--- a/pidgin/gtkdialogs.h Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkdialogs.h Fri Aug 17 22:41:15 2007 +0000 @@ -31,8 +31,8 @@ /* Functions in gtkdialogs.c (these should actually stay in this file) */ void pidgin_dialogs_destroy_all(void); -void pidgin_dialogs_about(void); -void pidgin_dialogs_im(void); +void pidgin_dialogs_about(GtkWindow *parent); +void pidgin_dialogs_im(); void pidgin_dialogs_im_with_user(PurpleAccount *, const char *); void pidgin_dialogs_info(void); void pidgin_dialogs_log(void);
--- a/pidgin/gtkimhtmltoolbar.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkimhtmltoolbar.c Fri Aug 17 22:41:15 2007 +0000 @@ -424,7 +424,7 @@ _("_Insert"), G_CALLBACK(do_insert_link_cb), _("Cancel"), G_CALLBACK(cancel_link_cb), NULL, NULL, NULL, - toolbar); + "conversation", toolbar); g_free(msg); g_free(desc); } else {
--- a/pidgin/gtklog.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtklog.c Fri Aug 17 22:41:15 2007 +0000 @@ -322,7 +322,7 @@ data2[2] = log; purple_request_action(lv, NULL, "Delete Log?", tmp, 0, NULL, NULL, NULL, - data2, 2, + "log_viewer", data2, 2, _("Delete"), delete_log_cb, _("Cancel"), delete_log_cleanup_cb); g_free(tmp); @@ -522,7 +522,7 @@ } } -static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList *logs, +static PidginLogViewer *display_log_viewer(GtkWindow *parent, struct log_viewer_hash_t *ht, GList *logs, const char *title, GtkWidget *icon, int log_size) { PidginLogViewer *lv; @@ -568,7 +568,7 @@ g_hash_table_insert(log_viewers, ht, lv); /* Window ***********/ - lv->window = gtk_dialog_new_with_buttons(title, NULL, 0, + lv->window = gtk_dialog_new_with_buttons(title, parent, 0, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); #ifdef _WIN32 /* Steal the "HELP" response and use it to trigger browsing to the logs folder */ @@ -722,7 +722,7 @@ g_free(title); } -void pidgin_log_show_contact(PurpleContact *contact) { +void pidgin_log_show_contact(GtkWindow *parent, PurpleContact *contact) { struct log_viewer_hash_t *ht = g_new0(struct log_viewer_hash_t, 1); PurpleBlistNode *child; PidginLogViewer *lv = NULL;
--- a/pidgin/gtkplugin.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkplugin.c Fri Aug 17 22:41:15 2007 +0000 @@ -283,7 +283,7 @@ _("Multiple plugins will be unloaded."), tmp->str, 0, NULL, NULL, NULL, - cb_data, 2, + "plugins", cb_data, 2, _("Unload Plugins"), G_CALLBACK(plugin_unload_confirm_cb), _("Cancel"), g_free); g_string_free(tmp, TRUE); @@ -513,7 +513,7 @@ plugin_dialog_response_cb(dialog, PIDGIN_RESPONSE_CONFIGURE, sel); } -void pidgin_plugin_dialog_show() +void pidgin_plugin_dialog_show(GtkWindow *parent) { GtkWidget *sw; GtkWidget *event_view; @@ -523,6 +523,8 @@ GtkTreeSelection *sel; if (plugin_dialog != NULL) { + if (parent) + gtk_window_set_transient_for(GTK_WINDOW(plugin_dialog), parent); gtk_window_present(GTK_WINDOW(plugin_dialog)); return; } @@ -531,6 +533,8 @@ NULL, GTK_DIALOG_NO_SEPARATOR, NULL); + if (parent) + gtk_window_set_transient_for(GTK_WINDOW(plugin_dialog), parent); pref_button = gtk_dialog_add_button(GTK_DIALOG(plugin_dialog), _("Configure Pl_ugin"), PIDGIN_RESPONSE_CONFIGURE); gtk_dialog_add_button(GTK_DIALOG(plugin_dialog),
--- a/pidgin/gtkplugin.h Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkplugin.h Fri Aug 17 22:41:15 2007 +0000 @@ -74,6 +74,6 @@ /** * Shows the Plugins dialog */ -void pidgin_plugin_dialog_show(void); +void pidgin_plugin_dialog_show(GtkWindow *parent); #endif /* _PIDGINPLUGIN_H_ */
--- a/pidgin/gtkpounce.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkpounce.c Fri Aug 17 22:41:15 2007 +0000 @@ -156,7 +156,7 @@ purple_request_file(entry, _("Select a file"), name, FALSE, G_CALLBACK(pounce_update_entry_fields), NULL, NULL, NULL, NULL, - entry); + "buddy_pounce", entry); g_signal_connect_swapped(G_OBJECT(entry), "destroy", G_CALLBACK(purple_request_close_with_handle), entry); } @@ -1110,7 +1110,7 @@ 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, account, pouncee, NULL, - pounce, 2, + "pounces", pounce, 2, _("Delete"), pounces_manager_delete_confirm_cb, _("Cancel"), NULL); g_free(buf);
--- a/pidgin/gtkprefs.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkprefs.c Fri Aug 17 22:41:15 2007 +0000 @@ -640,7 +640,8 @@ static void add_theme_button_clicked_cb(GtkWidget *widget, gpointer null) { - purple_request_file(NULL, _("Install Theme"), NULL, FALSE, (GCallback)request_theme_file_name_cb, NULL, NULL, NULL, NULL, NULL) ; + purple_request_file(NULL, _("Install Theme"), NULL, FALSE, + (GCallback)request_theme_file_name_cb, NULL, NULL, NULL, NULL, "preferences", NULL) ; } static void @@ -1621,7 +1622,7 @@ purple_request_file(prefs, _("Sound Selection"), filename, FALSE, G_CALLBACK(sound_chosen_cb), NULL, - NULL, NULL, NULL, + NULL, NULL, NULL, "preferences", GINT_TO_POINTER(sound_row_sel)); }
--- a/pidgin/gtkprivacy.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkprivacy.c Fri Aug 17 22:41:15 2007 +0000 @@ -561,7 +561,7 @@ _("_Permit"), G_CALLBACK(add_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data), account, name, NULL, - data); + "privacy", data); } else { char *primary = g_strdup_printf(_("Allow %s to contact you?"), name); @@ -573,7 +573,7 @@ purple_request_action(account, _("Permit User"), primary, secondary, 0, account, name, NULL, - data, 2, + "privacy", data, 2, _("_Permit"), G_CALLBACK(confirm_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data)); @@ -602,7 +602,7 @@ _("_Block"), G_CALLBACK(add_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data), account, name, NULL, - data); + "privacy", data); } else { char *primary = g_strdup_printf(_("Block %s?"), name); @@ -612,7 +612,7 @@ purple_request_action(account, _("Block User"), primary, secondary, 0, account, name, NULL, - data, 2, + "privacy", data, 2, _("_Block"), G_CALLBACK(confirm_permit_block_cb), _("Cancel"), G_CALLBACK(destroy_request_data));
--- a/pidgin/gtkrequest.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkrequest.c Fri Aug 17 22:41:15 2007 +0000 @@ -33,6 +33,7 @@ #include "gtkrequest.h" #include "gtkutils.h" #include "pidginstock.h" +#include "gtkblist.h" #include <gdk/gdkkeysyms.h> @@ -78,6 +79,55 @@ } PidginRequestData; +static GtkWindow * +find_toplevel(GList *ll_toplevels, const char *role) +{ + const char *window_role = NULL; + GList *ll_itr = NULL; + + for (ll_itr = ll_toplevels ; ll_itr ; ll_itr = ll_itr->next) { + if ((window_role = gtk_window_get_role(GTK_WINDOW(ll_itr->data))) != NULL) { + if (!strcmp(window_role, role)) + return GTK_WINDOW(ll_itr->data); + } + } + + return NULL; +} + +static GtkWindow * +get_request_parent(const char *ui_hint, PidginConversation *convo) +{ + GtkWindow *toplevel = NULL; + PidginBuddyList *blist = NULL; + + if (convo) + return GTK_WINDOW(convo->win->window); + + if (strcmp(ui_hint, "blist")) { + GList *ll_toplevels = NULL; + + ll_toplevels = gtk_window_list_toplevels(); + + if (!(toplevel = find_toplevel(ll_toplevels, ui_hint))) { + if (!strcmp(ui_hint, "register-account")) + toplevel = find_toplevel(ll_toplevels, "account"); + else + if (!strcmp(ui_hint, "xfer")) + toplevel = find_toplevel(ll_toplevels, "file transfer"); + } + + g_list_free(ll_toplevels); + } + + /* Takes care of "pidgin-statusbox" as well */ + if (!toplevel) + if ((blist = pidgin_blist_get_default_gtk_blist()) != NULL) + return GTK_WINDOW(blist->window); + + return toplevel; +} + static void generic_response_start(PidginRequestData *data) { @@ -286,7 +336,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data) + const char *ui_hint, void *user_data) { PidginRequestData *data; GtkWidget *dialog; @@ -311,7 +361,7 @@ /* Create the dialog. */ dialog = gtk_dialog_new_with_buttons(title ? title : PIDGIN_ALERT_TITLE, - NULL, 0, + get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL), 0, text_to_stock(cancel_text), 1, text_to_stock(ok_text), 0, NULL); @@ -446,7 +496,7 @@ 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) + const char *ui_hint, void *user_data, va_list args) { PidginRequestData *data; GtkWidget *dialog; @@ -470,6 +520,8 @@ /* Create the dialog. */ data->dialog = dialog = gtk_dialog_new(); + gtk_window_set_transient_for(GTK_WINDOW(dialog), + get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL)); if (title != NULL) gtk_window_set_title(GTK_WINDOW(dialog), title); @@ -550,7 +602,7 @@ 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) + const char *ui_hint, void *user_data, size_t action_count, va_list actions) { PidginRequestData *data; GtkWidget *dialog; @@ -580,6 +632,8 @@ /* Create the dialog. */ data->dialog = dialog = gtk_dialog_new(); + gtk_window_set_transient_for(GTK_WINDOW(dialog), + get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL)); #if GTK_CHECK_VERSION(2,10,0) gtk_window_set_deletable(GTK_WINDOW(data->dialog), FALSE); @@ -1048,7 +1102,7 @@ const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data) + const char *ui_hint, void *user_data) { PidginRequestData *data; GtkWidget *win; @@ -1089,6 +1143,8 @@ #else /* !_WIN32 */ data->dialog = win = pidgin_create_window(title, PIDGIN_HIG_BORDER, "multifield", TRUE) ; #endif /* _WIN32 */ + gtk_window_set_transient_for(GTK_WINDOW(win), + get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL)); g_signal_connect(G_OBJECT(win), "delete_event", G_CALLBACK(destroy_multifield_cb), data); @@ -1504,7 +1560,7 @@ purple_request_action(data, NULL, _("That file already exists"), _("Would you like to overwrite it?"), 0, NULL, NULL, NULL, - data, 2, + "pidgin-request-file", data, 2, _("Overwrite"), G_CALLBACK(file_yes_no_cb), _("Choose New Name"), G_CALLBACK(file_yes_no_cb)); } else @@ -1529,7 +1585,7 @@ gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data) + const char *ui_hint, void *user_data) { PidginRequestData *data; GtkWidget *filesel; @@ -1617,6 +1673,9 @@ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked", G_CALLBACK(file_ok_check_if_exists_cb), data); #endif /* FILECHOOSER */ + gtk_window_set_role(GTK_WINDOW(filesel), "pidgin-request-file"); + gtk_window_set_transient_for(GTK_WINDOW(filesel), + get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL)); data->dialog = filesel; gtk_widget_show(filesel); @@ -1628,7 +1687,7 @@ 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) + const char *ui_hint, void *user_data) { PidginRequestData *data; GtkWidget *dirsel; @@ -1667,6 +1726,9 @@ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(dirsel)->ok_button), "clicked", G_CALLBACK(file_ok_check_if_exists_cb), data); #endif + gtk_window_set_role(GTK_WINDOW(dirsel), "pidgin-request-dir"); + gtk_window_set_transient_for(GTK_WINDOW(dirsel), + get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL)); data->dialog = dirsel; gtk_widget_show(dirsel);
--- a/pidgin/gtksavedstatuses.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtksavedstatuses.c Fri Aug 17 22:41:15 2007 +0000 @@ -339,7 +339,7 @@ purple_request_action(handle, NULL, title, NULL, 0, NULL, NULL, NULL, - sel_titles, 2, + "statuses", sel_titles, 2, _("Delete"), status_window_delete_confirm_cb, _("Cancel"), status_window_delete_cancel_cb);
--- a/pidgin/gtkstatusbox.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkstatusbox.c Fri Aug 17 22:41:15 2007 +0000 @@ -1567,7 +1567,7 @@ purple_request_action(saved, NULL, msg, NULL, 0, NULL, NULL, NULL, - data, 2, + "pidgin-statusbox", data, 2, _("Delete"), tree_view_delete_current_selection_cb, _("Cancel"), NULL);
--- a/pidgin/gtkutils.c Fri Aug 17 22:23:23 2007 +0000 +++ b/pidgin/gtkutils.c Fri Aug 17 22:41:15 2007 +0000 @@ -1523,7 +1523,7 @@ DND_FILE_TRANSFER, "OK", (GCallback)dnd_image_ok_callback, "Cancel", (GCallback)dnd_image_cancel_callback, account, who, NULL, - data, + "conversation", data, _("Set as buddy icon"), DND_BUDDY_ICON, _("Send image file"), DND_FILE_TRANSFER, _("Insert in message"), DND_IM_IMAGE, @@ -1533,7 +1533,7 @@ _("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); + "conversation", data, (GCallback)dnd_set_icon_ok_cb, (GCallback)dnd_set_icon_cancel_cb); else purple_request_choice(NULL, NULL, _("You have dragged an image"), @@ -1543,7 +1543,7 @@ "OK", (GCallback)dnd_image_ok_callback, "Cancel", (GCallback)dnd_image_cancel_callback, account, who, NULL, - data, + "conversation", data, _("Set as buddy icon"), DND_BUDDY_ICON, (ft ? _("Send image file") : _("Insert in message")), (ft ? DND_FILE_TRANSFER : DND_IM_IMAGE), NULL);