Mercurial > pidgin.yaz
changeset 21077:488796f5ba33
propagate from branch 'im.pidgin.pidgin' (head 4d50bf3b08569aa2108a9f5da47fb1548d0c7dd9)
to branch 'org.maemo.garage.pidgin.pidgin.dialog-transience' (head 2de97b7c8c13f4714a53d342a4dc68ecd8fc2248)
author | Gabriel Schulhof <nix@go-nix.ca> |
---|---|
date | Tue, 09 Oct 2007 18:01:51 +0000 |
parents | b84655373d7b (diff) a2b2fc59b571 (current diff) |
children | 96612191ded8 8c9aad9479c0 |
files | libpurple/protocols/oscar/oscar.c pidgin/gtkblist.c pidgin/gtkconv.c |
diffstat | 85 files changed, 916 insertions(+), 416 deletions(-) [+] |
line wrap: on
line diff
--- a/finch/gntaccount.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntaccount.c Tue Oct 09 18:01:51 2007 +0000 @@ -632,8 +632,8 @@ prompt = g_strdup_printf(_("Are you sure you want to delete %s?"), purple_account_get_username(account)); - purple_request_action(account, _("Delete Account"), prompt, NULL, 0, - account, NULL, NULL, account, 2, + purple_request_action_with_hint(account, _("Delete Account"), prompt, NULL, 0, + account, NULL, NULL, "accounts", account, 2, _("Delete"), really_delete_account, _("Cancel"), NULL); g_free(prompt); @@ -881,10 +881,10 @@ data->alias = (alias != NULL ? g_strdup(alias) : NULL); buffer = make_info(account, gc, remote_user, id, alias, msg); - purple_request_action(NULL, NULL, _("Add buddy to your list?"), + purple_request_action_with_hint(NULL, NULL, _("Add buddy to your list?"), buffer, PURPLE_DEFAULT_ACTION_NONE, account, remote_user, NULL, - data, 2, + "blist", data, 2, _("Add"), G_CALLBACK(add_user_cb), _("Cancel"), G_CALLBACK(free_add_user_data)); g_free(buffer); @@ -969,10 +969,10 @@ gnt_box_set_title(GNT_BOX(uihandle), _("Authorize buddy?")); gnt_box_set_pad(GNT_BOX(uihandle), 0); - widget = purple_request_action(NULL, _("Authorize buddy?"), buffer, NULL, + widget = purple_request_action_with_hint(NULL, _("Authorize buddy?"), buffer, NULL, PURPLE_DEFAULT_ACTION_NONE, account, remote_user, NULL, - aa, 2, + "blist", aa, 2, _("Authorize"), authorize_and_add_cb, _("Deny"), deny_no_add_cb); gnt_screen_release(widget); @@ -996,10 +996,10 @@ g_signal_connect_swapped(G_OBJECT(uihandle), "destroy", G_CALLBACK(free_auth_and_add), aa); } else { - uihandle = purple_request_action(NULL, _("Authorize buddy?"), buffer, NULL, + uihandle = purple_request_action_with_hint(NULL, _("Authorize buddy?"), buffer, NULL, PURPLE_DEFAULT_ACTION_NONE, account, remote_user, NULL, - user_data, 2, + "blist", user_data, 2, _("Authorize"), auth_cb, _("Deny"), deny_cb); }
--- a/finch/gntblist.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntblist.c Tue Oct 09 18:01:51 2007 +0000 @@ -338,12 +338,12 @@ purple_request_field_account_set_value(field, account); purple_request_field_group_add_field(group, field); - purple_request_fields(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."), + purple_request_fields_with_hint(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."), fields, _("Add"), G_CALLBACK(add_buddy_cb), _("Cancel"), NULL, account, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -416,11 +416,11 @@ field = purple_request_field_bool_new("autojoin", _("Auto-join"), FALSE); purple_request_field_group_add_field(group, field); - purple_request_fields(NULL, _("Add Chat"), NULL, + purple_request_fields_with_hint(NULL, _("Add Chat"), NULL, _("You can edit more information from the context menu later."), fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -451,11 +451,11 @@ static void finch_request_add_group() { - purple_request_input(NULL, _("Add Group"), NULL, _("Enter the name of the group"), + purple_request_input_with_hint(NULL, _("Add Group"), NULL, _("Enter the name of the group"), NULL, FALSE, FALSE, NULL, _("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static PurpleBlistUiOps blist_ui_ops = @@ -799,10 +799,10 @@ g_list_free(parts); - purple_request_fields(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."), + purple_request_fields_with_hint(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."), fields, _("Edit"), G_CALLBACK(chat_components_edit_ok), _("Cancel"), NULL, NULL, NULL, NULL, - chat); + "blist", chat); } static void @@ -1000,11 +1000,11 @@ prompt = g_strdup_printf(_("Please enter the new name for %s"), name); text = PURPLE_BLIST_NODE_IS_GROUP(node) ? _("Rename") : _("Set Alias"); - purple_request_input(node, text, prompt, _("Enter empty string to reset the name."), + purple_request_input_with_hint(node, text, prompt, _("Enter empty string to reset the name."), name, FALSE, FALSE, NULL, text, G_CALLBACK(rename_blist_node), _("Cancel"), NULL, NULL, NULL, NULL, - node); + "blist", node); g_free(prompt); } @@ -1092,11 +1092,11 @@ primary = g_strdup_printf(_("Are you sure you want to remove %s?"), name); /* XXX: anything to do with the returned ui-handle? */ - purple_request_action(node, _("Confirm Remove"), + purple_request_action_with_hint(node, _("Confirm Remove"), primary, sec, 1, account, name, NULL, - node, 2, + "blist", node, 2, _("Remove"), finch_blist_remove_node, _("Cancel"), NULL); g_free(primary); @@ -2215,7 +2215,7 @@ purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("New Instant Message"), + purple_request_fields_with_hint(purple_get_blist(), _("New Instant Message"), NULL, _("Please enter the screen name or alias of the person " "you would like to IM."), @@ -2223,7 +2223,7 @@ _("OK"), G_CALLBACK(send_im_select_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -2279,14 +2279,14 @@ purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("Join a Chat"), + purple_request_fields_with_hint(purple_get_blist(), _("Join a Chat"), NULL, _("Please enter the name of the chat you want to join."), fields, _("Join"), G_CALLBACK(join_chat_select_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void
--- a/finch/gntcertmgr.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntcertmgr.c Tue Oct 09 18:01:51 2007 +0000 @@ -82,7 +82,7 @@ if (crt != NULL) { gchar *default_hostname; default_hostname = purple_certificate_get_subject_name(crt); - purple_request_input(NULL, + purple_request_input_with_hint(NULL, _("Certificate Import"), _("Specify a hostname"), _("Type the host name this certificate is for."), @@ -90,7 +90,7 @@ _("OK"), G_CALLBACK(tls_peers_mgmt_import_ok2_cb), _("Cancel"), G_CALLBACK(tls_peers_mgmt_import_cancel2_cb), NULL, NULL, NULL, - crt); + "certmgr", crt); g_free(default_hostname); } else { gchar * secondary; @@ -106,13 +106,13 @@ static void add_cert_cb(GntWidget *button, gpointer null) { - purple_request_file(NULL, + purple_request_file_with_hint(NULL, _("Select a PEM certificate"), "certificate.pem", FALSE, G_CALLBACK(tls_peers_mgmt_import_ok_cb), NULL, - NULL, NULL, NULL, NULL ); + NULL, NULL, NULL, "certmgr", NULL ); } /* Save certs in some file */ @@ -155,13 +155,13 @@ return; } - purple_request_file((void*)key, + purple_request_file_with_hint((void*)key, _("PEM X.509 Certificate Export"), "certificate.pem", TRUE, G_CALLBACK(tls_peers_mgmt_export_ok_cb), G_CALLBACK(purple_certificate_destroy), NULL, NULL, NULL, - crt); + "certmgr", crt); } /* Show information about a cert */ @@ -233,10 +233,10 @@ primary = g_strdup_printf(_("Really delete certificate for %s?"), key); purple_request_close_with_handle((void *)key); - purple_request_yes_no((void *)key, _("Confirm certificate delete"), + purple_request_yes_no_with_hint((void *)key, _("Confirm certificate delete"), primary, NULL, 2, - NULL, NULL, NULL, + NULL, NULL, NULL, "certmgr", g_strdup(key), tls_peers_mgmt_delete_confirm_cb, g_free);
--- a/finch/gntconn.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntconn.c Tue Oct 09 18:01:51 2007 +0000 @@ -130,9 +130,9 @@ "Finch will not attempt to reconnect the account until you " "correct the error and re-enable the account."), text); - purple_request_action(account, NULL, primary, secondary, 2, + purple_request_action_with_hint(account, NULL, primary, secondary, 2, account, NULL, NULL, - account, 3, + "blist", account, 3, _("OK"), NULL, _("Modify Account"), PURPLE_CALLBACK(ce_modify_account_cb), _("Re-enable Account"), PURPLE_CALLBACK(ce_enable_account_cb));
--- a/finch/gntplugin.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntplugin.c Tue Oct 09 18:01:51 2007 +0000 @@ -468,9 +468,9 @@ } } - return purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields, + return purple_request_fields_with_hint(NULL, _("Preferences"), NULL, NULL, fields, _("Save"), G_CALLBACK(finch_request_save_in_prefs), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "plugins", NULL); }
--- a/finch/gntpounce.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntpounce.c Tue Oct 09 18:01:51 2007 +0000 @@ -660,9 +660,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, + purple_request_action_with_hint(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/finch/gntprefs.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntprefs.c Tue Oct 09 18:01:51 2007 +0000 @@ -261,9 +261,9 @@ add_pref_group(fields, _("Idle"), idle); pref_request.showing = TRUE; - pref_request.window = purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields, + pref_request.window = purple_request_fields_with_hint(NULL, _("Preferences"), NULL, NULL, fields, _("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings, NULL, NULL, NULL, - NULL); + "preferences", NULL); }
--- a/finch/gntrequest.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntrequest.c Tue Oct 09 18:01:51 2007 +0000 @@ -148,7 +148,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) { GntWidget *window, *box, *entry; @@ -205,7 +205,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) { GntWidget *window, *combo, *box; const char *text; @@ -249,7 +249,7 @@ finch_request_action(const char *title, const char *primary, const char *secondary, int default_value, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, size_t actioncount, + const char *ui_hint, void *user_data, size_t actioncount, va_list actions) { GntWidget *window, *box, *button; @@ -393,7 +393,7 @@ const char *ok, GCallback ok_cb, const char *cancel, GCallback cancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *userdata) + const char *ui_hint, void *userdata) { GntWidget *window, *box; GList *grlist; @@ -645,7 +645,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) { GntWidget *window = gnt_file_sel_new(); GntFileSel *sel = GNT_FILE_SEL(window);
--- a/finch/gntstatus.c Tue Oct 09 13:41:11 2007 +0000 +++ b/finch/gntstatus.c Tue Oct 09 18:01:51 2007 +0000 @@ -138,9 +138,9 @@ 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, + purple_request_action_with_hint(saved, _("Delete Status"), ask, NULL, 0, NULL, NULL, NULL, - saved, 2, + "statuses", saved, 2, _("Delete"), really_delete_status, _("Cancel"), NULL); g_free(ask);
--- a/libpurple/account.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/account.c Tue Oct 09 18:01:51 2007 +0000 @@ -1004,7 +1004,7 @@ field = purple_request_field_bool_new("remember", _("Save password"), FALSE); purple_request_field_group_add_field(group, field); - purple_request_fields(account, + purple_request_fields_with_hint(account, NULL, primary, NULL, @@ -1012,7 +1012,7 @@ _("OK"), ok_cb, _("Cancel"), cancel_cb, account, NULL, NULL, - user_data); + "account", user_data); g_free(primary); } @@ -1253,7 +1253,7 @@ /* I'm sticking this somewhere in the code: bologna */ - purple_request_fields(purple_account_get_connection(account), + purple_request_fields_with_hint(purple_account_get_connection(account), NULL, primary, _("Please enter your current password and your " @@ -1262,7 +1262,7 @@ _("OK"), G_CALLBACK(change_password_cb), _("Cancel"), NULL, account, NULL, NULL, - account); + "account", account); } static void @@ -1290,14 +1290,14 @@ _("Change user information for %s"), purple_account_get_username(account)); - purple_request_input(gc, _("Set User Info"), primary, NULL, + purple_request_input_with_hint(gc, _("Set User Info"), primary, NULL, purple_account_get_user_info(account), TRUE, FALSE, ((gc != NULL) && (gc->flags & PURPLE_CONNECTION_HTML) ? "html" : NULL), _("Save"), G_CALLBACK(set_user_info_cb), _("Cancel"), NULL, account, NULL, NULL, - account); + "account", account); } void
--- a/libpurple/certificate.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/certificate.c Tue Oct 09 18:01:51 2007 +0000 @@ -563,7 +563,7 @@ secondary = g_strdup_printf(_("Common name: %s %s\nFingerprint (SHA1): %s"), cn, cn_match, sha_asc); /* Make a semi-pretty display */ - purple_request_accept_cancel( + purple_request_accept_cancel_with_hint( vrq->cb_data, /* TODO: Find what the handle ought to be */ _("Single-use Certificate Verification"), primary, @@ -572,6 +572,7 @@ NULL, /* No account */ NULL, /* No other user */ NULL, /* No associated conversation */ + "blist", vrq, x509_singleuse_verify_cb, x509_singleuse_verify_cb ); @@ -1185,7 +1186,7 @@ vrq->subject_name); /* Make a semi-pretty display */ - purple_request_action( + purple_request_action_with_hint( vrq->cb_data, /* TODO: Find what the handle ought to be */ _("SSL Certificate Verification"), primary, @@ -1194,6 +1195,7 @@ NULL, /* No account */ NULL, /* No other user */ NULL, /* No associated conversation */ + "blist", x509_tls_cached_ua_ctx_new(vrq, reason), 3, /* Number of actions */ _("Accept"), x509_tls_cached_user_auth_accept_cb,
--- a/libpurple/conversation.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/conversation.c Tue Oct 09 18:01:51 2007 +0000 @@ -1208,9 +1208,9 @@ data[0] = conv; data[1] = (gpointer)message; - purple_request_action(conv, NULL, _("Send Message"), text, 0, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/ft.c Tue Oct 09 18:01:51 2007 +0000 @@ -309,12 +309,12 @@ static int purple_xfer_choose_file(PurpleXfer *xfer) { - purple_request_file(xfer, NULL, purple_xfer_get_filename(xfer), + purple_request_file_with_hint(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), purple_xfer_get_account(xfer), xfer->who, NULL, - xfer); + "xfer", xfer); return 0; } @@ -359,10 +359,10 @@ serv_got_im(purple_account_get_connection(xfer->account), xfer->who, xfer->message, 0, time(NULL)); - purple_request_accept_cancel(xfer, NULL, buf, NULL, + purple_request_accept_cancel_with_hint(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)); @@ -402,10 +402,10 @@ "Remote host: %s\nRemote port: %d"), purple_xfer_get_remote_ip(xfer), purple_xfer_get_remote_port(xfer)); - purple_request_accept_cancel(xfer, NULL, buf, buf2, + purple_request_accept_cancel_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/plugins/autoaccept.c Tue Oct 09 18:01:51 2007 +0000 @@ -159,12 +159,12 @@ message = g_strdup_printf(_("When a file-transfer request arrives from %s"), purple_contact_get_alias((PurpleContact *)node)); - purple_request_choice(plugin, _("Set Autoaccept Setting"), message, + purple_request_choice_with_hint(plugin, _("Set Autoaccept Setting"), message, NULL, purple_blist_node_get_int(node, "autoaccept"), _("_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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/plugins/buddynote.c Tue Oct 09 18:01:51 2007 +0000 @@ -43,14 +43,14 @@ note = purple_blist_node_get_string(node, "notes"); - purple_request_input(node, _("Notes"), + purple_request_input_with_hint(node, _("Notes"), _("Enter your notes below..."), NULL, note, TRUE, FALSE, "html", _("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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/plugins/idle.c Tue Oct 09 18:01:51 2007 +0000 @@ -161,7 +161,7 @@ request = purple_request_fields_new(); purple_request_fields_add_group(request, group); - purple_request_fields(action->plugin, + purple_request_fields_with_hint(action->plugin, N_("I'dle Mak'er"), _("Set Account Idle Time"), NULL, @@ -169,7 +169,7 @@ _("_Set"), G_CALLBACK(idle_action_ok), _("_Cancel"), NULL, NULL, NULL, NULL, - NULL); + "account", NULL); } static void @@ -195,7 +195,7 @@ request = purple_request_fields_new(); purple_request_fields_add_group(request, group); - purple_request_fields(action->plugin, + purple_request_fields_with_hint(action->plugin, N_("I'dle Mak'er"), _("Unset Account Idle Time"), NULL, @@ -203,7 +203,7 @@ _("_Unset"), G_CALLBACK(unidle_action_ok), _("_Cancel"), NULL, NULL, NULL, NULL, - NULL); + "account", NULL); } static void @@ -221,7 +221,7 @@ request = purple_request_fields_new(); purple_request_fields_add_group(request, group); - purple_request_fields(action->plugin, + purple_request_fields_with_hint(action->plugin, N_("I'dle Mak'er"), _("Set Idle Time for All Accounts"), NULL, @@ -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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/plugins/offlinemsg.c Tue Oct 09 18:01:51 2007 +0000 @@ -157,11 +157,11 @@ "rest of the messages in a pounce and automatically send them " "when \"%s\" logs back in?"), who, who); - purple_request_action(handle, _("Offline Message"), ask, + purple_request_action_with_hint(handle, _("Offline Message"), ask, _("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/plugins/perl/common/Request.xs Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/plugins/perl/common/Request.xs Tue Oct 09 18:01:51 2007 +0000 @@ -141,7 +141,38 @@ 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), NULL, NULL, NULL, gpr); + RETVAL = purple_request_input_with_hint(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, "blist", gpr); +OUTPUT: + RETVAL + +void * +purple_request_input_with_hint(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, ok_cb, cancel_text, cancel_cb, ui_hint) + Purple::Plugin handle + const char * title + const char * primary + const char * secondary + const char * default_value + gboolean multiline + gboolean masked + gchar * hint + const char * ok_text + SV * ok_cb + const char * cancel_text + SV * cancel_cb + const char * ui_hint +CODE: + PurplePerlRequestData *gpr; + STRLEN len; + char *basename; + + basename = g_path_get_basename(handle->path); + purple_perl_normalize_script_name(basename); + gpr = g_new(PurplePerlRequestData, 1); + gpr->ok_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(ok_cb, len)); + gpr->cancel_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(cancel_cb, len)); + g_free(basename); + + RETVAL = purple_request_input_with_hint(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, ui_hint, gpr); OUTPUT: RETVAL @@ -165,7 +196,32 @@ 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), NULL, NULL, NULL, gpr); + RETVAL = purple_request_file_with_hint(handle, title, filename, savedialog, G_CALLBACK(purple_perl_request_ok_cb), G_CALLBACK(purple_perl_request_cancel_cb), NULL, NULL, NULL, "blist", gpr); +OUTPUT: + RETVAL + +void * +purple_request_file_with_hint(handle, title, filename, savedialog, ok_cb, cancel_cb, ui_hint) + Purple::Plugin handle + const char * title + const char * filename + gboolean savedialog + SV * ok_cb + SV * cancel_cb + const char * ui_hint +CODE: + PurplePerlRequestData *gpr; + STRLEN len; + char *basename; + + basename = g_path_get_basename(handle->path); + purple_perl_normalize_script_name(basename); + gpr = g_new(PurplePerlRequestData, 1); + gpr->ok_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(ok_cb, len)); + gpr->cancel_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(cancel_cb, len)); + g_free(basename); + + RETVAL = purple_request_file_with_hint(handle, title, filename, savedialog, G_CALLBACK(purple_perl_request_ok_cb), G_CALLBACK(purple_perl_request_cancel_cb), NULL, NULL, NULL, ui_hint, gpr); OUTPUT: RETVAL @@ -192,7 +248,35 @@ 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), NULL, NULL, NULL, gpr); + RETVAL = purple_request_fields_with_hint(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, "blist", gpr); +OUTPUT: + RETVAL + +void * +purple_request_fields_with_hint(handle, title, primary, secondary, fields, ok_text, ok_cb, cancel_text, cancel_cb, ui_hint) + Purple::Plugin handle + const char * title + const char * primary + const char * secondary + Purple::Request::Fields fields + const char * ok_text + SV * ok_cb + const char * cancel_text + SV * cancel_cb + const char *ui_hint +CODE: + PurplePerlRequestData *gpr; + STRLEN len; + char *basename; + + basename = g_path_get_basename(handle->path); + purple_perl_normalize_script_name(basename); + gpr = g_new(PurplePerlRequestData, 1); + gpr->ok_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(ok_cb, len)); + gpr->cancel_cb = g_strdup_printf("Purple::Script::%s::%s", basename, SvPV(cancel_cb, len)); + g_free(basename); + + RETVAL = purple_request_fields_with_hint(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, ui_hint, gpr); OUTPUT: RETVAL
--- a/libpurple/protocols/gg/gg.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/gg/gg.c Tue Oct 09 18:01:51 2007 +0000 @@ -333,10 +333,10 @@ { PurpleConnection *gc = (PurpleConnection *)action->context; - purple_request_file(action, _("Save buddylist..."), NULL, TRUE, + purple_request_file_with_hint(action, _("Save buddylist..."), NULL, TRUE, G_CALLBACK(ggp_callback_buddylist_save_ok), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } /* }}} */ @@ -347,10 +347,10 @@ { PurpleConnection *gc = (PurpleConnection *)action->context; - purple_request_file(action, "Load buddylist from file...", NULL, FALSE, + purple_request_file_with_hint(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); } /* }}} */ @@ -498,7 +498,7 @@ _("Current token"), token->data, token->size); purple_request_field_group_add_field(group, field); - purple_request_fields(account, + purple_request_fields_with_hint(account, _("Register New Gadu-Gadu Account"), _("Register New Gadu-Gadu Account"), _("Please, fill in the following fields"), @@ -506,7 +506,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); } /* }}} */ @@ -657,7 +657,7 @@ _("Only online"), FALSE); purple_request_field_group_add_field(group, field); - purple_request_fields(gc, + purple_request_fields_with_hint(gc, _("Find buddies"), _("Find buddies"), _("Please, enter your search criteria below"), @@ -665,7 +665,7 @@ _("OK"), G_CALLBACK(ggp_callback_find_buddies), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } /* }}} */ @@ -795,14 +795,14 @@ _("Please, enter your current password and your new password for UIN: "), ggp_get_uin(purple_connection_get_account(gc))); - purple_request_fields(gc, + purple_request_fields_with_hint(gc, _("Change Gadu-Gadu Password"), _("Change Gadu-Gadu Password"), msg, fields, _("OK"), G_CALLBACK(ggp_callback_change_passwd_ok), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); g_free(msg); } @@ -875,7 +875,7 @@ msg = g_strdup_printf(_("Select a chat for buddy: %s"), purple_buddy_get_alias(buddy)); - purple_request_fields(gc, + purple_request_fields_with_hint(gc, _("Add to chat..."), _("Add to chat..."), msg, @@ -883,7 +883,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/auth.c Tue Oct 09 18:01:51 2007 +0000 @@ -318,10 +318,10 @@ } else if (!plaintext) { char *msg = g_strdup_printf(_("%s requires plaintext authentication over an unencrypted connection. Allow this and continue authentication?"), js->gc->account->username); - purple_request_yes_no(js->gc, _("Plaintext Authentication"), + purple_request_yes_no_with_hint(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); @@ -507,13 +507,13 @@ if(js->gsc == NULL && !purple_account_get_bool(js->gc->account, "auth_plain_in_clear", FALSE)) { char *msg = g_strdup_printf(_("%s requires plaintext authentication over an unencrypted connection. Allow this and continue authentication?"), js->gc->account->username); - purple_request_yes_no(js->gc, _("Plaintext Authentication"), + purple_request_yes_no_with_hint(js->gc, _("Plaintext Authentication"), _("Plaintext Authentication"), 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; } @@ -595,13 +595,13 @@ } else if(xmlnode_get_child(query, "password")) { if(js->gsc == NULL && !purple_account_get_bool(js->gc->account, "auth_plain_in_clear", FALSE)) { - purple_request_yes_no(js->gc, _("Plaintext Authentication"), + purple_request_yes_no_with_hint(js->gc, _("Plaintext Authentication"), _("Plaintext Authentication"), _("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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.c Tue Oct 09 18:01:51 2007 +0000 @@ -719,7 +719,7 @@ if(x_vc_data != NULL) xmlnode_free(x_vc_data); - purple_request_fields(gc, _("Edit XMPP vCard"), + purple_request_fields_with_hint(gc, _("Edit XMPP vCard"), _("Edit XMPP vCard"), _("All items below are optional. Enter only the " "information with which you feel comfortable."), @@ -727,7 +727,7 @@ _("Save"), G_CALLBACK(jabber_format_info), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } /*---------------------------------------*/ @@ -2410,12 +2410,12 @@ usi->js = js; usi->directory_server = g_strdup(from); - purple_request_fields(js->gc, _("Search for XMPP users"), + purple_request_fields_with_hint(js->gc, _("Search for XMPP users"), _("Search for XMPP users"), instructions, fields, _("Search"), G_CALLBACK(user_search_cb), _("Cancel"), G_CALLBACK(user_search_cancel_cb), purple_connection_get_account(js->gc), NULL, NULL, - usi); + "account", usi); g_free(instructions); } @@ -2444,14 +2444,14 @@ PurpleConnection *gc = (PurpleConnection *) action->context; JabberStream *js = gc->proto_data; - purple_request_input(gc, _("Enter a User Directory"), _("Enter a User Directory"), + purple_request_input_with_hint(gc, _("Enter a User Directory"), _("Enter a User Directory"), _("Select a user directory to search"), js->user_directories ? js->user_directories->data : NULL, FALSE, FALSE, NULL, _("Search Directory"), PURPLE_CALLBACK(jabber_user_search), _("Cancel"), NULL, NULL, NULL, NULL, - js); + "account", js); }
--- a/libpurple/protocols/jabber/chat.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/chat.c Tue Oct 09 18:01:51 2007 +0000 @@ -778,14 +778,14 @@ purple_roomlist_set_fields(js->roomlist, fields); - purple_request_input(gc, _("Enter a Conference Server"), _("Enter a Conference Server"), + purple_request_input_with_hint(gc, _("Enter a Conference Server"), _("Enter a Conference Server"), _("Select a conference server to query"), js->chat_servers ? js->chat_servers->data : NULL, FALSE, FALSE, NULL, _("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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/jabber.c Tue Oct 09 18:01:51 2007 +0000 @@ -1002,21 +1002,21 @@ cbdata->who = g_strdup(from); if(js->registration) - purple_request_fields(js->gc, _("Register New XMPP Account"), + purple_request_fields_with_hint(js->gc, _("Register New XMPP Account"), _("Register New XMPP Account"), instructions, fields, _("Register"), G_CALLBACK(jabber_register_cb), _("Cancel"), G_CALLBACK(jabber_register_cancel_cb), purple_connection_get_account(js->gc), NULL, NULL, - cbdata); + "register-account", cbdata); else { char *title = registered?g_strdup_printf(_("Change Account Registration at %s"), from) :g_strdup_printf(_("Register New Account at %s"), from); - purple_request_fields(js->gc, title, + purple_request_fields_with_hint(js->gc, title, title, instructions, fields, registered?_("Change Registration"):_("Register"), G_CALLBACK(jabber_register_cb), _("Cancel"), G_CALLBACK(jabber_register_cancel_cb), purple_connection_get_account(js->gc), NULL, NULL, - cbdata); + "register-account", cbdata); g_free(title); } @@ -1731,12 +1731,12 @@ purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(js->gc, _("Change XMPP Password"), + purple_request_fields_with_hint(js->gc, _("Change XMPP Password"), _("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); + "account", js); } GList *jabber_actions(PurplePlugin *plugin, gpointer context)
--- a/libpurple/protocols/jabber/presence.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/presence.c Tue Oct 09 18:01:51 2007 +0000 @@ -500,7 +500,7 @@ if((chat = jabber_chat_find(js, jid->node, jid->domain))) { chat->config_dialog_type = PURPLE_REQUEST_ACTION; chat->config_dialog_handle = - purple_request_action(js->gc, + purple_request_action_with_hint(js->gc, _("Create New Room"), _("Create New Room"), _("You are creating a new room. Would" @@ -508,7 +508,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/si.c Tue Oct 09 18:01:51 2007 +0000 @@ -870,9 +870,9 @@ purple_request_fields_add_group(fields, group); - purple_request_fields(jsx->js->gc, _("Select a Resource"), msg, NULL, fields, + purple_request_fields_with_hint(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/usermood.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/usermood.c Tue Oct 09 18:01:51 2007 +0000 @@ -176,14 +176,14 @@ FALSE); purple_request_field_group_add_field(group, field); - purple_request_fields(gc, _("Edit User Mood"), + purple_request_fields_with_hint(gc, _("Edit User Mood"), _("Edit User Mood"), _("Please select your mood from the list."), fields, _("Set"), G_CALLBACK(do_mood_set_from_fields), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); }
--- a/libpurple/protocols/jabber/usernick.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/usernick.c Tue Oct 09 18:01:51 2007 +0000 @@ -73,10 +73,10 @@ oldnickname = xmlnode_get_data(nick); } - purple_request_input(js->gc, _("Set User Nickname"), _("Please specify a new nickname for you."), + purple_request_input_with_hint(js->gc, _("Set User Nickname"), _("Please specify a new nickname for you."), _("This information is visible to all contacts on your contact list, so choose something appropriate."), oldnickname, FALSE, FALSE, NULL, _("Set"), PURPLE_CALLBACK(do_nick_set), _("Cancel"), NULL, - purple_connection_get_account(js->gc), NULL, NULL, js); + purple_connection_get_account(js->gc), NULL, NULL, "blist", js); g_free(oldnickname); }
--- a/libpurple/protocols/jabber/xdata.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/jabber/xdata.c Tue Oct 09 18:01:51 2007 +0000 @@ -395,11 +395,11 @@ if((x = xmlnode_get_child(packet, "instructions"))) instructions = xmlnode_get_data(x); - handle = purple_request_fields(js->gc, title, title, instructions, fields, + handle = purple_request_fields_with_hint(js->gc, title, title, instructions, fields, _("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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/msn/dialog.c Tue Oct 09 18:01:51 2007 +0000 @@ -135,9 +135,9 @@ passport); } - purple_request_action(gc, NULL, msg, reason, PURPLE_DEFAULT_ACTION_NONE, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Tue Oct 09 18:01:51 2007 +0000 @@ -282,14 +282,14 @@ gc = (PurpleConnection *) action->context; - purple_request_input(gc, NULL, _("Set your friendly name."), + purple_request_input_with_hint(gc, NULL, _("Set your friendly name."), _("This is the name that other MSN buddies will " "see you as."), purple_connection_get_display_name(gc), FALSE, FALSE, NULL, _("OK"), G_CALLBACK(msn_act_id), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -301,12 +301,12 @@ gc = (PurpleConnection *) action->context; session = gc->proto_data; - purple_request_input(gc, NULL, _("Set your home phone number."), NULL, + purple_request_input_with_hint(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, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -318,12 +318,12 @@ gc = (PurpleConnection *) action->context; session = gc->proto_data; - purple_request_input(gc, NULL, _("Set your work phone number."), NULL, + purple_request_input_with_hint(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, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -335,12 +335,12 @@ gc = (PurpleConnection *) action->context; session = gc->proto_data; - purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL, + purple_request_input_with_hint(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, purple_connection_get_account(gc), NULL, NULL, - gc); + "account", gc); } static void @@ -350,13 +350,13 @@ gc = (PurpleConnection *) action->context; - purple_request_action(gc, NULL, _("Allow MSN Mobile pages?"), + purple_request_action_with_hint(gc, NULL, _("Allow MSN Mobile pages?"), _("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, 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); @@ -400,12 +400,12 @@ data->gc = gc; data->passport = buddy->name; - purple_request_input(gc, NULL, _("Send a mobile message."), NULL, + purple_request_input_with_hint(gc, NULL, _("Send a mobile message."), NULL, 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); + "account", data); } static gboolean
--- a/libpurple/protocols/novell/novell.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/novell/novell.c Tue Oct 09 18:01:51 2007 +0000 @@ -1912,10 +1912,10 @@ /* Prompt the user */ gc = purple_account_get_connection(user->client_data); - purple_request_action(gc, title, primary, secondary, + purple_request_action_with_hint(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)); @@ -2165,7 +2165,7 @@ if (server == NULL || *server == '\0') { /* TODO: Would be nice to prompt if not set! - * purple_request_fields(gc, _("Server Address"),...); + * purple_request_fields_with_hint(gc, _("Server Address"),...); */ /* ...but for now just error out with a nice message. */
--- a/libpurple/protocols/oscar/oscar.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Tue Oct 09 18:01:51 2007 +0000 @@ -1446,13 +1446,13 @@ purple_debug_info("oscar", "Got SecurID request\n"); primary = g_strdup_printf("Enter the SecurID key for %s.", purple_account_get_username(account)); - purple_request_input(gc, NULL, _("Enter SecurID"), primary, + purple_request_input_with_hint(gc, NULL, _("Enter SecurID"), primary, _("Enter the 6 digit number from the digital display."), 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); + "account", gc); g_free(primary); return 1; @@ -2239,12 +2239,12 @@ data->gc = gc; data->name = g_strdup(name); - purple_request_input(data->gc, NULL, _("Authorization Request Message:"), + purple_request_input_with_hint(data->gc, NULL, _("Authorization Request Message:"), 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); + "blist", data); } @@ -2288,12 +2288,12 @@ purple_auth_dontgrant_msgprompt(gpointer cbdata) { struct name_data *data = cbdata; - purple_request_input(data->gc, NULL, _("Authorization Denied Message:"), + purple_request_input_with_hint(data->gc, NULL, _("Authorization Denied Message:"), 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); + "blist", data); } /* When someone sends you buddies */ @@ -2474,12 +2474,12 @@ data->name = g_strdup(text[i*2+1]); data->nick = g_strdup(text[i*2+2]); - purple_request_action(gc, NULL, message, + purple_request_action_with_hint(gc, NULL, message, _("Do you want to add this buddy " "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); @@ -5231,10 +5231,10 @@ data->name = g_strdup(sn); data->nick = (buddy ? g_strdup(purple_buddy_get_alias_only(buddy)) : NULL); - purple_request_yes_no(gc, NULL, _("Authorization Given"), dialog_msg, + purple_request_yes_no_with_hint(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); @@ -5930,12 +5930,12 @@ data->nick = g_strdup(purple_buddy_get_alias_only(buddy)); title = g_strdup_printf(_("Buddy Comment for %s"), data->name); - purple_request_input(gc, title, _("Buddy Comment:"), NULL, + purple_request_input_with_hint(gc, title, _("Buddy Comment:"), NULL, 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); + "buddy", data); g_free(title); g_free(comment); @@ -5980,13 +5980,13 @@ buf = g_strdup_printf(_("You have selected to open a Direct IM connection with %s."), buddy->name); - purple_request_action(gc, NULL, buf, + purple_request_action_with_hint(gc, NULL, buf, _("Because this reveals your IP address, it " "may be considered a security risk. Do you " "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); @@ -6138,12 +6138,12 @@ purple_request_fields_add_group(fields, g); - purple_request_fields(gc, _("ICQ Privacy Options"), _("ICQ Privacy Options"), + purple_request_fields_with_hint(gc, _("ICQ Privacy Options"), _("ICQ Privacy Options"), NULL, fields, _("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) { @@ -6211,12 +6211,12 @@ static void oscar_show_change_email(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; - purple_request_input(gc, NULL, _("Change Address To:"), NULL, NULL, + purple_request_input_with_hint(gc, NULL, _("Change Address To:"), NULL, NULL, FALSE, FALSE, NULL, _("_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) @@ -6278,7 +6278,7 @@ static void oscar_show_find_email(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; - purple_request_input(gc, _("Find Buddy by E-Mail"), + purple_request_input_with_hint(gc, _("Find Buddy by E-Mail"), _("Search for a buddy by e-mail address"), _("Type the e-mail address of the buddy you are " "searching for."), @@ -6286,7 +6286,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/oscar/peer.c Tue Oct 09 18:01:51 2007 +0000 @@ -1033,7 +1033,7 @@ buf = g_strdup_printf(_("%s has just asked to directly connect to %s"), sn, purple_account_get_username(account)); - purple_request_action(conn, NULL, buf, + purple_request_action_with_hint(conn, NULL, buf, _("This requires a direct connection between " "the two computers and is necessary for IM " "Images. Because your IP address will be " @@ -1041,7 +1041,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/buddy_info.c Tue Oct 09 18:01:51 2007 +0000 @@ -478,12 +478,12 @@ mid->info->qq_show = g_strdup(info->qq_show); mid->info->unknown6 = g_strdup(info->unknown6); - purple_request_fields(gc, _("Modify my information"), + purple_request_fields_with_hint(gc, _("Modify my information"), _("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); + "account", mid); } }
--- a/libpurple/protocols/qq/buddy_opt.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/buddy_opt.c Tue Oct 09 18:01:51 2007 +0000 @@ -209,11 +209,11 @@ msg2 = g_strdup(_("Input your reason:")); nombre = uid_to_purple_name(uid); - purple_request_input(gc, _("Reject request"), msg1, msg2, + purple_request_input_with_hint(gc, _("Reject request"), msg1, msg2, _("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); } @@ -402,7 +402,7 @@ g->gc = gc; g->uid = for_uid; msg = g_strdup_printf(_("User %d needs authentication"), for_uid); - purple_request_input(gc, NULL, msg, + purple_request_input_with_hint(gc, NULL, msg, _("Input request here"), /* TODO: Awkward string to fix post string freeze - standardize auth dialogues? -evands */ _("Would you be my friend?"), TRUE, FALSE, NULL, _("Send"), @@ -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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/group.c Tue Oct 09 18:01:51 2007 +0000 @@ -116,14 +116,14 @@ purple_roomlist_set_fields(rl, fields); purple_roomlist_set_in_progress(qd->roomlist, TRUE); - purple_request_input(gc, _("QQ Qun"), + purple_request_input_with_hint(gc, _("QQ Qun"), _("Please enter external group ID"), _("You can only search for permanent QQ groups\n"), 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); + "chat", gc); return qd->roomlist; }
--- a/libpurple/protocols/qq/group_im.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/group_im.c Tue Oct 09 18:01:51 2007 +0000 @@ -133,11 +133,11 @@ nombre = uid_to_purple_name(user_uid); - purple_request_action(gc, _("QQ Qun Operation"), + purple_request_action_with_hint(gc, _("QQ Qun Operation"), 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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/group_join.c Tue Oct 09 18:01:51 2007 +0000 @@ -132,14 +132,14 @@ g = g_new0(gc_and_uid, 1); g->gc = gc; g->uid = group->internal_group_id; - purple_request_input(gc, NULL, msg, + purple_request_input_with_hint(gc, NULL, msg, _("Input request here"), _("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), purple_connection_get_account(gc), group->group_name_utf8, NULL, - g); + "chat", g); g_free(msg); } @@ -356,13 +356,13 @@ g->gc = gc; g->uid = internal_group_id; - purple_request_action(gc, _("QQ Qun Operation"), + purple_request_action_with_hint(gc, _("QQ Qun Operation"), _("Are you sure you want to leave this Qun?"), _ ("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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/group_opt.c Tue Oct 09 18:01:51 2007 +0000 @@ -121,9 +121,9 @@ g_return_if_fail(g != NULL && g->gc != NULL && g->member > 0); 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_request_action_with_hint(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)); } @@ -137,13 +137,13 @@ msg2 = g_strdup(_("Enter your reason:")); nombre = uid_to_purple_name(g->member); - purple_request_input(g->gc, /* title */ NULL, msg1, msg2, + purple_request_input_with_hint(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); + "chat", g); g_free(msg1); g_free(msg2); @@ -388,13 +388,13 @@ g->gc = gc; g->uid = internal_group_id; - purple_request_action(gc, _("QQ Qun Operation"), + purple_request_action_with_hint(gc, _("QQ Qun Operation"), _("You have successfully created a Qun"), _ ("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/qq.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/qq.c Tue Oct 09 18:01:51 2007 +0000 @@ -417,9 +417,9 @@ g->gc = gc; g->uid = uid; - purple_request_action(gc, _("Block Buddy"), + purple_request_action_with_hint(gc, _("Block Buddy"), _("Are you sure you want to block this buddy?"), NULL, - 1, g, 2, + 1, g, "blist", 2, _("Cancel"), G_CALLBACK(qq_do_nothing_with_gc_and_uid), _("Block"), G_CALLBACK(qq_block_buddy_with_gc_and_uid)); @@ -470,11 +470,11 @@ static void _qq_menu_create_permanent_group(PurplePluginAction * action) { PurpleConnection *gc = (PurpleConnection *) action->context; - purple_request_input(gc, _("Create QQ Qun"), + purple_request_input_with_hint(gc, _("Create QQ Qun"), _("Input Qun name here"), _("Only QQ members can create permanent Qun"), "OpenQ", FALSE, FALSE, NULL, - _("Create"), G_CALLBACK(qq_group_create_with_name), _("Cancel"), NULL, gc); + _("Create"), G_CALLBACK(qq_group_create_with_name), _("Cancel"), NULL, "blist", gc); } */
--- a/libpurple/protocols/qq/sys_msg.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/qq/sys_msg.c Tue Oct 09 18:01:51 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); @@ -165,10 +165,10 @@ g->uid = uid; /* only need to get value */ 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, + purple_request_action_with_hint(gc, NULL, message, _("Would you 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"), @@ -259,10 +259,10 @@ 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, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/sametime/sametime.c Tue Oct 09 18:01:51 2007 +0000 @@ -3382,12 +3382,12 @@ " message to be sent to %s"); msg1 = g_strdup_printf(msgB, buddy->name); - purple_request_fields(gc, _("New Conference"), + purple_request_fields_with_hint(gc, _("New Conference"), 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); + "chat", buddy); g_free(msg1); } @@ -3468,12 +3468,12 @@ " create a new conference to invite this user to."); msg = g_strdup_printf(msgB, buddy->name); - purple_request_fields(gc, _("Invite to Conference"), + purple_request_fields_with_hint(gc, _("Invite to Conference"), 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); + "chat", buddy); g_free(msg); } @@ -3638,13 +3638,13 @@ " continue logging in."); msg = g_strdup_printf(msgA, NSTR(purple_account_get_username(acct))); - purple_request_input(gc, _("Meanwhile Connection Setup"), + purple_request_input_with_hint(gc, _("Meanwhile Connection Setup"), _("No Sametime Community Server Specified"), msg, 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); + "account", gc); g_free(msg); } @@ -5215,10 +5215,10 @@ title = g_strdup_printf(_("Import Sametime List for Account %s"), purple_account_get_username(account)); - purple_request_file(gc, title, NULL, FALSE, + purple_request_file_with_hint(gc, title, NULL, FALSE, G_CALLBACK(st_import_action_cb), NULL, account, NULL, NULL, - gc); + "blist", gc); g_free(title); } @@ -5255,10 +5255,10 @@ title = g_strdup_printf(_("Export Sametime List for Account %s"), purple_account_get_username(account)); - purple_request_file(gc, title, NULL, TRUE, + purple_request_file_with_hint(gc, title, NULL, TRUE, G_CALLBACK(st_export_action_cb), NULL, account, NULL, NULL, - gc); + "blist", gc); g_free(title); } @@ -5391,12 +5391,12 @@ " the list below to add it to your buddy list."); msg = g_strdup_printf(msgB, result->name); - purple_request_fields(gc, _("Select Notes Address Book"), + purple_request_fields_with_hint(gc, _("Select Notes Address Book"), 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); + "blist", pd); g_free(msg); } @@ -5481,12 +5481,12 @@ msgB = _("Enter the name of a Notes Address Book group in the field below" " to add the group and its members to your buddy list."); - purple_request_input(gc, _("Add Group"), msgA, msgB, NULL, + purple_request_input_with_hint(gc, _("Add Group"), msgA, msgB, NULL, FALSE, FALSE, NULL, _("Add"), G_CALLBACK(remote_group_action_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); } @@ -5606,12 +5606,12 @@ msgB = _("Enter a name or partial ID in the field below to search" " for matching users in your Sametime community."); - purple_request_input(gc, _("User Search"), msgA, msgB, NULL, + purple_request_input_with_hint(gc, _("User Search"), msgA, msgB, NULL, FALSE, FALSE, NULL, _("Search"), G_CALLBACK(search_action_cb), _("Cancel"), NULL, purple_connection_get_account(gc), NULL, NULL, - gc); + "blist", gc); }
--- a/libpurple/protocols/silc/buddy.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/buddy.c Tue Oct 09 18:01:51 2007 +0000 @@ -312,9 +312,9 @@ a->hostname = strdup(hostname); a->port = port; - purple_request_action(client->application, _("Key Agreement Request"), tmp, + purple_request_action_with_hint(client->application, _("Key Agreement Request"), tmp, hostname ? tmp2 : NULL, 1, gc->account, client_entry->nickname, - NULL, a, 2, _("Yes"), G_CALLBACK(silcpurple_buddy_keyagr_request_cb), + NULL, "blist", a, 2, _("Yes"), G_CALLBACK(silcpurple_buddy_keyagr_request_cb), _("No"), G_CALLBACK(silcpurple_buddy_keyagr_request_cb)); } @@ -449,11 +449,11 @@ p->client = sg->client; p->conn = sg->conn; p->client_id = client_entry->id; - purple_request_input(gc, _("IM With Password"), NULL, + purple_request_input_with_hint(gc, _("IM With Password"), NULL, _("Set IM Password"), NULL, FALSE, TRUE, NULL, _("OK"), G_CALLBACK(silcpurple_buddy_privkey_cb), _("Cancel"), G_CALLBACK(silcpurple_buddy_privkey_cb), - gc->account, NULL, NULL, p); + gc->account, NULL, NULL, "blist", p); silc_client_list_free(sg->client, sg->conn, clients); } @@ -1056,10 +1056,10 @@ } /* Open file selector to select the public key. */ - purple_request_file(r->client->application, _("Open..."), NULL, FALSE, + purple_request_file_with_hint(r->client->application, _("Open..."), NULL, FALSE, G_CALLBACK(silcpurple_add_buddy_ask_import), G_CALLBACK(silcpurple_add_buddy_ask_pk_cancel), - purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, r); + purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, "blist", r); } @@ -1069,10 +1069,10 @@ char tmp[512]; g_snprintf(tmp, sizeof(tmp), _("The %s buddy is not present in the network"), r->b->name); - purple_request_action(r->client->application, _("Add Buddy"), tmp, + purple_request_action_with_hint(r->client->application, _("Add Buddy"), tmp, _("To add the buddy you must import his/her public key. " "Press Import to import a public key."), 0, - purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, r, 2, + purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, "blist", r, 2, _("Cancel"), G_CALLBACK(silcpurple_add_buddy_ask_pk_cb), _("_Import..."), G_CALLBACK(silcpurple_add_buddy_ask_pk_cb)); } @@ -1179,7 +1179,7 @@ silc_free(fingerprint); } - purple_request_fields(r->client->application, _("Add Buddy"), + purple_request_fields_with_hint(r->client->application, _("Add Buddy"), _("Select correct user"), r->pubkey_search ? _("More than one user was found with the same public key. Select " @@ -1189,7 +1189,7 @@ fields, _("OK"), G_CALLBACK(silcpurple_add_buddy_select_cb), _("Cancel"), G_CALLBACK(silcpurple_add_buddy_select_cancel), - purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, r); + purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, "blist", r); } static void
--- a/libpurple/protocols/silc/chat.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/chat.c Tue Oct 09 18:01:51 2007 +0000 @@ -301,10 +301,10 @@ f = purple_request_fields_get_field(fields, "list"); if (!purple_request_field_list_get_selected(f)) { /* Add new public key */ - purple_request_file(sg->gc, _("Open Public Key..."), NULL, FALSE, + purple_request_file)with_hint(sg->gc, _("Open Public Key..."), NULL, FALSE, G_CALLBACK(silcpurple_chat_chpk_add), G_CALLBACK(silcpurple_chat_chpk_cancel), - purple_connection_get_account(sg->gc), NULL, NULL, sgc); + purple_connection_get_account(sg->gc), NULL, NULL, "conversation", sgc); return; } @@ -441,11 +441,11 @@ if (!channel_pubkeys || !silc_dlist_count(channel_pubkeys)) { f = purple_request_field_list_new("list", NULL); purple_request_field_group_add_field(g, f); - purple_request_fields(sg->gc, _("Channel Authentication"), + purple_request_fields_with_hint(sg->gc, _("Channel Authentication"), _("Channel Authentication"), t, fields, _("Add / Remove"), G_CALLBACK(silcpurple_chat_chpk_cb), _("OK"), G_CALLBACK(silcpurple_chat_chauth_ok), - purple_connection_get_account(sg->gc), NULL, NULL, sgc); + purple_connection_get_account(sg->gc), NULL, NULL, "conversation", sgc); if (channel_pubkeys) silc_dlist_uninit(channel_pubkeys); return; @@ -476,11 +476,11 @@ } purple_request_field_list_set_multi_select(f, FALSE); - purple_request_fields(sg->gc, _("Channel Authentication"), + purple_request_fields_with_hint(sg->gc, _("Channel Authentication"), _("Channel Authentication"), t, fields, _("Add / Remove"), G_CALLBACK(silcpurple_chat_chpk_cb), _("OK"), G_CALLBACK(silcpurple_chat_chauth_ok), - purple_connection_get_account(sg->gc), NULL, NULL, sgc); + purple_connection_get_account(sg->gc), NULL, NULL, "conversation", sgc); } static void @@ -611,10 +611,10 @@ g_snprintf(tmp, sizeof(tmp), _("Please enter the %s channel private group name and passphrase."), p->channel); - purple_request_fields(gc, _("Add Channel Private Group"), NULL, tmp, fields, + purple_request_fields_with_hint(gc, _("Add Channel Private Group"), NULL, tmp, fields, _("Add"), G_CALLBACK(silcpurple_chat_prv_add), _("Cancel"), G_CALLBACK(silcpurple_chat_prv_cancel), - purple_connection_get_account(gc), NULL, NULL, p); + purple_connection_get_account(gc), NULL, NULL, "conversation", p); } @@ -739,12 +739,12 @@ s->channel = ch; s->sg = sg; g_snprintf(tmp, sizeof(tmp), "%d", (int)channel->user_limit); - purple_request_input(gc, _("User Limit"), NULL, + purple_request_input_with_hint(gc, _("User Limit"), NULL, _("Set user limit on channel. Set to zero to reset user limit."), tmp, FALSE, FALSE, NULL, _("OK"), G_CALLBACK(silcpurple_chat_ulimit_cb), _("Cancel"), G_CALLBACK(silcpurple_chat_ulimit_cb), - purple_connection_get_account(gc), NULL, NULL, s); + purple_connection_get_account(gc), NULL, NULL, "conversation", s); } static void
--- a/libpurple/protocols/silc/ops.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/ops.c Tue Oct 09 18:01:51 2007 +0000 @@ -1810,11 +1810,11 @@ return; internal->u.ask_pass = completion; internal->context = context; - purple_request_input(gc, _("Passphrase"), NULL, + purple_request_input_with_hint(gc, _("Passphrase"), NULL, _("Passphrase required"), NULL, FALSE, TRUE, NULL, _("OK"), G_CALLBACK(silc_ask_passphrase_cb), _("Cancel"), G_CALLBACK(silc_ask_passphrase_cb), - purple_connection_get_account(gc), NULL, NULL, internal); + purple_connection_get_account(gc), NULL, NULL, "blist", internal); }
--- a/libpurple/protocols/silc/pk.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/pk.c Tue Oct 09 18:01:51 2007 +0000 @@ -107,9 +107,9 @@ _("Fingerprint and babbleprint for the %s key are:\n\n" "%s\n%s\n"), entity, fingerprint, babbleprint); - purple_request_action(gc, _("Verify Public Key"), tmp, tmp2, + purple_request_action_with_hint(gc, _("Verify Public Key"), tmp, tmp2, PURPLE_DEFAULT_ACTION_NONE, - purple_connection_get_account(gc), entity, NULL, verify, 3, + purple_connection_get_account(gc), entity, NULL, "blist", verify, 3, _("Yes"), G_CALLBACK(silcpurple_verify_cb), _("No"), G_CALLBACK(silcpurple_verify_cb), _("_View..."), G_CALLBACK(silcpurple_verify_details));
--- a/libpurple/protocols/silc/silc.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/silc.c Tue Oct 09 18:01:51 2007 +0000 @@ -813,7 +813,7 @@ purple_request_field_group_add_field(g, f); purple_request_fields_add_group(fields, g); - purple_request_fields(gc, _("User Online Status Attributes"), + purple_request_fields_with_hint(gc, _("User Online Status Attributes"), _("User Online Status Attributes"), _("You can let other users see your online status information " "and your personal information. Please fill the information " @@ -821,7 +821,7 @@ fields, _("OK"), G_CALLBACK(silcpurple_attrs_cb), _("Cancel"), G_CALLBACK(silcpurple_attrs_cancel), - gc->account, NULL, NULL, gc); + gc->account, NULL, NULL, "blist", gc); } static void @@ -1025,11 +1025,11 @@ purple_request_field_group_add_field(g, f); purple_request_fields_add_group(fields, g); - purple_request_fields(gc, _("Create New SILC Key Pair"), + purple_request_fields_with_hint(gc, _("Create New SILC Key Pair"), _("Create New SILC Key Pair"), NULL, fields, _("Generate Key Pair"), G_CALLBACK(silcpurple_create_keypair_cb), _("Cancel"), G_CALLBACK(silcpurple_create_keypair_cancel), - gc->account, NULL, NULL, gc); + gc->account, NULL, NULL, "blist", gc); g_strfreev(u); silc_free(hostname);
--- a/libpurple/protocols/silc/util.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/util.c Tue Oct 09 18:01:51 2007 +0000 @@ -376,10 +376,10 @@ buf = g_string_free(s, FALSE); - purple_request_action(sg->gc, _("Public Key Information"), + purple_request_action_with_hint(sg->gc, _("Public Key Information"), _("Public Key Information"), buf, 0, purple_connection_get_account(sg->gc), - NULL, NULL, context, 1, _("Close"), callback); + NULL, NULL, "blist", context, 1, _("Close"), callback); g_free(buf); silc_free(fingerprint);
--- a/libpurple/protocols/silc/wb.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc/wb.c Tue Oct 09 18:01:51 2007 +0000 @@ -299,8 +299,8 @@ req->channel = channel; req->sg = sg; - purple_request_action(gc, _("Whiteboard"), tmp, NULL, 1, - sg->account, sender->nickname, NULL, req, 2, + purple_request_action_with_hint(gc, _("Whiteboard"), tmp, NULL, 1, + sg->account, sender->nickname, NULL, "blist", req, 2, _("Yes"), G_CALLBACK(silcpurple_wb_request_cb), _("No"), G_CALLBACK(silcpurple_wb_request_cb)); }
--- a/libpurple/protocols/silc10/buddy.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/buddy.c Tue Oct 09 18:01:51 2007 +0000 @@ -309,9 +309,9 @@ a->hostname = strdup(hostname); a->port = port; - purple_request_action(client->application, _("Key Agreement Request"), tmp, + purple_request_action_with_hint(client->application, _("Key Agreement Request"), tmp, hostname ? tmp2 : NULL, 1, gc->account, client_entry->nickname, - NULL, a, 2, _("Yes"), G_CALLBACK(silcpurple_buddy_keyagr_request_cb), + NULL, a, "blist", 2, _("Yes"), G_CALLBACK(silcpurple_buddy_keyagr_request_cb), _("No"), G_CALLBACK(silcpurple_buddy_keyagr_request_cb)); } @@ -462,11 +462,11 @@ p->client = sg->client; p->conn = sg->conn; p->client_id = *clients[0]->id; - purple_request_input(gc, _("IM With Password"), NULL, + purple_request_input_with_hint(gc, _("IM With Password"), NULL, _("Set IM Password"), NULL, FALSE, TRUE, NULL, _("OK"), G_CALLBACK(silcpurple_buddy_privkey_cb), _("Cancel"), G_CALLBACK(silcpurple_buddy_privkey_cb), - gc->account, NULL, NULL, p); + gc->account, NULL, NULL, "blist", p); silc_free(clients); silc_free(nickname); @@ -1064,10 +1064,10 @@ } /* Open file selector to select the public key. */ - purple_request_file(r->client->application, _("Open..."), NULL, FALSE, + purple_request_file_with_hint(r->client->application, _("Open..."), NULL, FALSE, G_CALLBACK(silcpurple_add_buddy_ask_import), G_CALLBACK(silcpurple_add_buddy_ask_pk_cancel), - purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, r); + purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, "blist", r); } @@ -1077,10 +1077,10 @@ char tmp[512]; g_snprintf(tmp, sizeof(tmp), _("The %s buddy is not present in the network"), r->b->name); - purple_request_action(r->client->application, _("Add Buddy"), tmp, + purple_request_action_with_hint(r->client->application, _("Add Buddy"), tmp, _("To add the buddy you must import his/her public key. " "Press Import to import a public key."), 0, - purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, r, 2, + purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, "blist", r, 2, _("Cancel"), G_CALLBACK(silcpurple_add_buddy_ask_pk_cb), _("_Import..."), G_CALLBACK(silcpurple_add_buddy_ask_pk_cb)); } @@ -1177,7 +1177,7 @@ silc_free(fingerprint); } - purple_request_fields(r->client->application, _("Add Buddy"), + purple_request_fields_with_hint(r->client->application, _("Add Buddy"), _("Select correct user"), r->pubkey_search ? _("More than one user was found with the same public key. Select " @@ -1187,7 +1187,7 @@ fields, _("OK"), G_CALLBACK(silcpurple_add_buddy_select_cb), _("Cancel"), G_CALLBACK(silcpurple_add_buddy_select_cancel), - purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, r); + purple_buddy_get_account(r->b), purple_buddy_get_name(r->b), NULL, "blist", r); } static void
--- a/libpurple/protocols/silc10/chat.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/chat.c Tue Oct 09 18:01:51 2007 +0000 @@ -288,10 +288,10 @@ f = purple_request_fields_get_field(fields, "list"); if (!purple_request_field_list_get_selected(f)) { /* Add new public key */ - purple_request_file(sg->gc, _("Open Public Key..."), NULL, FALSE, + purple_request_file_with_hint(sg->gc, _("Open Public Key..."), NULL, FALSE, G_CALLBACK(silcpurple_chat_chpk_add), G_CALLBACK(silcpurple_chat_chpk_cancel), - purple_connection_get_account(sg->gc), NULL, NULL, sgc); + purple_connection_get_account(sg->gc), NULL, NULL, "conversation", sgc); return; } @@ -419,11 +419,11 @@ if (!channel_pubkeys) { f = purple_request_field_list_new("list", NULL); purple_request_field_group_add_field(g, f); - purple_request_fields(sg->gc, _("Channel Authentication"), + purple_request_fields_with_hint(sg->gc, _("Channel Authentication"), _("Channel Authentication"), t, fields, _("Add / Remove"), G_CALLBACK(silcpurple_chat_chpk_cb), _("OK"), G_CALLBACK(silcpurple_chat_chauth_ok), - purple_connection_get_account(sg->gc), NULL, NULL, sgc); + purple_connection_get_account(sg->gc), NULL, NULL, "conversation", sgc); return; } sgc->pubkeys = silc_buffer_copy(channel_pubkeys); @@ -458,11 +458,11 @@ } purple_request_field_list_set_multi_select(f, FALSE); - purple_request_fields(sg->gc, _("Channel Authentication"), + purple_request_fields_with_hint(sg->gc, _("Channel Authentication"), _("Channel Authentication"), t, fields, _("Add / Remove"), G_CALLBACK(silcpurple_chat_chpk_cb), _("OK"), G_CALLBACK(silcpurple_chat_chauth_ok), - purple_connection_get_account(sg->gc), NULL, NULL, sgc); + purple_connection_get_account(sg->gc), NULL, NULL, "cnoversation", sgc); silc_argument_payload_free(chpks); } @@ -595,10 +595,10 @@ g_snprintf(tmp, sizeof(tmp), _("Please enter the %s channel private group name and passphrase."), p->channel); - purple_request_fields(gc, _("Add Channel Private Group"), NULL, tmp, fields, + purple_request_fields_with_hint(gc, _("Add Channel Private Group"), NULL, tmp, fields, _("Add"), G_CALLBACK(silcpurple_chat_prv_add), _("Cancel"), G_CALLBACK(silcpurple_chat_prv_cancel), - purple_connection_get_account(gc), NULL, NULL, p); + purple_connection_get_account(gc), NULL, NULL, "conversation", p); } @@ -723,12 +723,12 @@ s->channel = ch; s->sg = sg; g_snprintf(tmp, sizeof(tmp), "%d", (int)channel->user_limit); - purple_request_input(gc, _("User Limit"), NULL, + purple_request_input_with_hint(gc, _("User Limit"), NULL, _("Set user limit on channel. Set to zero to reset user limit."), tmp, FALSE, FALSE, NULL, _("OK"), G_CALLBACK(silcpurple_chat_ulimit_cb), _("Cancel"), G_CALLBACK(silcpurple_chat_ulimit_cb), - purple_connection_get_account(gc), NULL, NULL, s); + purple_connection_get_account(gc), NULL, NULL, "conversation", s); } static void
--- a/libpurple/protocols/silc10/ops.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/ops.c Tue Oct 09 18:01:51 2007 +0000 @@ -1291,9 +1291,9 @@ #if 0 /* XXX for now, let's not show attrs here */ if (client_entry->attrs) - purple_request_action(gc, _("User Information"), + purple_request_action_with_hint(gc, _("User Information"), _("User Information"), - buf, 1, client_entry, 2, + buf, 1, "blist", client_entry, 2, _("OK"), G_CALLBACK(silcpurple_whois_more), _("_More..."), G_CALLBACK(silcpurple_whois_more), gc->account, NULL, NULL); else @@ -1898,11 +1898,11 @@ return; internal->completion = completion; internal->context = context; - purple_request_input(gc, _("Passphrase"), NULL, + purple_request_input_with_hint(gc, _("Passphrase"), NULL, _("Passphrase required"), NULL, FALSE, TRUE, NULL, _("OK"), G_CALLBACK(silc_ask_passphrase_cb), _("Cancel"), G_CALLBACK(silc_ask_passphrase_cb), - purple_connection_get_account(gc), NULL, NULL, internal); + purple_connection_get_account(gc), NULL, NULL, "blist", internal); }
--- a/libpurple/protocols/silc10/pk.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/pk.c Tue Oct 09 18:01:51 2007 +0000 @@ -113,9 +113,9 @@ _("Fingerprint and babbleprint for the %s key are:\n\n" "%s\n%s\n"), entity, fingerprint, babbleprint); - purple_request_action(gc, _("Verify Public Key"), tmp, tmp2, + purple_request_action_with_hint(gc, _("Verify Public Key"), tmp, tmp2, PURPLE_DEFAULT_ACTION_NONE, - purple_connection_get_account(gc), entity, NULL, verify, 3, + purple_connection_get_account(gc), entity, NULL, verify, "blist", 3, _("Yes"), G_CALLBACK(silcpurple_verify_cb), _("No"), G_CALLBACK(silcpurple_verify_cb), _("_View..."), G_CALLBACK(silcpurple_verify_details));
--- a/libpurple/protocols/silc10/silc.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/silc.c Tue Oct 09 18:01:51 2007 +0000 @@ -726,7 +726,7 @@ purple_request_field_group_add_field(g, f); purple_request_fields_add_group(fields, g); - purple_request_fields(gc, _("User Online Status Attributes"), + purple_request_fields_with_hint(gc, _("User Online Status Attributes"), _("User Online Status Attributes"), _("You can let other users see your online status information " "and your personal information. Please fill the information " @@ -734,7 +734,7 @@ fields, _("OK"), G_CALLBACK(silcpurple_attrs_cb), _("Cancel"), G_CALLBACK(silcpurple_attrs_cancel), - gc->account, NULL, NULL, gc); + gc->account, NULL, NULL, "blist", gc); } static void @@ -940,7 +940,7 @@ _("Create New SILC Key Pair"), NULL, fields, _("Generate Key Pair"), G_CALLBACK(silcpurple_create_keypair_cb), _("Cancel"), G_CALLBACK(silcpurple_create_keypair_cancel), - gc->account, NULL, NULL, gc); + gc->account, NULL, NULL, "blist", gc); g_strfreev(u); silc_free(hostname);
--- a/libpurple/protocols/silc10/util.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/util.c Tue Oct 09 18:01:51 2007 +0000 @@ -371,10 +371,10 @@ buf = g_string_free(s, FALSE); - purple_request_action(sg->gc, _("Public Key Information"), + purple_request_action_with_hint(sg->gc, _("Public Key Information"), _("Public Key Information"), buf, 0, purple_connection_get_account(sg->gc), - NULL, NULL, context, 1, _("Close"), callback); + NULL, NULL, context, "blist", 1, _("Close"), callback); g_free(buf); silc_free(fingerprint);
--- a/libpurple/protocols/silc10/wb.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/silc10/wb.c Tue Oct 09 18:01:51 2007 +0000 @@ -299,8 +299,8 @@ req->channel = channel; req->sg = sg; - purple_request_action(gc, _("Whiteboard"), tmp, NULL, 1, - sg->account, sender->nickname, NULL, req, 2, + purple_request_action_with_hint(gc, _("Whiteboard"), tmp, NULL, 1, + sg->account, sender->nickname, NULL, "conversation", req, 2, _("Yes"), G_CALLBACK(silcpurple_wb_request_cb), _("No"), G_CALLBACK(silcpurple_wb_request_cb)); }
--- a/libpurple/protocols/toc/toc.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/toc/toc.c Tue Oct 09 18:01:51 2007 +0000 @@ -2216,8 +2216,8 @@ g_snprintf(buf, sizeof(buf), _("%s requests you to send them a file"), ft->user); } - purple_request_accept_cancel(ft->gc, NULL, buf, NULL, - PURPLE_DEFAULT_ACTION_NONE, ft, + purple_request_accept_cancel_with_hint(ft->gc, NULL, buf, NULL, + PURPLE_DEFAULT_ACTION_NONE, "xfer", ft, G_CALLBACK(toc_accept_ft), G_CALLBACK(toc_reject_ft)); }
--- a/libpurple/protocols/yahoo/yahoo.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Tue Oct 09 18:01:51 2007 +0000 @@ -1028,12 +1028,12 @@ static void yahoo_buddy_add_deny_reason_cb(gpointer data) { struct yahoo_add_request *add_req = data; - purple_request_input(add_req->gc, NULL, _("Authorization denied message:"), + purple_request_input_with_hint(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), purple_connection_get_account(add_req->gc), add_req->who, NULL, - add_req); + "blist", add_req); } static void yahoo_buddy_denied_our_add(PurpleConnection *gc, const char *who, const char *reason) @@ -2065,9 +2065,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, + purple_request_yes_no_with_hint(gc, NULL, _("Ignore buddy?"), buf, 0, gc->account, who, NULL, - b, + "blist", b, G_CALLBACK(ignore_buddy), G_CALLBACK(keep_buddy)); break; @@ -3494,23 +3494,23 @@ static void yahoo_show_act_id(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; - purple_request_input(gc, NULL, _("Activate which ID?"), NULL, + purple_request_input_with_hint(gc, NULL, _("Activate which ID?"), NULL, purple_connection_get_display_name(gc), FALSE, FALSE, NULL, _("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) { PurpleConnection *gc = (PurpleConnection *) action->context; - purple_request_input(gc, NULL, _("Join whom in chat?"), NULL, + purple_request_input_with_hint(gc, NULL, _("Join who in chat?"), NULL, "", FALSE, FALSE, NULL, _("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) {
--- a/libpurple/request.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/request.c Tue Oct 09 18:01:51 2007 +0000 @@ -1142,6 +1142,20 @@ PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { + return purple_request_input_with_hint( + handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, ok_cb, + cancel_text, cancel_cb, account, who, conv, "blist", user_data); +} + +void * +purple_request_input_with_hint(void *handle, const char *title, const char *primary, + const char *secondary, const char *default_value, + 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, + const char *ui_hint, void *user_data) +{ PurpleRequestUiOps *ops; g_return_val_if_fail(ok_text != NULL, NULL); @@ -1161,7 +1175,7 @@ ok_text, ok_cb, cancel_text, cancel_cb, account, who, conv, - user_data); + ui_hint, user_data); handles = g_list_append(handles, info); @@ -1186,10 +1200,34 @@ g_return_val_if_fail(ok_cb != NULL, NULL); va_start(args, user_data); - ui_handle = purple_request_choice_varg(handle, title, primary, secondary, + ui_handle = purple_request_choice_varg_with_hint(handle, title, primary, secondary, default_value, ok_text, ok_cb, cancel_text, cancel_cb, - account, who, conv, user_data, args); + account, who, conv, "blist", user_data, args); + va_end(args); + + return ui_handle; +} + +void * +purple_request_choice_with_hint(void *handle, const char *title, const char *primary, + const char *secondary, int default_value, + const char *ok_text, GCallback ok_cb, + const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, ...) +{ + void *ui_handle; + va_list args; + + g_return_val_if_fail(ok_text != NULL, NULL); + g_return_val_if_fail(ok_cb != NULL, NULL); + + va_start(args, user_data); + ui_handle = purple_request_choice_varg_with_hint(handle, title, primary, secondary, + default_value, ok_text, ok_cb, + cancel_text, cancel_cb, + account, who, conv, ui_hint, user_data, args); va_end(args); return ui_handle; @@ -1204,6 +1242,20 @@ PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data, va_list choices) { + return purple_request_choice_varg_with_hint( + handle, title, primary, secondary, default_value, ok_text, ok_cb, + cancel_text, cancel_cb, account, who, conv, "blist", user_data, choices); +} + +void * +purple_request_choice_varg_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + int default_value, + const char *ok_text, GCallback ok_cb, + const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, va_list choices) +{ PurpleRequestUiOps *ops; g_return_val_if_fail(ok_text != NULL, NULL); @@ -1222,7 +1274,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); @@ -1244,9 +1296,29 @@ g_return_val_if_fail(action_count > 0, NULL); va_start(args, action_count); - ui_handle = purple_request_action_varg(handle, title, primary, secondary, + ui_handle = purple_request_action_varg_with_hint(handle, title, primary, secondary, default_action, account, who, conv, - user_data, action_count, args); + "blist", user_data, action_count, args); + va_end(args); + + return ui_handle; +} + +void * +purple_request_action_with_hint(void *handle, const char *title, const char *primary, + const char *secondary, int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, size_t action_count, ...) +{ + void *ui_handle; + va_list args; + + g_return_val_if_fail(action_count > 0, NULL); + + va_start(args, action_count); + ui_handle = purple_request_action_varg_with_hint(handle, title, primary, secondary, + default_action, account, who, conv, + ui_hint, user_data, action_count, args); va_end(args); return ui_handle; @@ -1257,7 +1329,19 @@ const char *primary, const char *secondary, int default_action, PurpleAccount *account, const char *who, PurpleConversation *conv, - void *user_data, size_t action_count, va_list actions) + void *user_data, size_t action_count, va_list actions) +{ + return purple_request_action_varg_with_hint( + handle, title, primary, secondary, default_action, account, who, conv, + "blist", user_data, action_count, actions); +} + +void * +purple_request_action_varg_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, size_t action_count, va_list actions) { PurpleRequestUiOps *ops; @@ -1273,7 +1357,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); @@ -1291,6 +1375,19 @@ PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { + return purple_request_fields_with_hint( + handle, title, primary, secondary, fields, ok_text, ok_cb, + cancel_text, cancel_cb, account, who, conv, "blist", user_data); +} + +void * +purple_request_fields_with_hint(void *handle, 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, + const char *ui_hint, void *user_data) +{ PurpleRequestUiOps *ops; g_return_val_if_fail(fields != NULL, NULL); @@ -1309,7 +1406,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); @@ -1326,6 +1423,17 @@ PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { + return purple_request_file_with_hint( + handle, title, filename, savedialog, ok_cb, cancel_cb, account, who, conv, "blist", user_data); +} + +void * +purple_request_file_with_hint(void *handle, const char *title, const char *filename, + gboolean savedialog, + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data) +{ PurpleRequestUiOps *ops; ops = purple_request_get_ui_ops(); @@ -1338,7 +1446,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; } @@ -1352,6 +1460,16 @@ PurpleAccount *account, const char *who, PurpleConversation *conv, void *user_data) { + return purple_request_folder_with_hint( + handle, title, dirname, ok_cb, cancel_cb, account, who, conv, "blist", user_data); +} + +void * +purple_request_folder_with_hint(void *handle, const char *title, const char *dirname, + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data) +{ PurpleRequestUiOps *ops; ops = purple_request_get_ui_ops(); @@ -1365,7 +1483,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/request.h Tue Oct 09 18:01:51 2007 +0000 @@ -189,33 +189,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, 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, 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); @@ -1187,10 +1187,23 @@ * @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. */ +void *purple_request_input_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + const char *default_value, + 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, + const char *ui_hint, void *user_data); + +/** + * @deprecated Please use purple_request_input_with_hint() instead. + */ void *purple_request_input(void *handle, const char *title, const char *primary, const char *secondary, const char *default_value, @@ -1217,12 +1230,24 @@ * @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. * * @return A UI-specific handle. */ +void *purple_request_choice_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + int default_value, + const char *ok_text, GCallback ok_cb, + const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, ...) G_GNUC_NULL_TERMINATED; + +/** + * @deprecated Please use purple_request_choice_with_hint() instead. + */ void *purple_request_choice(void *handle, const char *title, const char *primary, const char *secondary, int default_value, @@ -1248,12 +1273,24 @@ * @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. * * @return A UI-specific handle. */ +void *purple_request_choice_varg_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + int default_value, + const char *ok_text, GCallback ok_cb, + const char *cancel_text, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, va_list choices); + +/** + * @deprecated Please use purple_request_choice_varg_with_hint() instead. + */ void *purple_request_choice_varg(void *handle, const char *title, const char *primary, const char *secondary, int default_value, @@ -1277,6 +1314,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 @@ -1289,6 +1327,15 @@ * * @return A UI-specific handle. */ +void *purple_request_action_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, size_t action_count, ...); + +/** + * @deprecated Please use purple_request_action_with_hint() instead. + */ void *purple_request_action(void *handle, const char *title, const char *primary, const char *secondary, int default_action, @@ -1310,12 +1357,23 @@ * @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. * * @return A UI-specific handle. */ +void *purple_request_action_varg_with_hint(void *handle, const char *title, + const char *primary, const char *secondary, + int default_action, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data, size_t action_count, + va_list actions); + +/** + * @deprecated Please use purple_request_action_varg_with_hint() instead. + */ void *purple_request_action_varg(void *handle, const char *title, const char *primary, const char *secondary, int default_action, @@ -1340,10 +1398,22 @@ * @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. */ +void *purple_request_fields_with_hint(void *handle, 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, + const char *ui_hint, void *user_data); + +/** + * @deprecated Please use purple_request_fields_with_hint() instead. + */ void *purple_request_fields(void *handle, const char *title, const char *primary, const char *secondary, PurpleRequestFields *fields, @@ -1370,6 +1440,16 @@ /** * A wrapper for purple_request_action() that uses @c Yes and @c No buttons. */ +#define purple_request_yes_no_with_hint(handle, title, primary, secondary, \ + default_action, account, who, conv, \ + ui_hint, user_data, yes_cb, no_cb) \ + purple_request_action_with_hint((handle), (title), (primary), (secondary), \ + (default_action), account, who, conv, (ui_hint), (user_data), 2, \ + _("_Yes"), (yes_cb), _("_No"), (no_cb)) + +/** + * @deprecated Please use purple_request_yes_no_with_hint instead. + */ #define purple_request_yes_no(handle, title, primary, secondary, \ default_action, account, who, conv, \ user_data, yes_cb, no_cb) \ @@ -1380,6 +1460,16 @@ /** * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons. */ +#define purple_request_ok_cancel_with_hint(handle, title, primary, secondary, \ + default_action, account, who, conv, \ + ui_hint, user_data, ok_cb, cancel_cb) \ + purple_request_action_with_hint((handle), (title), (primary), (secondary), \ + (default_action), account, who, conv, (ui_hint), (user_data), 2, \ + _("_OK"), (ok_cb), _("_Cancel"), (cancel_cb)) + +/** + * @deprecated Please use purple_request_ok_cancel_with_hint instead. + */ #define purple_request_ok_cancel(handle, title, primary, secondary, \ default_action, account, who, conv, \ user_data, ok_cb, cancel_cb) \ @@ -1390,6 +1480,16 @@ /** * A wrapper for purple_request_action() that uses Accept and Cancel buttons. */ +#define purple_request_accept_cancel_with_hint(handle, title, primary, secondary, \ + default_action, account, who, conv, \ + ui_hint, user_data, accept_cb, cancel_cb) \ + purple_request_action_with_hint((handle), (title), (primary), (secondary), \ + (default_action), account, who, conv, (ui_hint), (user_data), 2, \ + _("_Accept"), (accept_cb), _("_Cancel"), (cancel_cb)) + +/** + * @deprecated Please use purple_request_accept_cancel_with_hint instead. + */ #define purple_request_accept_cancel(handle, title, primary, secondary, \ default_action, account, who, conv, \ user_data, accept_cb, cancel_cb) \ @@ -1413,10 +1513,20 @@ * @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. */ +void *purple_request_file_with_hint(void *handle, const char *title, const char *filename, + gboolean savedialog, + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data); + +/** + * @deprecated Please use purple_request_file_with_hint() instead. + */ void *purple_request_file(void *handle, const char *title, const char *filename, gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, @@ -1437,10 +1547,19 @@ * @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. */ +void *purple_request_folder_with_hint(void *handle, const char *title, const char *dirname, + GCallback ok_cb, GCallback cancel_cb, + PurpleAccount *account, const char *who, PurpleConversation *conv, + const char *ui_hint, void *user_data); + +/** + * @deprecated Please use purple_request_folder_with_hint() instead. + */ 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,
--- a/libpurple/server.c Tue Oct 09 13:41:11 2007 +0000 +++ b/libpurple/server.c Tue Oct 09 18:01:51 2007 +0000 @@ -799,9 +799,9 @@ who, purple_account_get_username(account), name); - purple_request_accept_cancel(gc, NULL, _("Accept chat invitation?"), buf2, + purple_request_accept_cancel_with_hint(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/gtkaccount.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkaccount.c Tue Oct 09 18:01:51 2007 +0000 @@ -1901,9 +1901,9 @@ purple_account_get_username(account)); purple_request_close_with_handle(account); - purple_request_action(account, NULL, buf, NULL, 0, + purple_request_action_with_hint(account, NULL, buf, NULL, 0, account, NULL, NULL, - account, 2, + "accounts", account, 2, _("Delete"), delete_account_cb, _("Cancel"), NULL); g_free(buf);
--- a/pidgin/gtkblist.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkblist.c Tue Oct 09 18:01:51 2007 +0000 @@ -522,9 +522,9 @@ if (i > 1) { char *msg = g_strdup_printf(ngettext("You have %d contact named %s. Would you like to merge them?", "You currently have %d contacts named %s. Would you like to merge them?", i), i, alias); - purple_request_action(NULL, NULL, msg, _("Merging these contacts will cause them to share a single entry on the buddy list and use a single conversation window. " + purple_request_action_with_hint(NULL, NULL, msg, _("Merging these contacts will cause them to share a single entry on the buddy list and use a single conversation window. " "You can separate them again by choosing 'Expand' from the contact's context menu"), 0, NULL, NULL, NULL, - merges, 2, _("_Merge"), PURPLE_CALLBACK(gtk_blist_do_personize), _("_Cancel"), PURPLE_CALLBACK(g_list_free)); + "blist", merges, 2, _("_Merge"), PURPLE_CALLBACK(gtk_blist_do_personize), _("_Cancel"), PURPLE_CALLBACK(g_list_free)); g_free(msg); } else g_list_free(merges); @@ -617,7 +617,7 @@ static void gtk_blist_menu_bp_cb(GtkWidget *w, PurpleBuddy *b) { - pidgin_pounce_editor_show(b->account, b->name, NULL); + pidgin_pounce_editor_show_with_parent(GTK_WINDOW(gtkblist->window), b->account, b->name, NULL); } static void gtk_blist_menu_showlog_cb(GtkWidget *w, PurpleBlistNode *node) @@ -643,7 +643,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_with_parent(GTK_WINDOW(gtkblist->window), (PurpleContact *)node); pidgin_clear_cursor(gtkblist->window); return; } else { @@ -655,7 +655,7 @@ } if (name && account) { - pidgin_log_show(type, name, account); + pidgin_log_show_with_parent(GTK_WINDOW(gtkblist->window), type, name, account); g_free(name); pidgin_clear_cursor(gtkblist->window); @@ -682,11 +682,6 @@ pidgin_blist_update(purple_get_blist(), node); } -static void gtk_blist_show_systemlog_cb() -{ - pidgin_syslog_show(); -} - static void gtk_blist_show_onlinehelp_cb() { purple_notify_uri(NULL, PURPLE_WEBSITE "documentation"); @@ -3057,6 +3052,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 * @@ -3090,15 +3090,15 @@ /* Tools */ { N_("/_Tools"), NULL, NULL, 0, "<Branch>", NULL }, - { N_("/Tools/Buddy _Pounces"), NULL, pidgin_pounces_manager_show, 0, "<Item>", NULL }, + { N_("/Tools/Buddy _Pounces"), NULL, pidgin_blist_show_with_parent, (int)pidgin_pounces_manager_show_with_parent, "<Item>", NULL }, { N_("/Tools/_Certificates"), NULL, pidgin_certmgr_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_with_parent, "<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 }, { N_("/Tools/_File Transfers"), "<CTL>T", pidgin_xfer_dialog_show, 0, "<Item>", NULL }, { N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "<Item>", NULL }, - { N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 0, "<Item>", NULL }, + { N_("/Tools/System _Log"), NULL, pidgin_blist_show_with_parent, (int)pidgin_syslog_show_with_parent, "<Item>", NULL }, { "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL }, { N_("/Tools/Mute _Sounds"), "<CTL>S", pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL }, /* Help */ @@ -3106,9 +3106,9 @@ { 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_with_parent, "<StockItem>", GTK_STOCK_ABOUT }, #else - { N_("/Help/_About"), NULL, pidgin_dialogs_about, 0, "<Item>", NULL }, + { N_("/Help/_About"), NULL, pidgin_blist_show_with_parent, (int)pidgin_dialogs_about_with_parent, "<Item>", NULL }, #endif }; @@ -4323,9 +4323,9 @@ text = g_hash_table_lookup(gtkblist->connection_errors, account); enabled = purple_account_get_enabled(account, purple_core_get_ui()); - purple_request_action(account, _("Connection Error"), primary, text, 2, + purple_request_action_with_hint(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"), @@ -6271,13 +6271,13 @@ static void pidgin_blist_request_add_group(void) { - purple_request_input(NULL, _("Add Group"), NULL, + purple_request_input_with_hint(NULL, _("Add Group"), NULL, _("Please enter the name of the group to be added."), NULL, FALSE, FALSE, NULL, _("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } void
--- a/pidgin/gtkcertmgr.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkcertmgr.c Tue Oct 09 18:01:51 2007 +0000 @@ -184,7 +184,7 @@ if the window gets closed unusually, such as by handle deletion */ /* TODO: Display some more information on the certificate? */ - purple_request_input(tpm_dat, + purple_request_input_with_hint(tpm_dat, _("Certificate Import"), _("Specify a hostname"), _("Type the host name this certificate is for."), @@ -197,7 +197,7 @@ _("Cancel"), G_CALLBACK(tls_peers_mgmt_import_cancel2_cb), NULL, NULL, NULL, /* No account/who/conv*/ - crt /* Pass cert instance to callback*/ + "certmgr", crt /* Pass cert instance to callback*/ ); g_free(default_hostname); @@ -220,13 +220,13 @@ tls_peers_mgmt_import_cb(GtkWidget *button, gpointer data) { /* TODO: need to tell the user that we want a .PEM file! */ - purple_request_file(tpm_dat, + purple_request_file_with_hint(tpm_dat, _("Select a PEM certificate"), "certificate.pem", FALSE, /* Not a save dialog */ G_CALLBACK(tls_peers_mgmt_import_ok_cb), NULL, /* Do nothing if cancelled */ - NULL, NULL, NULL, NULL );/* No account,conv,etc. */ + NULL, NULL, NULL, "certmgr", NULL );/* No account,conv,etc. */ } static void @@ -295,14 +295,14 @@ /* TODO: inform user that it will be a PEM? */ - purple_request_file(tpm_dat, + purple_request_file_with_hint(tpm_dat, _("PEM X.509 Certificate Export"), "certificate.pem", TRUE, /* Is a save dialog */ G_CALLBACK(tls_peers_mgmt_export_ok_cb), G_CALLBACK(tls_peers_mgmt_export_cancel_cb), NULL, NULL, NULL, /* No account,conv,etc. */ - crt); /* Pass the certificate on to the callback */ + "certmgr", crt); /* Pass the certificate on to the callback */ } static void @@ -371,10 +371,11 @@ primary = g_strdup_printf( _("Really delete certificate for %s?"), id ); - purple_request_yes_no(tpm_dat, _("Confirm certificate delete"), + purple_request_yes_no_with_hint(tpm_dat, _("Confirm certificate delete"), primary, NULL, /* Can this be NULL? */ 2, /* NO is default action */ NULL, NULL, NULL, + "certmgr", id, /* id ownership passed to callback */ tls_peers_mgmt_delete_confirm_cb, tls_peers_mgmt_delete_confirm_cb );
--- a/pidgin/gtkconv.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkconv.c Tue Oct 09 18:01:51 2007 +0000 @@ -1029,11 +1029,11 @@ if (*c == '/' || *c == '\\') *c = ' '; } - purple_request_file(PIDGIN_CONVERSATION(conv), _("Save Conversation"), + purple_request_file_with_hint(PIDGIN_CONVERSATION(conv), _("Save Conversation"), buf, TRUE, G_CALLBACK(savelog_writefile_cb), NULL, NULL, NULL, conv, - conv); + "conversation", conv); g_free(buf); } @@ -1081,7 +1081,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_with_parent(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); @@ -1090,7 +1090,7 @@ } g_slist_free(buddies); - pidgin_log_show(type, name, account); + pidgin_log_show_with_parent(GTK_WINDOW(win->window), type, name, account); gdk_window_set_cursor(gtkblist->window->window, NULL); gdk_window_set_cursor(win->window->window, NULL); @@ -1236,7 +1236,7 @@ conv = pidgin_conv_window_get_active_gtkconv(win)->active_conv; - pidgin_pounce_editor_show(purple_conversation_get_account(conv), + pidgin_pounce_editor_show_with_parent(GTK_WINDOW(win->window), purple_conversation_get_account(conv), purple_conversation_get_name(conv), NULL); } @@ -2718,10 +2718,10 @@ buf = g_strdup_printf("%s.%s", purple_normalize(conv->account, conv->name), ext); - purple_request_file(gtkconv, _("Save Icon"), buf, TRUE, + purple_request_file_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkdebug.c Tue Oct 09 18:01:51 2007 +0000 @@ -36,6 +36,7 @@ #include "gtkimhtml.h" #include "gtkutils.h" #include "pidginstock.h" +#include "gtkblist.h" #ifdef HAVE_REGEX_H # include <regex.h> @@ -231,10 +232,10 @@ static void save_cb(GtkWidget *w, DebugWindow *win) { - purple_request_file(win, _("Save Debug Log"), "purple-debug.log", TRUE, + purple_request_file_with_hint(win, _("Save Debug Log"), "purple-debug.log", TRUE, G_CALLBACK(save_writefile_cb), NULL, NULL, NULL, NULL, - win); + "blist", win); } static void @@ -673,6 +674,7 @@ static DebugWindow * debug_window_new(void) { + PidginBuddyList *blist; DebugWindow *win; GtkWidget *vbox; GtkWidget *toolbar; @@ -687,6 +689,9 @@ height = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/height"); PIDGIN_DIALOG(win->window); + if ((blist = pidgin_blist_get_default_gtk_blist()) != NULL) + if (blist->window) + gtk_window_set_transient_for(GTK_WINDOW(win->window), GTK_WINDOW(blist->window)); purple_debug_info("gtkdebug", "Setting dimensions to %d, %d\n", width, height);
--- a/pidgin/gtkdialogs.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkdialogs.c Tue Oct 09 18:01:51 2007 +0000 @@ -334,6 +334,13 @@ void pidgin_dialogs_about() { + PidginBuddyList *blist = pidgin_blist_get_default_gtk_blist(); + + pidgin_dialogs_about_with_parent(blist ? GTK_WINDOW(blist->window) : NULL); +} + +void pidgin_dialogs_about_with_parent(GtkWindow *parent) +{ GtkWidget *hbox; GtkWidget *vbox; GtkWidget *logo; @@ -349,11 +356,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); @@ -764,7 +775,7 @@ purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("New Instant Message"), + purple_request_fields_with_hint(purple_get_blist(), _("New Instant Message"), NULL, _("Please enter the screen name or alias of the person " "you would like to IM."), @@ -772,7 +783,7 @@ _("OK"), G_CALLBACK(pidgin_dialogs_im_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } void @@ -903,7 +914,7 @@ purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("Get User Info"), + purple_request_fields_with_hint(purple_get_blist(), _("Get User Info"), NULL, _("Please enter the screen name or alias of the person " "whose info you would like to view."), @@ -911,7 +922,7 @@ _("OK"), G_CALLBACK(pidgin_dialogs_info_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -939,7 +950,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_with_parent(GTK_WINDOW(gtkblist->window), (PurpleContact *)node->parent); g_slist_free(buddies); pidgin_clear_cursor(gtkblist->window); g_free(username); @@ -948,7 +959,7 @@ } g_slist_free(buddies); - pidgin_log_show(PURPLE_LOG_IM, username, account); + pidgin_log_show_with_parent(GTK_WINDOW(gtkblist->window), PURPLE_LOG_IM, username, account); pidgin_clear_cursor(gtkblist->window); } @@ -995,7 +1006,7 @@ purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("View User Log"), + purple_request_fields_with_hint(purple_get_blist(), _("View User Log"), NULL, _("Please enter the screen name or alias of the person " "whose log you would like to view."), @@ -1003,7 +1014,7 @@ _("OK"), G_CALLBACK(pidgin_dialogs_log_cb), _("Cancel"), NULL, NULL, NULL, NULL, - NULL); + "blist", NULL); } static void @@ -1017,13 +1028,13 @@ { g_return_if_fail(contact != NULL); - purple_request_input(NULL, _("Alias Contact"), NULL, + purple_request_input_with_hint(NULL, _("Alias Contact"), NULL, _("Enter an alias for this contact."), contact->alias, FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_contact_cb), _("Cancel"), NULL, NULL, purple_contact_get_alias(contact), NULL, - contact); + "blist", contact); } static void @@ -1042,12 +1053,12 @@ secondary = g_strdup_printf(_("Enter an alias for %s."), buddy->name); - purple_request_input(NULL, _("Alias Buddy"), NULL, + purple_request_input_with_hint(NULL, _("Alias Buddy"), NULL, secondary, buddy->alias, FALSE, FALSE, NULL, _("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); } @@ -1063,13 +1074,13 @@ { g_return_if_fail(chat != NULL); - purple_request_input(NULL, _("Alias Chat"), NULL, + purple_request_input_with_hint(NULL, _("Alias Chat"), NULL, _("Enter an alias for this chat."), chat->alias, FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_chat_cb), _("Cancel"), NULL, chat->account, NULL, NULL, - chat); + "blist", chat); } static void @@ -1111,9 +1122,9 @@ "want to continue?", contact->totalsize - 1), buddy->name, contact->totalsize - 1); - purple_request_action(contact, NULL, _("Remove Contact"), text, 0, + purple_request_action_with_hint(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); @@ -1152,9 +1163,9 @@ ggp->parent = source; ggp->new_name = g_strdup(new_name); - purple_request_action(source, NULL, _("Merge Groups"), text, 0, + purple_request_action_with_hint(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)); @@ -1208,9 +1219,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, + purple_request_action_with_hint(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); @@ -1247,9 +1258,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, + purple_request_action_with_hint(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); @@ -1274,9 +1285,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, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkdialogs.h Tue Oct 09 18:01:51 2007 +0000 @@ -33,6 +33,7 @@ /* 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_about_with_parent(GtkWindow *parent); void pidgin_dialogs_im(void); void pidgin_dialogs_im_with_user(PurpleAccount *, const char *); void pidgin_dialogs_info(void);
--- a/pidgin/gtkimhtmltoolbar.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkimhtmltoolbar.c Tue Oct 09 18:01:51 2007 +0000 @@ -184,6 +184,8 @@ g_signal_connect_after(G_OBJECT(toolbar->font_dialog), "realize", G_CALLBACK(realize_toolbar_font), toolbar); } + gtk_window_set_transient_for(GTK_WINDOW(toolbar->font_dialog), + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(toolbar)))); gtk_window_present(GTK_WINDOW(toolbar->font_dialog)); } else { cancel_toolbar_font(font, toolbar); @@ -427,14 +429,14 @@ } toolbar->link_dialog = - purple_request_fields(toolbar, _("Insert Link"), + purple_request_fields_with_hint(toolbar, _("Insert Link"), NULL, - msg, + msg, fields, _("_Insert"), G_CALLBACK(do_insert_link_cb), _("Cancel"), G_CALLBACK(cancel_link_cb), - NULL, NULL, NULL, - toolbar); + NULL, NULL, NULL, + "conversation", toolbar); g_free(msg); g_free(desc); } else { @@ -709,6 +711,8 @@ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for(GTK_WINDOW(dialog), + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(toolbar)))); if (unique_smileys != NULL) { struct smiley_button_list *ls, *it, *it_tmp;
--- a/pidgin/gtklog.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtklog.c Tue Oct 09 18:01:51 2007 +0000 @@ -321,9 +321,9 @@ data2[0] = lv->treestore; data2[1] = data[3]; /* iter */ data2[2] = log; - purple_request_action(lv, NULL, "Delete Log?", tmp, 0, + purple_request_action_with_hint(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); @@ -523,7 +523,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; @@ -569,7 +569,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 */ @@ -676,6 +676,10 @@ } void pidgin_log_show(PurpleLogType type, const char *screenname, PurpleAccount *account) { + pidgin_log_show_with_parent(NULL, type, screenname, account); +} + +void pidgin_log_show_with_parent(GtkWindow *parent, PurpleLogType type, const char *screenname, PurpleAccount *account) { struct log_viewer_hash_t *ht; PidginLogViewer *lv = NULL; const char *name = screenname; @@ -717,13 +721,17 @@ title = g_strdup_printf(_("Conversations with %s"), name); } - display_log_viewer(ht, purple_log_get_logs(type, screenname, account), + display_log_viewer(parent, ht, purple_log_get_logs(type, screenname, account), title, gtk_image_new_from_pixbuf(pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM)), purple_log_get_total_size(type, screenname, account)); g_free(title); } void pidgin_log_show_contact(PurpleContact *contact) { + pidgin_log_show_contact_with_parent(NULL, contact); +} + +void pidgin_log_show_contact_with_parent(GtkWindow *parent, PurpleContact *contact) { struct log_viewer_hash_t *ht = g_new0(struct log_viewer_hash_t, 1); PurpleBlistNode *child; PidginLogViewer *lv = NULL; @@ -777,11 +785,16 @@ } title = g_strdup_printf(_("Conversations with %s"), name); - display_log_viewer(ht, logs, title, image, total_log_size); + display_log_viewer(parent, ht, logs, title, image, total_log_size); g_free(title); } -void pidgin_syslog_show() +void pidgin_syslog_show(void) +{ + pidgin_syslog_show_with_parent(NULL); +} + +void pidgin_syslog_show_with_parent(GtkWindow *parent) { GList *accounts = NULL; GList *logs = NULL; @@ -801,7 +814,7 @@ } logs = g_list_sort(logs, purple_log_compare); - syslog_viewer = display_log_viewer(NULL, logs, _("System Log"), NULL, 0); + syslog_viewer = display_log_viewer(parent, NULL, logs, _("System Log"), NULL, 0); } /****************************************************************************
--- a/pidgin/gtklog.h Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtklog.h Tue Oct 09 18:01:51 2007 +0000 @@ -54,9 +54,12 @@ void pidgin_log_show(PurpleLogType type, const char *screenname, PurpleAccount *account); +void pidgin_log_show_with_parent(GtkWindow *parent, PurpleLogType type, const char *screenname, PurpleAccount *account); void pidgin_log_show_contact(PurpleContact *contact); +void pidgin_log_show_contact_with_parent(GtkWindow *parent, PurpleContact *contact); void pidgin_syslog_show(void); +void pidgin_syslog_show_with_parent(GtkWindow *parent); /**************************************************************************/ /** @name GTK+ Log Subsystem */
--- a/pidgin/gtkplugin.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkplugin.c Tue Oct 09 18:01:51 2007 +0000 @@ -280,11 +280,11 @@ cb_data[1] = model; cb_data[2] = iter; - purple_request_action(plugin_dialog, NULL, + purple_request_action_with_hint(plugin_dialog, NULL, _("Multiple plugins will be unloaded."), tmp->str, 0, - NULL, NULL, NULL, - cb_data, 2, + NULL, NULL, NULL, + "plugins", cb_data, 2, _("Unload Plugins"), G_CALLBACK(plugin_unload_confirm_cb), _("Cancel"), g_free); g_string_free(tmp, TRUE); @@ -516,6 +516,11 @@ void pidgin_plugin_dialog_show() { + pidgin_plugin_dialog_show_with_parent(NULL); +} + +void pidgin_plugin_dialog_show_with_parent(GtkWindow *parent) +{ GtkWidget *sw; GtkWidget *event_view; GtkListStore *ls; @@ -524,6 +529,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; } @@ -532,6 +539,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkplugin.h Tue Oct 09 18:01:51 2007 +0000 @@ -77,4 +77,9 @@ */ void pidgin_plugin_dialog_show(void); +/** + * Shows the Plugins dialog, transient to a parent window + */ +void pidgin_plugin_dialog_show_with_parent(GtkWindow *parent); + #endif /* _PIDGINPLUGIN_H_ */
--- a/pidgin/gtkpounce.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkpounce.c Tue Oct 09 18:01:51 2007 +0000 @@ -154,10 +154,10 @@ entry = (GtkWidget *)data; name = gtk_entry_get_text(GTK_ENTRY(entry)); - purple_request_file(entry, _("Select a file"), name, FALSE, + purple_request_file_with_hint(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); } @@ -472,6 +472,13 @@ pidgin_pounce_editor_show(PurpleAccount *account, const char *name, PurplePounce *cur_pounce) { + pidgin_pounce_editor_show_with_parent(NULL, account, name, cur_pounce); +} + +void +pidgin_pounce_editor_show_with_parent(GtkWindow *parent, PurpleAccount *account, const char *name, + PurplePounce *cur_pounce) +{ PidginPounceDialog *dialog; GtkWidget *window; GtkWidget *label; @@ -1050,7 +1057,7 @@ static void pounces_manager_add_cb(GtkButton *button, gpointer user_data) { - pidgin_pounce_editor_show(NULL, NULL, NULL); + pidgin_pounce_editor_show_with_parent(GTK_WINDOW(pounces_manager->window), NULL, NULL, NULL); } static void @@ -1060,7 +1067,7 @@ PurplePounce *pounce; gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1); - pidgin_pounce_editor_show(NULL, NULL, pounce); + pidgin_pounce_editor_show_with_parent(GTK_WINDOW(pounces_manager->window), NULL, NULL, pounce); } static void @@ -1101,9 +1108,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, + purple_request_action_with_hint(pounce, NULL, buf, NULL, 0, account, pouncee, NULL, - pounce, 2, + "pounces", pounce, 2, _("Delete"), pounces_manager_delete_confirm_cb, _("Cancel"), NULL); g_free(buf); @@ -1160,7 +1167,7 @@ if ((pounce != NULL) && (event->button == 1) && (event->type == GDK_2BUTTON_PRESS)) { - pidgin_pounce_editor_show(NULL, NULL, pounce); + pidgin_pounce_editor_show_with_parent(GTK_WINDOW(pounces_manager->window), NULL, NULL, pounce); return TRUE; } @@ -1309,7 +1316,13 @@ } void -pidgin_pounces_manager_show(void) +pidgin_pounces_manager_show() +{ + pidgin_pounces_manager_show_with_parent(NULL); +} + +void +pidgin_pounces_manager_show_with_parent(GtkWindow *parent) { PouncesManager *dialog; GtkWidget *bbox; @@ -1321,6 +1334,7 @@ if (pounces_manager != NULL) { gtk_window_present(GTK_WINDOW(pounces_manager->window)); + gtk_window_set_transient_for(GTK_WINDOW(pounces_manager->window), parent); return; } @@ -1331,6 +1345,7 @@ dialog->window = win = pidgin_create_window(_("Buddy Pounces"), PIDGIN_HIG_BORDER, "pounces", TRUE); gtk_window_set_default_size(GTK_WINDOW(win), width, height); + gtk_window_set_transient_for(GTK_WINDOW(win), parent); g_signal_connect(G_OBJECT(win), "delete_event", G_CALLBACK(pounces_manager_destroy_cb), dialog);
--- a/pidgin/gtkpounce.h Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkpounce.h Tue Oct 09 18:01:51 2007 +0000 @@ -31,16 +31,28 @@ /** * Displays a New Buddy Pounce or Edit Buddy Pounce dialog. * + * @param parent The parent window. * @param account The optional account to use. * @param name The optional name to pounce on. * @param cur_pounce The current buddy pounce, if editing an existing one. */ +void pidgin_pounce_editor_show_with_parent(GtkWindow *parent, PurpleAccount *account, const char *name, + PurplePounce *cur_pounce); + +/** + * @deprecated Please use pidgin_pounce_editor_show_with_parent + */ void pidgin_pounce_editor_show(PurpleAccount *account, const char *name, PurplePounce *cur_pounce); /** * Shows the pounces manager window. */ +void pidgin_pounces_manager_show_with_parent(GtkWindow *parent); + +/** + * @deprecated Please use pidgin_pounces_manager_show_with_parent + */ void pidgin_pounces_manager_show(void); /**
--- a/pidgin/gtkprefs.c Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkprefs.c Tue Oct 09 18:01:51 2007 +0000 @@ -641,7 +641,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_with_hint(NULL, _("Install Theme"), NULL, FALSE, + (GCallback)request_theme_file_name_cb, NULL, NULL, NULL, NULL, "preferences", NULL) ; } static void @@ -1624,9 +1625,9 @@ if (*filename == '\0') filename = NULL; - purple_request_file(prefs, _("Sound Selection"), filename, FALSE, + purple_request_file_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkprivacy.c Tue Oct 09 18:01:51 2007 +0000 @@ -554,7 +554,7 @@ data->block = FALSE; if (name == NULL) { - purple_request_input(account, _("Permit User"), + purple_request_input_with_hint(account, _("Permit User"), _("Type a user you permit to contact you."), _("Please enter the name of the user you wish to be " "able to contact you."), @@ -562,7 +562,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); @@ -571,10 +571,10 @@ "%s to contact you?"), name); - purple_request_action(account, _("Permit User"), primary, secondary, + purple_request_action_with_hint(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)); @@ -596,24 +596,24 @@ data->block = TRUE; if (name == NULL) { - purple_request_input(account, _("Block User"), + purple_request_input_with_hint(account, _("Block User"), _("Type a user to block."), _("Please enter the name of the user you wish to block."), NULL, FALSE, FALSE, NULL, _("_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); char *secondary = g_strdup_printf(_("Are you sure you want to block %s?"), name); - purple_request_action(account, _("Block User"), primary, secondary, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkrequest.c Tue Oct 09 18:01:51 2007 +0000 @@ -34,6 +34,7 @@ #include "gtkrequest.h" #include "gtkutils.h" #include "pidginstock.h" +#include "gtkblist.h" #include <gdk/gdkkeysyms.h> @@ -79,6 +80,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) { @@ -287,7 +337,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; @@ -312,7 +362,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); @@ -450,7 +500,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; @@ -474,6 +524,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); @@ -554,7 +606,7 @@ pidgin_request_action(const char *title, const char *primary, const char *secondary, 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; @@ -584,6 +636,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); @@ -1051,7 +1105,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; @@ -1092,6 +1146,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,10 +1560,10 @@ 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"), + purple_request_action_with_hint(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 @@ -1532,7 +1588,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; @@ -1620,6 +1676,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); @@ -1631,7 +1690,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; @@ -1670,6 +1729,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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtksavedstatuses.c Tue Oct 09 18:01:51 2007 +0000 @@ -338,9 +338,9 @@ handle = dialog; } - purple_request_action(handle, NULL, title, NULL, 0, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkstatusbox.c Tue Oct 09 18:01:51 2007 +0000 @@ -1586,9 +1586,9 @@ msg = g_strdup_printf(_("Are you sure you want to delete %s?"), purple_savedstatus_get_title(saved)); - purple_request_action(saved, NULL, msg, NULL, 0, + purple_request_action_with_hint(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 Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/gtkutils.c Tue Oct 09 18:01:51 2007 +0000 @@ -1527,26 +1527,26 @@ ft = prpl_info->can_receive_file(gc, who); if (im && ft) - purple_request_choice(NULL, NULL, + purple_request_choice_with_hint(NULL, NULL, _("You have dragged an image"), _("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, 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, NULL); else if (!(im || ft)) - purple_request_yes_no(NULL, NULL, _("You have dragged an image"), + purple_request_yes_no_with_hint(NULL, NULL, _("You have dragged an image"), _("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, + purple_request_choice_with_hint(NULL, NULL, _("You have dragged an image"), (ft ? _("You can send this image as a file transfer, 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")), @@ -1554,7 +1554,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);
--- a/pidgin/plugins/perl/common/GtkDialogs.xs Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/plugins/perl/common/GtkDialogs.xs Tue Oct 09 18:01:51 2007 +0000 @@ -10,6 +10,10 @@ pidgin_dialogs_about() void +pidgin_dialogs_about_with_parent(parent) + void * parent + +void pidgin_dialogs_im() void
--- a/pidgin/plugins/perl/common/GtkLog.xs Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/plugins/perl/common/GtkLog.xs Tue Oct 09 18:01:51 2007 +0000 @@ -13,11 +13,27 @@ Purple::Account account void +pidgin_log_show_with_parent(parent, type, screenname, account) + void * parent + Purple::LogType type + const char * screenname + Purple::Account account + +void pidgin_log_show_contact(contact) Purple::BuddyList::Contact contact +void +pidgin_log_show_contact_with_parent(parent, contact) + void * parent + Purple::BuddyList::Contact contact + MODULE = Pidgin::Log PACKAGE = Pidgin::SysLog PREFIX = pidgin_syslog_ PROTOTYPES: ENABLE void pidgin_syslog_show() + +void +pidgin_syslog_show_with_parent(parent) + void * parent
--- a/pidgin/plugins/perl/common/GtkPlugin.xs Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/plugins/perl/common/GtkPlugin.xs Tue Oct 09 18:01:51 2007 +0000 @@ -11,3 +11,7 @@ void pidgin_plugin_dialog_show() + +void +pidgin_plugin_dialog_show_with_parent(parent) + void * parent
--- a/pidgin/plugins/perl/common/GtkPounce.xs Tue Oct 09 13:41:11 2007 +0000 +++ b/pidgin/plugins/perl/common/GtkPounce.xs Tue Oct 09 18:01:51 2007 +0000 @@ -9,6 +9,13 @@ const char * name Purple::Pounce cur_pounce +void +pidgin_pounce_editor_show_with_parent(parent, account, name, cur_pounce) + void * parent + Purple::Account account + const char * name + Purple::Pounce cur_pounce + MODULE = Pidgin::Pounce PACKAGE = Pidgin::Pounces PREFIX = pidgin_pounces_ PROTOTYPES: ENABLE @@ -22,4 +29,8 @@ pidgin_pounces_manager_show() void +pidgin_pounces_manager_show_with_parent(parent) + void * parent + +void pidgin_pounces_manager_hide()