Mercurial > pidgin
changeset 8748:13d592f485d1
[gaim-migrate @ 9503]
The window icon for conversation windows is no longer 15x15. This prevents
the icon from being scaled up and appearing ugly in window lists, alt-tab
dialogs, etc.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Wed, 21 Apr 2004 23:40:39 +0000 |
parents | 4711e12ee1f9 |
children | d7b8eb1f0a18 |
files | src/gtkconv.c |
diffstat | 1 files changed, 18 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gtkconv.c Wed Apr 21 23:10:50 2004 +0000 +++ b/src/gtkconv.c Wed Apr 21 23:40:39 2004 +0000 @@ -1995,7 +1995,7 @@ * A bunch of buddy icon functions **************************************************************************/ static GdkPixbuf * -get_tab_icon(GaimConversation *conv) +get_tab_icon(GaimConversation *conv, gboolean small) { GaimAccount *account = gaim_conversation_get_account(conv); const char *name = gaim_conversation_get_name(conv); @@ -2005,7 +2005,7 @@ GaimBuddy *b = gaim_find_buddy(account, name); if (b != NULL) { status = gaim_gtk_blist_get_status_icon((GaimBlistNode*)b, - GAIM_STATUS_ICON_SMALL); + (small ? GAIM_STATUS_ICON_SMALL : GAIM_STATUS_ICON_LARGE)); } } @@ -2013,11 +2013,14 @@ GdkPixbuf *pixbuf; pixbuf = create_prpl_icon(account); - if (pixbuf) { + if (small && pixbuf != NULL) + { status = gdk_pixbuf_scale_simple(pixbuf, 15, 15, GDK_INTERP_BILINEAR); g_object_unref(pixbuf); } + else + status = pixbuf; } return status; } @@ -2035,17 +2038,24 @@ name = gaim_conversation_get_name(conv); account = gaim_conversation_get_account(conv); - status = get_tab_icon(conv); + status = get_tab_icon(conv, TRUE); gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->icon), status); gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->menu_icon), status); + if (status != NULL) + g_object_unref(status); + if (gaim_conv_window_get_active_conversation(win) == conv && gtkconv->u.im->anim == NULL) + { + status = get_tab_icon(conv, FALSE); + gtk_window_set_icon(GTK_WINDOW(GAIM_GTK_WINDOW(win)->window), status); - if(status) - g_object_unref(status); + if (status != NULL) + g_object_unref(status); + } } static gboolean @@ -2424,7 +2434,7 @@ } else if (gaim_conversation_get_type(conv) == GAIM_CONV_CHAT) { gtk_widget_set_sensitive(gtkconv->u.chat->invite, FALSE); } - + /* Then deal with menu items */ gtk_widget_set_sensitive(gtkwin->menu.view_log, TRUE); gtk_widget_set_sensitive(gtkwin->menu.add_pounce, TRUE); @@ -2449,7 +2459,7 @@ gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim); g_object_ref(window_icon); } else { - window_icon = get_tab_icon(conv); + window_icon = get_tab_icon(conv, FALSE); } gtk_window_set_icon(GTK_WINDOW(gtkwin->window), window_icon); g_object_unref(G_OBJECT(window_icon));