pidgin/gtkblist.c

branch
cpw.darkrain42.buddy-add
changeset 25502
40f87522e2d0
parent 24867
69105eeaf010
parent 25088
11121cb6b14c
child 25507
f69df2268d26
equal deleted inserted replaced
24867:69105eeaf010 25502:40f87522e2d0
3628 PurplePlugin *prpl; 3628 PurplePlugin *prpl;
3629 PurplePluginProtocolInfo *prpl_info; 3629 PurplePluginProtocolInfo *prpl_info;
3630 const char *name = NULL; 3630 const char *name = NULL;
3631 char *filename, *path; 3631 char *filename, *path;
3632 PurplePresence *p; 3632 PurplePresence *p;
3633 PurpleStatus *tune;
3633 3634
3634 if(PURPLE_BLIST_NODE_IS_CONTACT(node)) { 3635 if(PURPLE_BLIST_NODE_IS_CONTACT(node)) {
3635 if(!gtknode->contact_expanded) { 3636 if(!gtknode->contact_expanded) {
3636 buddy = purple_contact_get_priority_buddy((PurpleContact*)node); 3637 buddy = purple_contact_get_priority_buddy((PurpleContact*)node);
3637 gtkbuddynode = ((PurpleBlistNode*)buddy)->ui_data; 3638 gtkbuddynode = ((PurpleBlistNode*)buddy)->ui_data;
3666 if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) { 3667 if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) {
3667 path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "mobile.png", NULL); 3668 path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "mobile.png", NULL);
3668 return _pidgin_blist_get_cached_emblem(path); 3669 return _pidgin_blist_get_cached_emblem(path);
3669 } 3670 }
3670 3671
3671 if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_TUNE)) { 3672 tune = purple_presence_get_status(p, "tune");
3673 if (tune && purple_status_is_active(tune)) {
3674 /* Only in MSN.
3675 * TODO: Replace "Tune" with generalized "Media" in 3.0. */
3676 if (purple_status_get_attr_string(tune, "game") != NULL) {
3677 path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "game.png", NULL);
3678 return _pidgin_blist_get_cached_emblem(path);
3679 }
3680 /* Only in MSN.
3681 * TODO: Replace "Tune" with generalized "Media" in 3.0. */
3682 if (purple_status_get_attr_string(tune, "office") != NULL) {
3683 path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "office.png", NULL);
3684 return _pidgin_blist_get_cached_emblem(path);
3685 }
3686 /* Regular old "tune" is the only one in all protocols. */
3672 path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "music.png", NULL); 3687 path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "music.png", NULL);
3673 return _pidgin_blist_get_cached_emblem(path); 3688 return _pidgin_blist_get_cached_emblem(path);
3674 } 3689 }
3675 3690
3676 prpl = purple_find_prpl(purple_account_get_protocol_id(buddy->account)); 3691 prpl = purple_find_prpl(purple_account_get_protocol_id(buddy->account));

mercurial