# HG changeset patch # User Sean Egan # Date 1170464347 0 # Node ID 4ead39213173dc2e3a6172229226eae70460127a # Parent 0d48906372387980b3775f6d175bf470cfee4358# Parent 74efe677c8a58b89b863428c26224e5ffb4508ae merge of '09ff3dbbbf318127fa55c593466b381a9f4114b3' and '8af2491f942d81c6a2b3518ae58fd9395900a0b3' diff -r 0d4890637238 -r 4ead39213173 pidgin/gaimstock.c --- a/pidgin/gaimstock.c Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/gaimstock.c Sat Feb 03 00:59:07 2007 +0000 @@ -161,6 +161,7 @@ { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, FALSE }, { PIDGIN_STOCK_STATUS_OPERATOR, "status", "operator.png", TRUE, FALSE, FALSE, FALSE }, { PIDGIN_STOCK_STATUS_HALFOP, "status", "half-operator.png", TRUE, FALSE, FALSE, FALSE }, + { PIDGIN_STOCK_STATUS_MESSAGE, "status", "message-pending.png",TRUE, FALSE, FALSE, FALSE }, { PIDGIN_STOCK_DIALOG_AUTH, "dialogs", "auth.png", TRUE, FALSE, FALSE, TRUE }, { PIDGIN_STOCK_DIALOG_COOL, "dialogs", "cool.png", FALSE, FALSE, FALSE, TRUE }, diff -r 0d4890637238 -r 4ead39213173 pidgin/gaimstock.h --- a/pidgin/gaimstock.h Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/gaimstock.h Sat Feb 03 00:59:07 2007 +0000 @@ -110,6 +110,7 @@ #define PIDGIN_STOCK_STATUS_PERSON "pidgin-status-person" #define PIDGIN_STOCK_STATUS_OPERATOR "pidgin-status-operator" #define PIDGIN_STOCK_STATUS_HALFOP "pidgin-status-halfop" +#define PIDGIN_STOCK_STATUS_MESSAGE "pidgin-status-message" /* Dialog icons */ #define PIDGIN_STOCK_DIALOG_AUTH "pidgin-dialog-auth" diff -r 0d4890637238 -r 4ead39213173 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/gtkblist.c Sat Feb 03 00:59:07 2007 +0000 @@ -3064,7 +3064,19 @@ } if(buddy) { - GaimPresence *p = gaim_buddy_get_presence(buddy); + GaimConversation *conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, + gaim_buddy_get_name(buddy), + gaim_buddy_get_account(buddy)); + GaimPresence *p; + if(conv != NULL) { + GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); + if(gtkconv != NULL && gaim_gtkconv_is_hidden(gtkconv) && size == GAIM_STATUS_ICON_SMALL) { + return gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_MESSAGE, + icon_size, "GtkTreeView"); + } + } + p = gaim_buddy_get_presence(buddy); + if (GAIM_BUDDY_IS_ONLINE(buddy) && gtkbuddynode && gtkbuddynode->recent_signonoff) ret = gtk_widget_render_icon (GTK_WIDGET(gtkblist->treeview), PIDGIN_STOCK_STATUS_LOGIN, icon_size, "GtkTreeView"); @@ -3222,6 +3234,19 @@ struct _gaim_gtk_blist_node *gtkcontactnode = NULL; char *idletime = NULL, *statustext = NULL; time_t t; + GaimConversation *conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, + gaim_buddy_get_name(b), + gaim_buddy_get_account(b)); + GaimGtkConversation *gtkconv; + gboolean hidden_conv = FALSE; + + if(conv != NULL) { + gtkconv = GAIM_GTK_CONVERSATION(conv); + if(gtkconv != NULL && gaim_gtkconv_is_hidden(gtkconv)) { + hidden_conv = TRUE; + } + } + /* XXX Good luck cleaning up this crap */ contact = (GaimContact*)((GaimBlistNode*)b)->parent; @@ -3243,9 +3268,19 @@ text = g_strdup_printf("%s", dim_grey(), esc); g_free(esc); + if (hidden_conv) { + char *tmp = text; + text = g_strdup_printf("%s", text); + g_free(tmp); + } return text; } else + if (hidden_conv) { + char *tmp = esc; + esc = g_strdup_printf("%s", esc); + g_free(tmp); + } return esc; } @@ -3366,7 +3401,13 @@ g_free(idletime); g_free(statustext); g_free(esc); - + + if (hidden_conv) { + char *tmp = text; + text = g_strdup_printf("%s", tmp); + g_free(tmp); + } + return text; } diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/emblems/16/Makefile.am --- a/pidgin/pixmaps/emblems/16/Makefile.am Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/Makefile.am Sat Feb 03 00:59:07 2007 +0000 @@ -8,7 +8,6 @@ free-for-chat.png \ game.png \ male.png \ - message-pending.png \ mobile.png \ not-authorized.png \ qq-member.png \ diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/emblems/16/message-pending.png Binary file pidgin/pixmaps/emblems/16/message-pending.png has changed diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/emblems/16/scalable/Makefile.am --- a/pidgin/pixmaps/emblems/16/scalable/Makefile.am Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/scalable/Makefile.am Sat Feb 03 00:59:07 2007 +0000 @@ -6,7 +6,6 @@ free-for-chat.svg \ game.svg \ male.svg \ - message-pending.svg \ mobile.svg \ not-authorized.svg \ qq-member.svg \ diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/emblems/16/scalable/message-pending.svg --- a/pidgin/pixmaps/emblems/16/scalable/message-pending.svg Fri Feb 02 23:14:20 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,365 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/status/16/Makefile.am --- a/pidgin/pixmaps/status/16/Makefile.am Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/pixmaps/status/16/Makefile.am Sat Feb 03 00:59:07 2007 +0000 @@ -12,6 +12,7 @@ half-operator.png \ log-in.png \ log-out.png \ + message-pending.png \ offline.png \ operator.png \ person.png diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/status/16/message-pending.png Binary file pidgin/pixmaps/status/16/message-pending.png has changed diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/status/16/scalable/Makefile.am --- a/pidgin/pixmaps/status/16/scalable/Makefile.am Fri Feb 02 23:14:20 2007 +0000 +++ b/pidgin/pixmaps/status/16/scalable/Makefile.am Sat Feb 03 00:59:07 2007 +0000 @@ -5,6 +5,7 @@ extended-away.svg \ log-in.svg \ log-out.svg \ + message-pending.svg \ offline.svg \ person.svg diff -r 0d4890637238 -r 4ead39213173 pidgin/pixmaps/status/16/scalable/message-pending.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/status/16/scalable/message-pending.svg Sat Feb 03 00:59:07 2007 +0000 @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + +