Adium

Changeset 25574

Show
Ignore:
Timestamp:
11/13/2008 03:20:22 AM (2 months ago)
Author:
catfish_man
Message:

Add initial support for ops/hops/voice/etc

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Frameworks/Adium Framework/Source/AIListContact.h

    r24814 r25574  
    1919#import <Adium/AIListGroup.h> 
    2020 
     21typedef enum 
     22{ 
     23                AIGroupChatNone                                         = 0x0000, /**< No flags                     */ 
     24                AIGroupChatVoice                                                = 0x0001, /**< Voiced user or "Participant" */ 
     25                AIGroupChatHalfOp                                       = 0x0002, /**< Half-op                      */ 
     26                AIGroupChatOp                                                           = 0x0004, /**< Channel Op or Moderator      */ 
     27                AIGroupChatFounder                              = 0x0008, /**< Channel Founder              */ 
     28                AIGroupChatTyping                                       = 0x0010, /**< Currently typing             */ 
     29} AIGroupChatFlags; 
     30 
    2131#define KEY_AB_UNIQUE_ID                @"AB Unique ID" 
    2232 
     
    2737        NSString                *remoteGroupName; 
    2838        NSString                *internalUniqueObjectID; 
     39        AIGroupChatFlags groupChatFlags; 
    2940} 
    3041 
     
    4455@property (readonly, nonatomic) NSString *ownPhoneticName; 
    4556@property (readonly, nonatomic) NSString *serversideDisplayName; 
     57 
     58@property (readwrite, nonatomic) AIGroupChatFlags groupChatFlags; 
    4659 
    4760@property (readonly, nonatomic) BOOL canJoinMetaContacts; 
  • trunk/Frameworks/Adium Framework/Source/AIListContact.m

    r25468 r25574  
    569569} 
    570570 
     571@synthesize groupChatFlags; 
     572 
    571573#pragma mark Parents 
    572574/*! 
  • trunk/Plugins/Purple Service/adiumPurpleConversation.m

    r25443 r25574  
    314314static void adiumPurpleConvUpdateUser(PurpleConversation *conv, const char *user) 
    315315{ 
    316         AILog(@"adiumPurpleConvUpdateUser: %s",user); 
     316        CBPurpleAccount *account = accountLookup(purple_conversation_get_account(conv)); 
     317        AIListContact *contact = [account contactWithUID:[account uidForContactWithUID:[NSString stringWithUTF8String:user] inChat:groupChatLookupFromConv(conv)]]; 
     318        contact.groupChatFlags = purple_conv_chat_user_get_flags(PURPLE_CONV_CHAT(conv), user);  
    317319} 
    318320 
  • trunk/Plugins/Purple Service/CBPurpleAccount.h

    r24983 r25574  
    172172 
    173173- (NSString *)_UIDForAddingObject:(AIListContact *)object; 
     174- (NSString *)uidForContactWithUID:(NSString *)inUID inChat:(AIChat *)chat; 
    174175 
    175176#pragma mark Contacts 
  • trunk/Plugins/Purple Service/CBPurpleAccount.m

    r25559 r25574  
    11901190                listContact = [self contactWithUID:[self uidForContactWithUID:contactName inChat:chat]]; 
    11911191                [listContact setFormattedUID:contactName notify:NotifyNow]; 
     1192                 
     1193                //XXX if purple's flags change this could stop working 
     1194                listContact.groupChatFlags = (AIGroupChatFlags)flags; 
    11921195 
    11931196                if (alias && [alias length] && ![alias isEqualToString:contactName]) {