diff libpurple/protocols/jabber/jabber.c @ 17846:2f067d8fb19a

Fixed a few small mistakes I discovered while testing user mood in Adium.
author Andreas Monitzer <pidgin@monitzer.com>
date Tue, 12 Jun 2007 03:19:42 +0000
parents 2e0799b916b9
children 5fc8a8a25008
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c	Tue Jun 12 01:25:46 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Tue Jun 12 03:19:42 2007 +0000
@@ -1192,6 +1192,9 @@
 		GList *l;
 
 		if (full) {
+			PurpleStatus *status;
+			PurpleValue *value;
+			
 			if(jb->subscription & JABBER_SUB_FROM) {
 				if(jb->subscription & JABBER_SUB_TO)
 					sub = _("Both");
@@ -1209,6 +1212,21 @@
 			}
 			
 			purple_notify_user_info_add_pair(user_info, _("Subscription"), sub);
+			
+			status = purple_presence_get_active_status(purple_buddy_get_presence(b));
+			value = purple_status_get_attr_value(status, "mood");
+			if(value && purple_value_get_type(value) == PURPLE_TYPE_STRING) {
+				const char *mood = purple_value_get_string(value);
+				
+				value = purple_status_get_attr_value(status, "moodtext");
+				if(value && purple_value_get_type(value) == PURPLE_TYPE_STRING) {
+					char *moodplustext = g_strdup_printf("%s (%s)",mood,purple_value_get_string(value));
+					
+					purple_notify_user_info_add_pair(user_info, _("Mood"), moodplustext);
+					g_free(moodplustext);
+				} else
+					purple_notify_user_info_add_pair(user_info, _("Mood"), mood);
+			}
 		}
 
 		for(l=jb->resources; l; l = l->next) {