Mercurial > pidgin
changeset 14304:d86ad60af057
[gaim-migrate @ 16994]
If an emblem is really big, scale it down to something sane.
Use a really big emblem (the msn prpl icon) in yahoo.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Wed, 23 Aug 2006 04:29:16 +0000 |
parents | d9aa45c10588 |
children | fd46a9845fc2 |
files | gtk/gtkblist.c libgaim/protocols/yahoo/yahoo.c |
diffstat | 2 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk/gtkblist.c Wed Aug 23 04:22:04 2006 +0000 +++ b/gtk/gtkblist.c Wed Aug 23 04:29:16 2006 +0000 @@ -3014,19 +3014,27 @@ g_free(filename); if(emblem) { if(i == 0 && size == GAIM_STATUS_ICON_SMALL) { + double scale_factor = 0.6; + if(gdk_pixbuf_get_width(emblem) > 20) + scale_factor = 9.0 / gdk_pixbuf_get_width(emblem); + gdk_pixbuf_composite(emblem, scale, 5, 5, 10, 10, 5, 5, - .6, .6, + scale_factor, scale_factor, GDK_INTERP_BILINEAR, 255); } else { + double scale_factor = 1.0; + if(gdk_pixbuf_get_width(emblem) > 20) + scale_factor = 15.0 / gdk_pixbuf_get_width(emblem); + gdk_pixbuf_composite(emblem, scale, emblems[i].x, emblems[i].y, 15, 15, emblems[i].x, emblems[i].y, - 1, 1, + scale_factor, scale_factor, GDK_INTERP_BILINEAR, 255); }
--- a/libgaim/protocols/yahoo/yahoo.c Wed Aug 23 04:22:04 2006 +0000 +++ b/libgaim/protocols/yahoo/yahoo.c Wed Aug 23 04:29:16 2006 +0000 @@ -300,7 +300,8 @@ if (strtol(pair->value, NULL, 10) == 0) { if (f) f->status = YAHOO_STATUS_OFFLINE; - gaim_prpl_got_user_status(account, name, "offline", NULL); + if (name) + gaim_prpl_got_user_status(account, name, "offline", NULL); break; } break; @@ -2786,6 +2787,8 @@ emblems[i++] = "wireless"; if (yahoo_friend_get_game(f)) emblems[i++] = "game"; + if (f->protocol == 2) + emblems[i] = "msn"; } *se = emblems[0]; *sw = emblems[1];