pidgin/gtkblist.c

changeset 25088
11121cb6b14c
parent 24816
bd870d9ff0ab
parent 24771
7a17ecc0c85b
child 25119
d78a152554c4
child 25300
5d7c34d417b8
child 25502
40f87522e2d0
child 26178
2081d31d5466
equal deleted inserted replaced
25087:b26db53e5b66 25088:11121cb6b14c
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