Changeset 3580

Show
Ignore:
Timestamp:
02/07/07 21:48:25 (2 years ago)
Author:
rinoa
Message:

Now recognizes Admins and Founders when promoted while in the channel. Founder context menu now works. #981

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Chat Core/MVIRCChatConnection.m

    r3555 r3580  
    21192119                                        unsigned long mode = ( value & ~enabledHighBit ); 
    21202120 
    2121                                         if( mode == MVChatRoomMemberOperatorMode || mode == MVChatRoomMemberHalfOperatorMode || mode == MVChatRoomMemberVoicedMode ) { 
     2121                                        if( mode == MVChatRoomMemberFounderMode || mode == MVChatRoomMemberAdministratorMode || mode == MVChatRoomMemberOperatorMode || mode == MVChatRoomMemberHalfOperatorMode || mode == MVChatRoomMemberVoicedMode ) { 
    21222122                                                MVChatUser *member = [self chatUserWithUniqueIdentifier:param]; 
    21232123                                                if( enabled ) [room _setMode:mode forMemberUser:member]; 
  • trunk/Panels/JVChatRoomMember.m

    r3579 r3580  
    420420        } 
    421421 
    422         if( ( ( localUserIsAdministrator || localUserIsFounder ) && (localUserIsAdministrator && ! [self roomFounder]) ) && ( [features containsObject:MVChatRoomMemberAdministratorFeature] ) ) { 
     422        if( ( ( localUserIsAdministrator || localUserIsFounder ) && ( (localUserIsAdministrator && ! [self roomFounder]) || localUserIsFounder ) ) && ( [features containsObject:MVChatRoomMemberAdministratorFeature] ) ) { 
    423423                item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString( @"Administrator", "administrator contextual menu - admin only") action:@selector( toggleAdministratorStatus: ) keyEquivalent:@""]; 
    424424                [item setTarget:self]; 
     
    427427        } 
    428428 
    429         if( ( localUserIsOperator || localUserIsAdministrator || localUserIsFounder ) && ( (localUserIsOperator && ! ([self roomAdministrator] || [self roomFounder])) || (localUserIsAdministrator && ! [self roomFounder]) ) ) { 
     429        if( ( localUserIsOperator || localUserIsAdministrator || localUserIsFounder ) && ( (localUserIsOperator && ! ([self roomAdministrator] || [self roomFounder])) || (localUserIsAdministrator && ! [self roomFounder]) || localUserIsFounder ) ) { 
    430430                if( [features containsObject:MVChatRoomMemberOperatorFeature] ) { 
    431431                        item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString( @"Operator", "operator contextual menu - admin only") action:@selector( toggleOperatorStatus: ) keyEquivalent:@""]; 
     
    444444 
    445445        if( localUserIsHalfOperator || localUserIsOperator || localUserIsAdministrator || localUserIsFounder ) { 
    446                 if( [features containsObject:MVChatRoomMemberVoicedFeature] && ( (localUserIsHalfOperator && ! ([self operator] || [self roomAdministrator] || [self roomFounder]) ) || (localUserIsOperator && ! ([self roomAdministrator] || [self roomFounder])) || (localUserIsAdministrator && ! [self roomFounder]) ) ) { 
     446                if( [features containsObject:MVChatRoomMemberVoicedFeature] && ( (localUserIsHalfOperator && ! ([self operator] || [self roomAdministrator] || [self roomFounder]) ) || (localUserIsOperator && ! ([self roomAdministrator] || [self roomFounder])) || (localUserIsAdministrator && ! [self roomFounder]) || localUserIsFounder ) ) { 
    447447                        item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString( @"Voice", "voice contextual menu - admin only") action:@selector( toggleVoiceStatus: ) keyEquivalent:@""]; 
    448448                        [item setTarget:self]; 
     
    491491                        [menuItem setState:NSOffState]; 
    492492                } 
     493        } else if( [menuItem action] == @selector( toggleAdministratorStatus: ) ) { 
     494                if( [self roomAdministrator] ) { 
     495                        [menuItem setState:NSOnState]; 
     496                } else { 
     497                        [menuItem setState:NSOffState]; 
     498                } 
     499        } else if( [menuItem action] == @selector( toggleFounderStatus: ) ) { 
     500                if( [self roomFounder] ) { 
     501                        [menuItem setState:NSOnState]; 
     502                } else { 
     503                        [menuItem setState:NSOffState]; 
     504                } 
    493505        } 
    494506        return YES; 
     
    533545 
    534546- (IBAction) toggleFounderStatus:(id) sender { 
    535         if( [self founder] ) [[_room target] removeMode:MVChatRoomMemberFounderMode forMemberUser:_user]; 
     547        if( [self roomFounder] ) [[_room target] removeMode:MVChatRoomMemberFounderMode forMemberUser:_user]; 
    536548        else [[_room target] setMode:MVChatRoomMemberFounderMode forMemberUser:_user]; 
    537549} 
    538550 
    539551- (IBAction) toggleAdministratorStatus:(id) sender { 
    540         if( [self administrator] ) [[_room target] removeMode:MVChatRoomMemberAdministratorMode forMemberUser:_user]; 
     552        if( [self roomAdministrator] ) [[_room target] removeMode:MVChatRoomMemberAdministratorMode forMemberUser:_user]; 
    541553        else [[_room target] setMode:MVChatRoomMemberAdministratorMode forMemberUser:_user]; 
    542554}