changeset 15475:7c20c9ab7985

merge of '10550177dfd838a0e39858988adee426a7f6ac2b' and 'b563dc01f6ebca0e5593bd189068920ea0d3c7b6'
author Sean Egan <seanegan@gmail.com>
date Wed, 31 Jan 2007 05:47:22 +0000
parents 20cd2ea47648 (diff) 4222b5790e0b (current diff)
children 5e5f9ffa5b72 cb3800fabd76
files
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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;
 	}