changeset 20598:285bb637a2b7

Updated hinting to be less invasive
author Gabriel Schulhof <nix@go-nix.ca>
date Sat, 22 Sep 2007 16:19:34 +0000
parents 591267f6f1d5
children 44cb8acdb68c
files finch/gntaccount.c finch/gntblist.c finch/gntcertmgr.c finch/gntconn.c finch/gntplugin.c finch/gntpounce.c finch/gntprefs.c finch/gntstatus.c libpurple/account.c libpurple/certificate.c libpurple/conversation.c libpurple/ft.c libpurple/plugins/autoaccept.c libpurple/plugins/buddynote.c libpurple/plugins/idle.c libpurple/plugins/offlinemsg.c libpurple/protocols/gg/gg.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/xdata.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/msn.c libpurple/protocols/novell/novell.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/peer.c libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/sys_msg.c libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/pk.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/silc10/wb.c libpurple/protocols/toc/toc.c libpurple/protocols/yahoo/yahoo.c libpurple/request.c libpurple/request.h libpurple/server.c pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkcertmgr.c pidgin/gtkconv.c pidgin/gtkdebug.c pidgin/gtkdialogs.c pidgin/gtkimhtmltoolbar.c pidgin/gtklog.c pidgin/gtkplugin.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtksavedstatuses.c pidgin/gtkstatusbox.c pidgin/gtkutils.c
diffstat 75 files changed, 463 insertions(+), 234 deletions(-) [+]
line wrap: on
line diff
--- a/finch/gntaccount.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntaccount.c	Sat Sep 22 16:19:34 2007 +0000
@@ -632,7 +632,7 @@
 	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,
+	purple_request_action_with_hint(account, _("Delete Account"), prompt, NULL, 0,
 						  account, NULL, NULL, "accounts", account, 2,
 						  _("Delete"), really_delete_account,
 						  _("Cancel"), NULL);
@@ -881,7 +881,7 @@
 	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,
 						"blist", data, 2,
@@ -969,7 +969,7 @@
 		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,
 			"blist", aa, 2,
@@ -996,7 +996,7 @@
 
 		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,
 			"blist", user_data, 2,
--- a/finch/gntblist.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntblist.c	Sat Sep 22 16:19:34 2007 +0000
@@ -338,7 +338,7 @@
 		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,
@@ -416,7 +416,7 @@
 	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,
@@ -451,7 +451,7 @@
 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,
@@ -799,7 +799,7 @@
 
 	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,
 			"blist", chat);
@@ -1000,7 +1000,7 @@
 	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,
@@ -1092,7 +1092,7 @@
 	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,
@@ -2213,7 +2213,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."),
--- a/finch/gntcertmgr.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntcertmgr.c	Sat Sep 22 16:19:34 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."),
@@ -106,7 +106,7 @@
 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,
@@ -155,7 +155,7 @@
 		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),
@@ -233,7 +233,7 @@
 	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, "certmgr",
--- a/finch/gntconn.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntconn.c	Sat Sep 22 16:19:34 2007 +0000
@@ -130,7 +130,7 @@
 				"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,
 							"blist", account, 3,
 							_("OK"), NULL,
--- a/finch/gntplugin.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntplugin.c	Sat Sep 22 16:19:34 2007 +0000
@@ -375,7 +375,7 @@
 		}
 	}
 
-	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,
 			"plugins", NULL);
--- a/finch/gntpounce.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntpounce.c	Sat Sep 22 16:19:34 2007 +0000
@@ -660,7 +660,7 @@
 	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,
 						"pounces", pounce, 2,
 						_("Delete"), pounces_manager_delete_confirm_cb,
--- a/finch/gntprefs.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntprefs.c	Sat Sep 22 16:19:34 2007 +0000
@@ -261,7 +261,7 @@
 	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,
 			"preferences", NULL);
--- a/finch/gntstatus.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/finch/gntstatus.c	Sat Sep 22 16:19:34 2007 +0000
@@ -138,7 +138,7 @@
 	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,
 			"statuses", saved, 2,
 			_("Delete"), really_delete_status,
--- a/libpurple/account.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/account.c	Sat Sep 22 16:19:34 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,
@@ -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 "
@@ -1290,7 +1290,7 @@
 			   _("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),
--- a/libpurple/certificate.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/certificate.c	Sat Sep 22 16:19:34 2007 +0000
@@ -550,7 +550,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,
@@ -1173,7 +1173,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,
--- a/libpurple/conversation.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/conversation.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1208,7 +1208,7 @@
 	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,
 						  "conversation", data, 2,
 						  _("_Send Message"), G_CALLBACK(purple_conv_send_confirm_cb),
--- a/libpurple/ft.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/ft.c	Sat Sep 22 16:19:34 2007 +0000
@@ -309,7 +309,7 @@
 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),
@@ -359,7 +359,7 @@
 			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,
@@ -402,7 +402,7 @@
 					 "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,
--- a/libpurple/plugins/autoaccept.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/plugins/autoaccept.c	Sat Sep 22 16:19:34 2007 +0000
@@ -159,7 +159,7 @@
 
 	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,
--- a/libpurple/plugins/buddynote.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/plugins/buddynote.c	Sat Sep 22 16:19:34 2007 +0000
@@ -43,7 +43,7 @@
 
 	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",
--- a/libpurple/plugins/idle.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/plugins/idle.c	Sat Sep 22 16:19:34 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,
@@ -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,
@@ -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,
--- a/libpurple/plugins/offlinemsg.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/plugins/offlinemsg.c	Sat Sep 22 16:19:34 2007 +0000
@@ -157,7 +157,7 @@
 						"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,
--- a/libpurple/protocols/gg/gg.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/gg/gg.c	Sat Sep 22 16:19:34 2007 +0000
@@ -333,7 +333,7 @@
 {
 	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,
 			"blist", gc);
@@ -347,7 +347,7 @@
 {
 	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,
 			"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"),
@@ -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"),
@@ -795,7 +795,7 @@
 		_("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,
@@ -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,
--- a/libpurple/protocols/jabber/auth.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/auth.c	Sat Sep 22 16:19:34 2007 +0000
@@ -318,7 +318,7 @@
 				} 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, "account", js->gc->account,
@@ -507,7 +507,7 @@
 		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,
@@ -595,7 +595,7 @@
 		} 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,
--- a/libpurple/protocols/jabber/buddy.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/buddy.c	Sat Sep 22 16:19:34 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."),
@@ -2410,7 +2410,7 @@
 		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),
@@ -2444,7 +2444,7 @@
 	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,
--- a/libpurple/protocols/jabber/chat.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/chat.c	Sat Sep 22 16:19:34 2007 +0000
@@ -778,7 +778,7 @@
 	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,
--- a/libpurple/protocols/jabber/jabber.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1002,7 +1002,7 @@
 	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),
@@ -1011,12 +1011,12 @@
 	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,7 +1731,7 @@
 	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,
--- a/libpurple/protocols/jabber/presence.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/presence.c	Sat Sep 22 16:19:34 2007 +0000
@@ -499,7 +499,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"
--- a/libpurple/protocols/jabber/si.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/si.c	Sat Sep 22 16:19:34 2007 +0000
@@ -870,7 +870,7 @@
 
 			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", xfer);
 
--- a/libpurple/protocols/jabber/usermood.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/usermood.c	Sat Sep 22 16:19:34 2007 +0000
@@ -176,7 +176,7 @@
 											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,
--- a/libpurple/protocols/jabber/usernick.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/usernick.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/jabber/xdata.c	Sat Sep 22 16:19:34 2007 +0000
@@ -395,7 +395,7 @@
 	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,
--- a/libpurple/protocols/msn/dialog.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/msn/dialog.c	Sat Sep 22 16:19:34 2007 +0000
@@ -135,7 +135,7 @@
 								 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,
 						"blist", data, 2,
 						_("Yes"), G_CALLBACK(msn_add_cb),
--- a/libpurple/protocols/msn/msn.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/msn/msn.c	Sat Sep 22 16:19:34 2007 +0000
@@ -282,7 +282,7 @@
 
 	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,
@@ -301,7 +301,7 @@
 	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,
@@ -318,7 +318,7 @@
 	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,
@@ -335,7 +335,7 @@
 	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,
@@ -350,7 +350,7 @@
 
 	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?"),
@@ -400,7 +400,7 @@
 	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),
--- a/libpurple/protocols/novell/novell.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/novell/novell.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1912,7 +1912,7 @@
 
 	/* 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,
 						"chat", parms, 2,
@@ -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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1444,7 +1444,7 @@
 	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),
@@ -2220,7 +2220,7 @@
 	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),
@@ -2269,7 +2269,7 @@
 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),
@@ -2455,7 +2455,7 @@
 					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,
@@ -5167,7 +5167,7 @@
 	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,
 						"blist", data,
@@ -5866,7 +5866,7 @@
 	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),
@@ -5916,7 +5916,7 @@
 	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?"),
@@ -6074,7 +6074,7 @@
 
 	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,
@@ -6147,7 +6147,7 @@
 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,
@@ -6214,7 +6214,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."),
--- a/libpurple/protocols/oscar/peer.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/oscar/peer.c	Sat Sep 22 16:19:34 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 "
--- a/libpurple/protocols/qq/buddy_info.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/buddy_info.c	Sat Sep 22 16:19:34 2007 +0000
@@ -478,7 +478,7 @@
 		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),
--- a/libpurple/protocols/qq/buddy_opt.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/buddy_opt.c	Sat Sep 22 16:19:34 2007 +0000
@@ -209,7 +209,7 @@
 	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,
@@ -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"),
--- a/libpurple/protocols/qq/group.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/group.c	Sat Sep 22 16:19:34 2007 +0000
@@ -116,7 +116,7 @@
 	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, 
--- a/libpurple/protocols/qq/group_im.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/group_im.c	Sat Sep 22 16:19:34 2007 +0000
@@ -133,7 +133,7 @@
 
 	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,
--- a/libpurple/protocols/qq/group_join.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/group_join.c	Sat Sep 22 16:19:34 2007 +0000
@@ -132,7 +132,7 @@
 	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"),
@@ -356,7 +356,7 @@
 	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."),
--- a/libpurple/protocols/qq/group_opt.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/group_opt.c	Sat Sep 22 16:19:34 2007 +0000
@@ -121,7 +121,7 @@
 	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,
 					"chat", g, 2,
 					_("Reject"), G_CALLBACK(qq_group_reject_application_with_struct),
@@ -137,7 +137,7 @@
 	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),
@@ -388,7 +388,7 @@
 	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?"),
--- a/libpurple/protocols/qq/qq.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/qq.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/qq/sys_msg.c	Sat Sep 22 16:19:34 2007 +0000
@@ -165,7 +165,7 @@
 		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,
 					"buddy", g, 3,
@@ -259,7 +259,7 @@
 		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,
 					"blist", g2, 3,
--- a/libpurple/protocols/sametime/sametime.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/sametime/sametime.c	Sat Sep 22 16:19:34 2007 +0000
@@ -3382,7 +3382,7 @@
 	   " 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),
@@ -3468,7 +3468,7 @@
 	   " 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),
@@ -3638,7 +3638,7 @@
 	  " 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),
@@ -5215,7 +5215,7 @@
   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,
 		    "blist", gc);
@@ -5255,7 +5255,7 @@
   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,
 		    "blist", gc);
@@ -5391,7 +5391,7 @@
 	  " 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),
@@ -5481,7 +5481,7 @@
   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,
@@ -5606,7 +5606,7 @@
   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,
--- a/libpurple/protocols/silc/buddy.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/buddy.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/chat.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/ops.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/pk.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/silc.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/util.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc/wb.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/buddy.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/chat.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/ops.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/pk.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/silc.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/util.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/silc10/wb.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/toc/toc.c	Sat Sep 22 16:19:34 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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoo.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1025,7 +1025,7 @@
 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),
@@ -2062,7 +2062,7 @@
 		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,
 						"blist", b,
 						G_CALLBACK(ignore_buddy),
@@ -3491,7 +3491,7 @@
 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,
@@ -3502,7 +3502,7 @@
 static void yahoo_show_chat_goto(PurplePluginAction *action)
 {
 	PurpleConnection *gc = (PurpleConnection *) action->context;
-	purple_request_input(gc, NULL, _("Join who 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,
--- a/libpurple/request.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/request.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1140,6 +1140,20 @@
 				   const char *ok_text, GCallback ok_cb,
 				   const char *cancel_text, GCallback cancel_cb,
 				   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;
@@ -1177,6 +1191,30 @@
 					const char *ok_text, GCallback ok_cb,
 					const char *cancel_text, GCallback cancel_cb,
 					PurpleAccount *account, const char *who, PurpleConversation *conv,
+					void *user_data, ...)
+{
+	void *ui_handle;
+	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, "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;
@@ -1186,7 +1224,7 @@
 	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, ui_hint, user_data, args);
@@ -1204,6 +1242,20 @@
 			 PurpleAccount *account, const char *who, PurpleConversation *conv,
 			 const char *ui_hint, void *user_data, va_list choices)
 {
+	return purple_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);
@@ -1236,6 +1288,26 @@
 purple_request_action(void *handle, 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, ...)
+{
+	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_with_hint_varg(handle, title, primary, secondary,
+										 default_action, account, who, conv,
+										 "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;
@@ -1244,7 +1316,7 @@
 	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_with_hint_varg(handle, title, primary, secondary,
 										 default_action, account, who, conv,
 										 ui_hint, user_data, action_count, args);
 	va_end(args);
@@ -1257,6 +1329,18 @@
 						 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)
+{
+	return purple_request_action_with_hint_varg(
+		handle, title, primary, secondary, default_action, account, who, conv,
+		"blist", user_data, action_count, actions);
+}
+
+void *
+purple_request_action_with_hint_varg(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;
@@ -1291,6 +1375,19 @@
 					PurpleAccount *account, const char *who, PurpleConversation *conv,
 					const char *ui_hint, 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);
@@ -1320,7 +1417,18 @@
 }
 
 void *
-purple_request_file(void *handle, const char *title, const char *filename,
+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,
+				  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,
@@ -1350,6 +1458,16 @@
 purple_request_folder(void *handle, const char *title, const char *dirname,
 				  GCallback ok_cb, GCallback cancel_cb,
 				  PurpleAccount *account, const char *who, PurpleConversation *conv,
+				  void *user_data)
+{
+	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;
--- a/libpurple/request.h	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/request.h	Sat Sep 22 16:19:34 2007 +0000
@@ -1192,6 +1192,18 @@
  *
  * @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,
@@ -1199,7 +1211,7 @@
 						 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 *user_data);
 
 /**
  * Prompts the user for multiple-choice input.
@@ -1225,13 +1237,24 @@
  *
  * @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,
 						  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;
+						  void *user_data, ...) G_GNUC_NULL_TERMINATED;
 
 /**
  * Prompts the user for multiple-choice input.
@@ -1257,13 +1280,24 @@
  *
  * @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,
 							   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);
+							   void *user_data, va_list choices);
 
 /**
  * Prompts the user for an action.
@@ -1293,11 +1327,20 @@
  *
  * @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,
 						  PurpleAccount *account, const char *who, PurpleConversation *conv,
-						  const char *ui_hint, void *user_data, size_t action_count, ...);
+						  void *user_data, size_t action_count, ...);
 
 /**
  * Prompts the user for an action.
@@ -1321,11 +1364,21 @@
  *
  * @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,
 							   PurpleAccount *account, const char *who, PurpleConversation *conv,
-							   const char *ui_hint, void *user_data, size_t action_count,
+							   void *user_data, size_t action_count,
 							   va_list actions);
 
 /**
@@ -1350,13 +1403,24 @@
  *
  * @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,
 						  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 *user_data);
 
 /**
  * Closes a request.
@@ -1376,31 +1440,61 @@
 /**
  * A wrapper for purple_request_action() that uses @c Yes and @c No buttons.
  */
-#define purple_request_yes_no(handle, title, primary, secondary, \
+#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) \
 	purple_request_action((handle), (title), (primary), (secondary), \
-						(default_action), account, who, conv, (ui_hint), (user_data), 2, \
+						(default_action), account, who, conv, (user_data), 2, \
 						_("_Yes"), (yes_cb), _("_No"), (no_cb))
 
 /**
  * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons.
  */
-#define purple_request_ok_cancel(handle, title, primary, secondary, \
+#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) \
 	purple_request_action((handle), (title), (primary), (secondary), \
-						(default_action), account, who, conv, (ui_hint), (user_data), 2, \
+						(default_action), account, who, conv, (user_data), 2, \
 						_("_OK"), (ok_cb), _("_Cancel"), (cancel_cb))
 
 /**
  * A wrapper for purple_request_action() that uses Accept and Cancel buttons.
  */
-#define purple_request_accept_cancel(handle, title, primary, secondary, \
+#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) \
 	purple_request_action((handle), (title), (primary), (secondary), \
-						(default_action), account, who, conv, (ui_hint), (user_data), 2, \
+						(default_action), account, who, conv, (user_data), 2, \
 						_("_Accept"), (accept_cb), _("_Cancel"), (cancel_cb))
 
 /**
@@ -1424,11 +1518,20 @@
  *
  * @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,
 						PurpleAccount *account, const char *who, PurpleConversation *conv,
-						const char *ui_hint, void *user_data);
+						void *user_data);
 
 /**
  * Displays a folder select dialog. Returns the selected filename to
@@ -1449,6 +1552,14 @@
  *
  * @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	Sat Sep 22 09:48:07 2007 +0000
+++ b/libpurple/server.c	Sat Sep 22 16:19:34 2007 +0000
@@ -799,7 +799,7 @@
 				   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,
 							   "chat", cid, G_CALLBACK(chat_invite_accept),
 							   G_CALLBACK(chat_invite_reject));
--- a/pidgin/gtkaccount.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkaccount.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1901,7 +1901,7 @@
 							  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,
 							"accounts", account, 2,
 							_("Delete"), delete_account_cb,
--- a/pidgin/gtkblist.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkblist.c	Sat Sep 22 16:19:34 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);
@@ -4315,7 +4315,7 @@
 	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", account, 3,
 						_("OK"), NULL,
@@ -6260,7 +6260,7 @@
 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),
--- a/pidgin/gtkcertmgr.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkcertmgr.c	Sat Sep 22 16:19:34 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."),
@@ -220,7 +220,7 @@
 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 */
@@ -295,7 +295,7 @@
 
 	
 	/* 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 */
@@ -371,7 +371,7 @@
 		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,
--- a/pidgin/gtkconv.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkconv.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1029,7 +1029,7 @@
 		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,
@@ -2713,7 +2713,7 @@
 
 	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,
 					"conversation", gtkconv);
--- a/pidgin/gtkdebug.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkdebug.c	Sat Sep 22 16:19:34 2007 +0000
@@ -231,7 +231,7 @@
 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,
 					  "blist", win);
--- a/pidgin/gtkdialogs.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkdialogs.c	Sat Sep 22 16:19:34 2007 +0000
@@ -762,7 +762,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."),
@@ -901,7 +901,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."),
@@ -993,7 +993,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."),
@@ -1015,7 +1015,7 @@
 {
 	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),
@@ -1040,7 +1040,7 @@
 
 	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,
@@ -1061,7 +1061,7 @@
 {
 	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),
@@ -1109,7 +1109,7 @@
 						"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,
 				"blist", contact, 2,
 				_("_Remove Contact"), G_CALLBACK(pidgin_dialogs_remove_contact_cb),
@@ -1150,7 +1150,7 @@
 	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,
 			"blist", ggp, 2,
 			_("_Merge Groups"), G_CALLBACK(pidgin_dialogs_merge_groups_cb),
@@ -1206,7 +1206,7 @@
 	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,
 						"blist", group, 2,
 						_("_Remove Group"), G_CALLBACK(pidgin_dialogs_remove_group_cb),
@@ -1245,7 +1245,7 @@
 	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,
 						"blist", buddy, 2,
 						_("_Remove Buddy"), G_CALLBACK(pidgin_dialogs_remove_buddy_cb),
@@ -1272,7 +1272,7 @@
 	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,
 						"blist", chat, 2,
 						_("_Remove Chat"), G_CALLBACK(pidgin_dialogs_remove_chat_cb),
--- a/pidgin/gtkimhtmltoolbar.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkimhtmltoolbar.c	Sat Sep 22 16:19:34 2007 +0000
@@ -429,13 +429,13 @@
 		}
 
 		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,
+					    NULL, NULL, NULL,
 					    "conversation", toolbar);
 		g_free(msg);
 		g_free(desc);
--- a/pidgin/gtklog.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtklog.c	Sat Sep 22 16:19:34 2007 +0000
@@ -321,7 +321,7 @@
 	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,
 						"log_viewer", data2, 2,
 						_("Delete"), delete_log_cb,
--- a/pidgin/gtkplugin.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkplugin.c	Sat Sep 22 16:19:34 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,
-								"plugins", 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);
--- a/pidgin/gtkpounce.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkpounce.c	Sat Sep 22 16:19:34 2007 +0000
@@ -154,7 +154,7 @@
 	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,
 					  "buddy_pounce", entry);
@@ -1094,7 +1094,7 @@
 	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,
 						"pounces", pounce, 2,
 						_("Delete"), pounces_manager_delete_confirm_cb,
--- a/pidgin/gtkprefs.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkprefs.c	Sat Sep 22 16:19:34 2007 +0000
@@ -641,7 +641,7 @@
 static void
 add_theme_button_clicked_cb(GtkWidget *widget, gpointer null)
 {
-	purple_request_file(NULL, _("Install Theme"), NULL, FALSE,
+	purple_request_file_with_hint(NULL, _("Install Theme"), NULL, FALSE,
 	    (GCallback)request_theme_file_name_cb, NULL, NULL, NULL, NULL, "preferences", NULL) ;
 }
 
@@ -1625,7 +1625,7 @@
 	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, "preferences",
 					  GINT_TO_POINTER(sound_row_sel));
--- a/pidgin/gtkprivacy.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkprivacy.c	Sat Sep 22 16:19:34 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."),
@@ -571,7 +571,7 @@
 							  "%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,
 							"privacy", data, 2,
@@ -596,7 +596,7 @@
 	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,
@@ -610,7 +610,7 @@
 		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,
 							"privacy", data, 2,
--- a/pidgin/gtkrequest.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkrequest.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1560,7 +1560,7 @@
 
 	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,
 							"pidgin-request-file", data, 2,
--- a/pidgin/gtksavedstatuses.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtksavedstatuses.c	Sat Sep 22 16:19:34 2007 +0000
@@ -338,7 +338,7 @@
 		handle = dialog;
 	}
 
-	purple_request_action(handle, NULL, title, NULL, 0,
+	purple_request_action_with_hint(handle, NULL, title, NULL, 0,
 		 NULL, NULL, NULL,
 		 "statuses", sel_titles, 2,
 		_("Delete"), status_window_delete_confirm_cb,
--- a/pidgin/gtkstatusbox.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkstatusbox.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1567,7 +1567,7 @@
 
 	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,
 		"pidgin-statusbox", data, 2,
 		_("Delete"), tree_view_delete_current_selection_cb,
--- a/pidgin/gtkutils.c	Sat Sep 22 09:48:07 2007 +0000
+++ b/pidgin/gtkutils.c	Sat Sep 22 16:19:34 2007 +0000
@@ -1527,7 +1527,7 @@
 				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."),
@@ -1540,13 +1540,13 @@
 						    _("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,
 							"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")),