diff libpurple/protocols/yahoo/libymsg.c @ 27531:07d09a987b86

Allow setting some personal information for an account. Currently the name and phone number(s) can be set. It's possible to set a lot of information about a Yahoo! account that can be set for an XMPP account, but the list looked too huge for me. So I just picked the ones that I thought could be useful. Someone might want to know about the birthdays too ... I don't know. Someone should test this on Yahoo! JAPAN (why not 'Japan', by the way?)
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 10 Jul 2009 15:18:09 +0000
parents b00f138c850a
children 708c7edba73b f92d37b363c6
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/libymsg.c	Fri Jul 10 06:37:13 2009 +0000
+++ b/libpurple/protocols/yahoo/libymsg.c	Fri Jul 10 15:18:09 2009 +0000
@@ -3538,6 +3538,8 @@
 	g_free(yd->pending_chat_goto);
 	g_strfreev(yd->profiles);
 
+	yahoo_personal_details_reset(&yd->ypd);
+
 	g_free(yd->current_list15_grp);
 
 	g_free(yd);
@@ -4012,9 +4014,13 @@
 				   "Unable to request mail login token; forwarding to login screen.");
 		purple_notify_uri(gc, yahoo_mail_url);
 	}
-
 }
 
+static void
+yahoo_set_userinfo_fn(PurplePluginAction *action)
+{
+	yahoo_set_userinfo(action->context);
+}
 
 static void yahoo_show_act_id(PurplePluginAction *action)
 {
@@ -4061,6 +4067,10 @@
 	GList *m = NULL;
 	PurplePluginAction *act;
 
+	act = purple_plugin_action_new(_("Set User Info..."),
+			yahoo_set_userinfo_fn);
+	m = g_list_append(m, act);
+
 	act = purple_plugin_action_new(_("Activate ID..."),
 			yahoo_show_act_id);
 	m = g_list_append(m, act);