Mercurial > pidgin.yaz
diff pidgin/gtkconv.c @ 23122:f6c57e6e8a89
Deprecate pidgin_set_custom_buddy_icon and update the places that use it to
use purple_buddy_icons_node_set_custom_icon_from_file instead.
author | Etan Reisner <pidgin@unreliablesource.net> |
---|---|
date | Thu, 15 May 2008 04:00:22 +0000 |
parents | 21636ef92dbb |
children | 0ca259d5f928 |
line wrap: on
line diff
--- a/pidgin/gtkconv.c Thu May 15 03:26:46 2008 +0000 +++ b/pidgin/gtkconv.c Thu May 15 04:00:22 2008 +0000 @@ -2724,10 +2724,22 @@ custom_icon_sel_cb(const char *filename, gpointer data) { if (filename) { + const gchar *name; + PurpleBuddy *buddy; + PurpleContact *contact; PidginConversation *gtkconv = data; PurpleConversation *conv = gtkconv->active_conv; PurpleAccount *account = purple_conversation_get_account(conv); - pidgin_set_custom_buddy_icon(account, purple_conversation_get_name(conv), filename); + + name = purple_conversation_get_name(conv); + buddy = purple_buddy_find(account, name); + if (!buddy) { + purple_debug_info("custom-icon", "You can only set custom icons for people on your buddylist.\n"); + return; + } + contact = purple_buddy_get_contact(buddy); + + purple_buddy_icons_node_set_custom_icon_from_file((PurpleBlistNode*)contact, filename); } } @@ -2769,12 +2781,21 @@ static void remove_custom_icon_cb(GtkWidget *widget, PidginConversation *gtkconv) { - PurpleConversation *conv; + const gchar *name; + PurpleBuddy *buddy; PurpleAccount *account; - - conv = gtkconv->active_conv; + PurpleContact *contact; + PurpleConversation *conv = gtkconv->active_conv; + account = purple_conversation_get_account(conv); - pidgin_set_custom_buddy_icon(account, purple_conversation_get_name(conv), NULL); + buddy = purple_buddy_find(account, name); + if (!buddy) { + return; + } + contact = purple_buddy_get_contact(buddy); + name = purple_conversation_get_name(conv); + + purple_buddy_icons_node_set_custom_icon_from_file((PurpleBlistNode*)contact, NULL); } static void