Mercurial > pidgin
changeset 11609:f38655b98ba0
[gaim-migrate @ 13880]
this never made it from oldstatus to HEAD
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Tue, 04 Oct 2005 13:38:39 +0000 |
parents | 5e3f07172dab |
children | 69bd7af50d31 |
files | src/protocols/jabber/jabber.c |
diffstat | 1 files changed, 28 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/jabber/jabber.c Tue Oct 04 13:31:28 2005 +0000 +++ b/src/protocols/jabber/jabber.c Tue Oct 04 13:38:39 2005 +0000 @@ -945,13 +945,23 @@ static char *jabber_tooltip_text(GaimBuddy *b) { - JabberBuddy *jb = jabber_buddy_find(b->account->gc->proto_data, b->name, + JabberBuddy *jb; + GString *ret; + + g_return_val_if_fail(b != NULL, NULL); + g_return_val_if_fail(b->account != NULL, NULL); + g_return_val_if_fail(b->account->gc != NULL, NULL); + g_return_val_if_fail(b->account->gc->proto_data != NULL, NULL); + + jb = jabber_buddy_find(b->account->gc->proto_data, b->name, FALSE); - GString *ret = g_string_new(""); + ret = g_string_new(""); if(jb) { - JabberBuddyResource *jbr = jabber_buddy_find_resource(jb, NULL); + JabberBuddyResource *jbr = NULL; const char *sub; + GList *l; + if(jb->subscription & JABBER_SUB_FROM) { if(jb->subscription & JABBER_SUB_TO) sub = _("Both"); @@ -969,8 +979,12 @@ } g_string_append_printf(ret, "\n<b>%s:</b> %s", _("Subscription"), sub); - if(jbr) { + for(l=jb->resources; l; l = l->next) { char *text = NULL; + char *res = NULL; + + jbr = l->data; + if(jbr->status) { char *stripped; stripped = gaim_markup_strip_html(jbr->status); @@ -979,14 +993,22 @@ /* XXX: need some nl to br love here */ } - g_string_append_printf(ret, "\n<b>%s:</b> %s%s%s", + if(jbr->name) + res = g_strdup_printf(" _(%s)", jbr->name); + + g_string_append_printf(ret, "\n<b>%s%s:</b> %s%s%s", _("Status"), + res ? res : "", jabber_buddy_state_get_name(jbr->state), text ? ": " : "", text ? text : ""); if(text) g_free(text); - } else if(!GAIM_BUDDY_IS_ONLINE(b) && jb->error_msg) { + if(res) + g_free(res); + } + + if(!GAIM_BUDDY_IS_ONLINE(b) && jb->error_msg) { g_string_append_printf(ret, "\n<b>%s:</b> %s", _("Error"), jb->error_msg); }