Plugins/Purple Service/ESIRCAccount.m
changeset 2845 e47bfb289f64
parent 2844 ecd301a427cc
child 3078 1b883db24823
     1.1 --- a/Plugins/Purple Service/ESIRCAccount.m	Sat Oct 31 22:52:55 2009 -0400
     1.2 +++ b/Plugins/Purple Service/ESIRCAccount.m	Sat Oct 31 22:58:03 2009 -0400
     1.3 @@ -454,24 +454,27 @@
     1.4  {
     1.5  	AIOperationRequirement req = menuItem.tag;
     1.6  	AIChat *chat = adium.interfaceController.activeChat;
     1.7 -	
     1.8 -	if (!chat.chatContainer.messageViewController.selectedListObjects.count) {
     1.9 -		return NO;
    1.10 -	}
    1.11 -	
    1.12 +	BOOL anySelected = chat.chatContainer.messageViewController.selectedListObjects.count > 0;
    1.13 +		
    1.14  	AIGroupChatFlags flags = [self flagsInChat:chat];
    1.15  	
    1.16  	switch (req) {
    1.17  		case AIRequiresHalfop:
    1.18 -			return ((flags & AIGroupChatOp) == AIGroupChatOp || (flags & AIGroupChatHalfOp) == AIGroupChatHalfOp);
    1.19 +			return (anySelected && ((flags & AIGroupChatOp) == AIGroupChatOp || (flags & AIGroupChatHalfOp) == AIGroupChatHalfOp));
    1.20  			break;
    1.21  			
    1.22  		case AIRequiresOp:
    1.23 -			return ((flags & AIGroupChatOp) == AIGroupChatOp);
    1.24 +			return (anySelected && ((flags & AIGroupChatOp) == AIGroupChatOp));
    1.25 +			break;
    1.26 +			
    1.27 +		case AIRequiresNoLevel:
    1.28 +			return anySelected;
    1.29 +			break;
    1.30 +			
    1.31 +		default:
    1.32 +			return YES;
    1.33  			break;
    1.34  	}
    1.35 -	
    1.36 -	return NO;
    1.37  }
    1.38  
    1.39  #pragma mark Action Menu's Actions