Changeset a08e875


Ignore:
Timestamp:
2010-07-17T12:08:31Z (9 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
a91550c
Parents:
d0527c1
Message:

libpurple: Read group information of contacts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/purple/purple.c

    rd0527c1 ra08e875  
    644644};
    645645
    646 static void prplcb_blist_new( PurpleBlistNode *node )
    647 {
    648         PurpleBuddy *bud = (PurpleBuddy*) node;
    649        
     646static void prplcb_blist_update( PurpleBuddyList *list, PurpleBlistNode *node )
     647{
    650648        if( node->type == PURPLE_BLIST_BUDDY_NODE )
    651649        {
    652                 struct im_connection *ic = purple_ic_by_pa( bud->account );
    653                
    654                 if( ic == NULL )
    655                         return;
    656                
    657                 imcb_add_buddy( ic, bud->name, NULL );
    658                 if( bud->server_alias )
    659                 {
    660                         imcb_rename_buddy( ic, bud->name, bud->server_alias );
    661                         imcb_buddy_nick_hint( ic, bud->name, bud->server_alias );
    662                 }
    663         }
    664 }
    665 
    666 static void prplcb_blist_update( PurpleBuddyList *list, PurpleBlistNode *node )
    667 {
    668         PurpleBuddy *bud = (PurpleBuddy*) node;
    669        
    670         if( node->type == PURPLE_BLIST_BUDDY_NODE )
    671         {
     650                PurpleBuddy *bud = (PurpleBuddy*) node;
     651                PurpleGroup *group = purple_buddy_get_group( bud );
    672652                struct im_connection *ic = purple_ic_by_pa( bud->account );
    673653                PurpleStatus *as;
     
    680660                        imcb_rename_buddy( ic, bud->name, bud->server_alias );
    681661               
     662                if( group )
     663                        imcb_add_buddy( ic, bud->name, purple_group_get_name( group ) );
     664               
    682665                flags |= purple_presence_is_online( bud->presence ) ? OPT_LOGGED_IN : 0;
    683666                flags |= purple_presence_is_available( bud->presence ) ? 0 : OPT_AWAY;
     
    691674                                  purple_presence_get_login_time( bud->presence ),
    692675                                  purple_presence_get_idle_time( bud->presence ) );
     676        }
     677}
     678
     679static void prplcb_blist_new( PurpleBlistNode *node )
     680{
     681        if( node->type == PURPLE_BLIST_BUDDY_NODE )
     682        {
     683                PurpleBuddy *bud = (PurpleBuddy*) node;
     684                struct im_connection *ic = purple_ic_by_pa( bud->account );
     685               
     686                if( ic == NULL )
     687                        return;
     688               
     689                imcb_add_buddy( ic, bud->name, NULL );
     690               
     691                prplcb_blist_update( NULL, node );
    693692        }
    694693}
Note: See TracChangeset for help on using the changeset viewer.