# HG changeset patch # User Sean Egan # Date 1170222442 0 # Node ID 7c20c9ab7985e9a3792e771444e9bdae168df184 # Parent 20cd2ea47648843b72891d90101f9a8b529482be# Parent 4222b5790e0b531d5b8db706fda548712106bc1e merge of '10550177dfd838a0e39858988adee426a7f6ac2b' and 'b563dc01f6ebca0e5593bd189068920ea0d3c7b6' diff -r 4222b5790e0b -r 7c20c9ab7985 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Wed Jan 31 04:53:52 2007 +0000 +++ b/pidgin/gtkblist.c Wed Jan 31 05:47:22 2007 +0000 @@ -2272,11 +2272,12 @@ pango_layout_get_size (td->name_layout, &td->name_width, &td->name_height); td->name_width = PANGO_PIXELS(td->name_width) + SMALL_SPACE + PRPL_SIZE; td->name_height = MAX(PANGO_PIXELS(td->name_height), PRPL_SIZE + SMALL_SPACE); - +#if 0 /* PRPL Icon as avatar */ if(!td->avatar && full) { td->avatar = gaim_gtk_create_prpl_icon(account, PIDGIN_PRPL_ICON_LARGE); td->avatar_is_prpl_icon = TRUE; } +#endif td->avatar_width = gdk_pixbuf_get_width(td->avatar); td->avatar_height = gdk_pixbuf_get_height(td->avatar); @@ -2289,6 +2290,7 @@ GtkStyle *style; int current_height, max_width; GList *l; + int prpl_col = 0; if(gtkblist->tooltipdata == NULL) return; @@ -2304,6 +2306,8 @@ max_width = MAX(max_width, TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + MAX(td->width, td->name_width) + SMALL_SPACE + td->avatar_width + TOOLTIP_BORDER); + prpl_col = MAX(prpl_col, + TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + td->name_width - PRPL_SIZE); } current_height = 12; @@ -2328,7 +2332,7 @@ if (!td->avatar_is_prpl_icon) gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->prpl_icon, 0, 0, - TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + td->name_width - PRPL_SIZE, + prpl_col, current_height + ((td->name_height / 2) - (PRPL_SIZE / 2)), -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); @@ -2950,6 +2954,10 @@ } else if(GAIM_BLIST_NODE_IS_BUDDY(node)) { buddy = (GaimBuddy*)node; gtkbuddynode = node->ui_data; + if (((struct _gaim_gtk_blist_node*)(node->parent->ui_data))->contact_expanded) + return gaim_gtk_create_prpl_icon(((GaimBuddy*)node)->account, PIDGIN_PRPL_ICON_SMALL); + } else if(GAIM_BLIST_NODE_IS_CHAT(node)) { + return gaim_gtk_create_prpl_icon(((GaimChat*)node)->account, PIDGIN_PRPL_ICON_SMALL); } else { return NULL; }