# HG changeset patch # User Sean Egan # Date 1180379285 0 # Node ID 043a1139d4e5d3f586cdbf5b018b252304e74ab9 # Parent f7f4d11d482686c62fef25bd393c4f551f5de7e6 Fixes #464 diff -r f7f4d11d4826 -r 043a1139d4e5 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Mon May 28 18:25:43 2007 +0000 +++ b/pidgin/gtkblist.c Mon May 28 19:08:05 2007 +0000 @@ -3239,7 +3239,7 @@ ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_XA, icon_size, "GtkTreeView"); else if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_OFFLINE)) - ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_OFFLINE, + ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_OFFLINE_I, icon_size, "GtkTreeView"); else if (purple_presence_is_idle(p) && size == PIDGIN_STATUS_ICON_SMALL) ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_AVAILABLE_I, @@ -3413,8 +3413,16 @@ "%s", dim_grey(), esc, dim_grey(), statustext != NULL ? statustext : ""); - } - + } else if (!PURPLE_BUDDY_IS_ONLINE(b)) { + if (!selected && !statustext) /* We handle selected text later */ + text = g_strdup_printf("%s", dim_grey(), esc); + else if (!selected && !text) + text = g_strdup_printf("%s\n" + "%s", + dim_grey(), esc, dim_grey(), + statustext != NULL ? statustext : ""); + + } /* Not idle and not selected */ else if (!selected && !text) { diff -r f7f4d11d4826 -r 043a1139d4e5 pidgin/pidginstock.c --- a/pidgin/pidginstock.c Mon May 28 18:25:43 2007 +0000 +++ b/pidgin/pidginstock.c Mon May 28 19:08:05 2007 +0000 @@ -109,7 +109,7 @@ { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I }, { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE , NULL }, - { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I }, { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, { PIDGIN_STOCK_STATUS_MESSAGE, "status", "message-pending.png",TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, diff -r f7f4d11d4826 -r 043a1139d4e5 pidgin/pidginstock.h --- a/pidgin/pidginstock.h Mon May 28 18:25:43 2007 +0000 +++ b/pidgin/pidginstock.h Mon May 28 19:08:05 2007 +0000 @@ -70,6 +70,7 @@ #define PIDGIN_STOCK_STATUS_LOGIN "pidgin-status-login" #define PIDGIN_STOCK_STATUS_LOGOUT "pidgin-status-logout" #define PIDGIN_STOCK_STATUS_OFFLINE "pidgin-status-offline" +#define PIDGIN_STOCK_STATUS_OFFLINE_I "pidgin-status-offline" #define PIDGIN_STOCK_STATUS_PERSON "pidgin-status-person" #define PIDGIN_STOCK_STATUS_MESSAGE "pidgin-status-message"