Mercurial > pidgin
changeset 31916:757fc30ca2ab
merge of '88118487bea2cf5120dec21de3377fada185180f'
and 'ccb72e4a80d5403e1261e3fb8e1bd07f83e92fcd'
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 22 Aug 2011 06:06:07 +0000 |
parents | e1b70ca6bfd7 (diff) 16f241146576 (current diff) |
children | 0179f6642e9c |
files | libpurple/protocols/jabber/buddy.c |
diffstat | 1 files changed, 40 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/buddy.c Mon Aug 22 06:05:51 2011 +0000 +++ b/libpurple/protocols/jabber/buddy.c Mon Aug 22 06:06:07 2011 +0000 @@ -726,16 +726,39 @@ jbir = g_hash_table_lookup(jbi->resources, resource); user_info = jbi->user_info; - if (jbr && jbr->client.name) { - char *tmp = - g_strdup_printf("%s%s%s", jbr->client.name, - (jbr->client.version ? " " : ""), - (jbr->client.version ? jbr->client.version : "")); - purple_notify_user_info_prepend_pair(user_info, _("Client"), tmp); + if (jbr) { + char *purdy = NULL; + char *tmp; + char priority[12]; + const char *status_name = jabber_buddy_state_get_name(jbr->state); + + g_snprintf(priority, sizeof(priority), "%d", jbr->priority); + purple_notify_user_info_add_pair_html(user_info, _("Priority"), priority); + + if (jbr->status) { + tmp = purple_markup_escape_text(jbr->status, -1); + purdy = purple_strdup_withhtml(tmp); + g_free(tmp); + + if (purple_strequal(status_name, purdy)) + status_name = NULL; + } + + tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""), + ((status_name && purdy) ? ": " : ""), + (purdy ? purdy : "")); + purple_notify_user_info_add_pair_html(user_info, _("Status"), tmp); + g_free(tmp); + g_free(purdy); + } else { + purple_notify_user_info_add_pair_html(user_info, _("Status"), _("Unknown")); + } - if (jbr->client.os) - purple_notify_user_info_prepend_pair(user_info, _("Operating System"), jbr->client.os); + if (jbir && jbir->idle_seconds > 0) { + char *idle = purple_str_seconds_to_string(jbir->idle_seconds); + purple_notify_user_info_add_pair_html(user_info, _("Idle"), idle); + g_free(idle); } if (jbr && jbr->tz_off != PURPLE_NO_TZ_OFF) { @@ -751,43 +774,21 @@ jbr->tz_off < 0 ? '-' : '+', abs(jbr->tz_off / (60*60)), abs((jbr->tz_off % (60*60)) / 60)); - purple_notify_user_info_prepend_pair(user_info, _("Local Time"), timestamp); + purple_notify_user_info_add_pair_html(user_info, _("Local Time"), timestamp); g_free(timestamp); } - if (jbir && jbir->idle_seconds > 0) { - char *idle = purple_str_seconds_to_string(jbir->idle_seconds); - purple_notify_user_info_prepend_pair(user_info, _("Idle"), idle); - g_free(idle); - } + if (jbr && jbr->client.name) { + char *tmp; - if (jbr) { - char *purdy = NULL; - char *tmp; - char priority[12]; - const char *status_name = jabber_buddy_state_get_name(jbr->state); - - if (jbr->status) { - tmp = purple_markup_escape_text(jbr->status, -1); - purdy = purple_strdup_withhtml(tmp); - g_free(tmp); + if (jbr->client.os) + purple_notify_user_info_add_pair_html(user_info, _("Operating System"), jbr->client.os); - if (purple_strequal(status_name, purdy)) - status_name = NULL; - } - - tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""), - ((status_name && purdy) ? ": " : ""), - (purdy ? purdy : "")); - purple_notify_user_info_prepend_pair(user_info, _("Status"), tmp); - - g_snprintf(priority, sizeof(priority), "%d", jbr->priority); - purple_notify_user_info_prepend_pair(user_info, _("Priority"), priority); - + tmp = g_strdup_printf("%s%s%s", jbr->client.name, + (jbr->client.version ? " " : ""), + (jbr->client.version ? jbr->client.version : "")); + purple_notify_user_info_add_pair_html(user_info, _("Client"), tmp); g_free(tmp); - g_free(purdy); - } else { - purple_notify_user_info_prepend_pair(user_info, _("Status"), _("Unknown")); } }