comparison pidgin/gtkblist.c @ 24838:0d7c21b5f1d7

propagate from branch 'im.pidgin.pidgin' (head c06356e8e8d2c586f0192a5564053c2584020da8) to branch 'im.pidgin.pidgin.openq' (head a7077bc12b850d60ea7d768f4b9d4ee6ae6ad2c1)
author SHiNE CsyFeK <csyfek@gmail.com>
date Thu, 25 Dec 2008 14:06:10 +0000
parents fbfbebc9197e
children 289227f729ec 43b721aa4b76 45434c3fd878
comparison
equal deleted inserted replaced
24606:68eba2bafa6f 24838:0d7c21b5f1d7
600 serv_alias_buddy((PurpleBuddy *)node); 600 serv_alias_buddy((PurpleBuddy *)node);
601 gtk_blist_auto_personize(node->parent->parent, arg2); 601 gtk_blist_auto_personize(node->parent->parent, arg2);
602 break; 602 break;
603 case PURPLE_BLIST_GROUP_NODE: 603 case PURPLE_BLIST_GROUP_NODE:
604 dest = purple_find_group(arg2); 604 dest = purple_find_group(arg2);
605 if (dest != NULL && strcmp(arg2, ((PurpleGroup*) node)->name)) { 605 if (dest != NULL && purple_utf8_strcasecmp(arg2, ((PurpleGroup*) node)->name)) {
606 pidgin_dialogs_merge_groups((PurpleGroup*) node, arg2); 606 pidgin_dialogs_merge_groups((PurpleGroup*) node, arg2);
607 } else 607 } else
608 purple_blist_rename_group((PurpleGroup*)node, arg2); 608 purple_blist_rename_group((PurpleGroup*)node, arg2);
609 break; 609 break;
610 case PURPLE_BLIST_CHAT_NODE: 610 case PURPLE_BLIST_CHAT_NODE:
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));