Mercurial > pidgin.yaz
comparison pidgin/gtkblist.c @ 15475:20cd2ea47648
tooltip tweaks
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Tue, 30 Jan 2007 07:56:37 +0000 |
parents | fdba26a13731 |
children | 5551adcf8f97 |
comparison
equal
deleted
inserted
replaced
15474:fdba26a13731 | 15475:20cd2ea47648 |
---|---|
2270 pango_layout_set_width(td->name_layout, 300000); | 2270 pango_layout_set_width(td->name_layout, 300000); |
2271 | 2271 |
2272 pango_layout_get_size (td->name_layout, &td->name_width, &td->name_height); | 2272 pango_layout_get_size (td->name_layout, &td->name_width, &td->name_height); |
2273 td->name_width = PANGO_PIXELS(td->name_width) + SMALL_SPACE + PRPL_SIZE; | 2273 td->name_width = PANGO_PIXELS(td->name_width) + SMALL_SPACE + PRPL_SIZE; |
2274 td->name_height = MAX(PANGO_PIXELS(td->name_height), PRPL_SIZE + SMALL_SPACE); | 2274 td->name_height = MAX(PANGO_PIXELS(td->name_height), PRPL_SIZE + SMALL_SPACE); |
2275 | 2275 #if 0 /* PRPL Icon as avatar */ |
2276 if(!td->avatar && full) { | 2276 if(!td->avatar && full) { |
2277 td->avatar = gaim_gtk_create_prpl_icon(account, PIDGIN_PRPL_ICON_LARGE); | 2277 td->avatar = gaim_gtk_create_prpl_icon(account, PIDGIN_PRPL_ICON_LARGE); |
2278 td->avatar_is_prpl_icon = TRUE; | 2278 td->avatar_is_prpl_icon = TRUE; |
2279 } | 2279 } |
2280 #endif | |
2280 td->avatar_width = gdk_pixbuf_get_width(td->avatar); | 2281 td->avatar_width = gdk_pixbuf_get_width(td->avatar); |
2281 td->avatar_height = gdk_pixbuf_get_height(td->avatar); | 2282 td->avatar_height = gdk_pixbuf_get_height(td->avatar); |
2282 | 2283 |
2283 g_free(tooltip_text); | 2284 g_free(tooltip_text); |
2284 return td; | 2285 return td; |
2287 static void gaim_gtk_blist_paint_tip(GtkWidget *widget, GdkEventExpose *event, GaimBlistNode *node) | 2288 static void gaim_gtk_blist_paint_tip(GtkWidget *widget, GdkEventExpose *event, GaimBlistNode *node) |
2288 { | 2289 { |
2289 GtkStyle *style; | 2290 GtkStyle *style; |
2290 int current_height, max_width; | 2291 int current_height, max_width; |
2291 GList *l; | 2292 GList *l; |
2293 int prpl_col = 0; | |
2292 | 2294 |
2293 if(gtkblist->tooltipdata == NULL) | 2295 if(gtkblist->tooltipdata == NULL) |
2294 return; | 2296 return; |
2295 | 2297 |
2296 style = gtkblist->tipwindow->style; | 2298 style = gtkblist->tipwindow->style; |
2302 { | 2304 { |
2303 struct tooltip_data *td = l->data; | 2305 struct tooltip_data *td = l->data; |
2304 max_width = MAX(max_width, | 2306 max_width = MAX(max_width, |
2305 TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + | 2307 TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + |
2306 MAX(td->width, td->name_width) + SMALL_SPACE + td->avatar_width + TOOLTIP_BORDER); | 2308 MAX(td->width, td->name_width) + SMALL_SPACE + td->avatar_width + TOOLTIP_BORDER); |
2309 prpl_col = MAX(prpl_col, | |
2310 TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + td->name_width - PRPL_SIZE); | |
2307 } | 2311 } |
2308 | 2312 |
2309 current_height = 12; | 2313 current_height = 12; |
2310 for(l = gtkblist->tooltipdata; l; l = l->next) | 2314 for(l = gtkblist->tooltipdata; l; l = l->next) |
2311 { | 2315 { |
2326 td->avatar, 0, 0, max_width - (td->avatar_width + TOOLTIP_BORDER), | 2330 td->avatar, 0, 0, max_width - (td->avatar_width + TOOLTIP_BORDER), |
2327 current_height, -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); | 2331 current_height, -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); |
2328 if (!td->avatar_is_prpl_icon) | 2332 if (!td->avatar_is_prpl_icon) |
2329 gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->prpl_icon, | 2333 gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->prpl_icon, |
2330 0, 0, | 2334 0, 0, |
2331 TOOLTIP_BORDER + STATUS_SIZE + SMALL_SPACE + td->name_width - PRPL_SIZE, | 2335 prpl_col, |
2332 current_height + ((td->name_height / 2) - (PRPL_SIZE / 2)), | 2336 current_height + ((td->name_height / 2) - (PRPL_SIZE / 2)), |
2333 -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); | 2337 -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); |
2334 | 2338 |
2335 #else | 2339 #else |
2336 gdk_pixbuf_render_to_drawable(td->status_icon, GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, 0, 0, 12, current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); | 2340 gdk_pixbuf_render_to_drawable(td->status_icon, GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, 0, 0, 12, current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); |