# HG changeset patch # User Marcus Lundblad # Date 1265753268 0 # Node ID b052a711cfbda7a762dcb52b8decdb8005944670 # Parent 65004796201dd9e5ef615a85b06697a2f5fe53d1 Show the translated mood message (again), if it matches one of the moods we know about. diff -r 65004796201d -r b052a711cfbd libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Tue Feb 09 21:34:38 2010 +0000 +++ b/libpurple/protocols/jabber/jabber.c Tue Feb 09 22:07:48 2010 +0000 @@ -62,6 +62,7 @@ #include "roster.h" #include "ping.h" #include "si.h" +#include "usermood.h" #include "xdata.h" #include "pep.h" #include "adhoccommands.h" @@ -2062,14 +2063,27 @@ mood = purple_status_get_attr_string(status, PURPLE_MOOD_NAME); if(mood && *mood) { const char *moodtext; + /* find the mood */ + PurpleMood *moods = jabber_get_moods(account); + const char *description = NULL; + + for (; moods->mood ; moods++) { + if (purple_strequal(moods->mood, mood)) { + description = moods->description; + break; + } + } + moodtext = purple_status_get_attr_string(status, PURPLE_MOOD_COMMENT); if(moodtext && *moodtext) { - char *moodplustext = g_strdup_printf("%s (%s)", mood, moodtext); + char *moodplustext = + g_strdup_printf("%s (%s)", description ? _(description) : mood, moodtext); purple_notify_user_info_add_pair(user_info, _("Mood"), moodplustext); g_free(moodplustext); } else - purple_notify_user_info_add_pair(user_info, _("Mood"), mood); + purple_notify_user_info_add_pair(user_info, _("Mood"), + description ? _(description) : mood); } if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) { PurpleStatus *tune = purple_presence_get_status(presence, "tune");