Changeset 2176
- Timestamp:
- 12/30/04 11:42:53 (4 years ago)
- Files:
-
- trunk/JVChatRoom.h (modified) (1 diff)
- trunk/JVChatRoom.m (modified) (14 diffs)
- trunk/Languages/Dutch.lproj/Localizable.strings (modified) (6 diffs)
- trunk/Languages/German.lproj/Localizable.strings (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/JVChatRoom.h
r2163 r2176 3 3 @class JVChatRoomMember; 4 4 @class MVChatUser; 5 6 extern NSString *MVChatRoomModeChangedNotification;7 5 8 6 @interface JVChatRoom : JVDirectChat { trunk/JVChatRoom.m
r2171 r2176 21 21 #import "NSURLAdditions.h" 22 22 23 NSString *MVChatRoomModeChangedNotification = @"MVChatRoomModeChangedNotification";24 25 23 @interface JVChatRoom (JVChatRoomPrivate) 26 24 - (void) _topicChanged:(id) sender; … … 60 58 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( _memberJoined: ) name:MVChatRoomUserJoinedNotification object:target]; 61 59 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( _memberParted: ) name:MVChatRoomUserPartedNotification object:target]; 60 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( _roomModeChanged: ) name:MVChatRoomModeChangedNotification object:target]; 62 61 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( _memberModeChanged: ) name:MVChatRoomUserModeChangedNotification object:target]; 63 62 } … … 612 611 613 612 - (void) _roomModeChanged:(NSNotification *) notification { 614 /* if( [[[notification userInfo] objectForKey:@"room"] caseInsensitiveCompare:_target] != NSOrderedSame ) return; 615 616 unsigned int currentModes = [[[notification userInfo] objectForKey:@"mode"] unsignedIntValue]; 617 unsigned int newModes = currentModes & ~ [self modes]; 618 unsigned int oldModes = [self modes] & ~ currentModes; 619 unsigned int changedModes = newModes | oldModes; 620 621 [self setModes:currentModes]; 622 [self setKey:[[notification userInfo] objectForKey:@"key"]]; 623 [self setLimit:[(NSNumber *)[[notification userInfo] objectForKey:@"limit"] unsignedIntValue]]; 624 625 [[NSNotificationCenter defaultCenter] postNotificationName:MVChatRoomModeChangedNotification object:self]; 626 627 if( [[[notification userInfo] objectForKey:@"by"] isMemberOfClass:[NSNull class]] ) return; 628 if( [[[notification userInfo] objectForKey:@"by"] rangeOfString:@"."].location != NSNotFound ) return; // It's a server 629 630 NSString *member = [[notification userInfo] objectForKey:@"by"]; 631 JVChatRoomMember *mbr = [self chatRoomMemberWithName:member]; 632 NSString *message = nil; 633 NSString *mode = nil; 634 635 while (changedModes) { 636 if (changedModes & MVChatRoomPrivateMode) { 613 MVChatUser *user = [[notification userInfo] objectForKey:@"by"]; 614 615 if( ! user || [user isMemberOfClass:[NSNull class]] ) return; 616 if( [[self connection] type] == MVChatConnectionIRCType && [[user nickname] rangeOfString:@"."].location != NSNotFound ) 617 return; // a server telling us the initial modes when we join, ignore these on IRC connections 618 619 JVChatRoomMember *mbr = [self chatRoomMemberForUser:user]; 620 621 unsigned int changedModes = [[[notification userInfo] objectForKey:@"changedModes"] unsignedIntValue]; 622 unsigned int newModes = [[self target] modes]; 623 624 while( changedModes ) { 625 NSString *message = nil; 626 NSString *mode = nil; 627 id parameter = nil; 628 629 if( changedModes & MVChatRoomPrivateMode ) { 637 630 changedModes &= ~MVChatRoomPrivateMode; 638 631 mode = @"chatRoomPrivateMode"; … … 641 634 message = NSLocalizedString( @"You made this room private.", "private room status message" ); 642 635 } else { 643 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room private.", "someone else private room status message" ), ( mbr ? [mbr title] : member)];636 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room private.", "someone else private room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 644 637 } 645 638 } else { … … 647 640 message = NSLocalizedString( @"You made this room public.", "public room status message" ); 648 641 } else { 649 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room public.", "someone else public room status message" ), ( mbr ? [mbr title] : member)];642 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room public.", "someone else public room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 650 643 } 651 644 } 652 } else if (changedModes & MVChatRoomSecretMode) {645 } else if( changedModes & MVChatRoomSecretMode ) { 653 646 changedModes &= ~MVChatRoomSecretMode; 654 647 mode = @"chatRoomSecretMode"; … … 657 650 message = NSLocalizedString( @"You made this room secret.", "secret room status message" ); 658 651 } else { 659 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room secret.", "someone else secret room status message" ), ( mbr ? [mbr title] : member)];652 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room secret.", "someone else secret room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 660 653 } 661 654 } else { … … 663 656 message = NSLocalizedString( @"You made this room no longer a secret.", "no longer secret room status message" ); 664 657 } else { 665 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer a secret.", "someone else no longer secret room status message" ), ( mbr ? [mbr title] : member)];658 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer a secret.", "someone else no longer secret room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 666 659 } 667 660 } 668 } else if (changedModes & MVChatRoomInviteOnlyMode) {661 } else if( changedModes & MVChatRoomInviteOnlyMode ) { 669 662 changedModes &= ~MVChatRoomInviteOnlyMode; 670 663 mode = @"chatRoomInviteOnlyMode"; … … 673 666 message = NSLocalizedString( @"You made this room invite only.", "invite only room status message" ); 674 667 } else { 675 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room invite only.", "someone else invite only room status message" ), ( mbr ? [mbr title] : member)];668 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room invite only.", "someone else invite only room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 676 669 } 677 670 } else { … … 679 672 message = NSLocalizedString( @"You made this room no longer invite only.", "no longer invite only room status message" ); 680 673 } else { 681 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer invite only.", "someone else no longer invite only room status message" ), ( mbr ? [mbr title] : member)];674 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer invite only.", "someone else no longer invite only room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 682 675 } 683 676 } 684 } else if (changedModes & MVChatRoomModeratedMode) {685 changedModes &= ~MVChatRoom ModeratedMode;686 mode = @"chatRoom ModeratedMode";687 if( newModes & MVChatRoom ModeratedMode ) {688 if( [mbr isLocalUser] ) { 689 message = NSLocalizedString( @"You made this room moderated .", "moderatedroom status message" );690 } else { 691 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room moderated .", "someone else moderated room status message" ), ( mbr ? [mbr title] : member)];677 } else if( changedModes & MVChatRoomNormalUsersSilencedMode ) { 678 changedModes &= ~MVChatRoomNormalUsersSilencedMode; 679 mode = @"chatRoomNormalUsersSilencedMode"; 680 if( newModes & MVChatRoomNormalUsersSilencedMode ) { 681 if( [mbr isLocalUser] ) { 682 message = NSLocalizedString( @"You made this room moderated for normal users.", "moderated for normal users room status message" ); 683 } else { 684 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room moderated for normal users.", "someone else moderated for normal users room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 692 685 } 693 686 } else { 694 687 if( [mbr isLocalUser] ) { 695 message = NSLocalizedString( @"You made this room no longer moderated .", "no longer moderatedroom status message" );696 } else { 697 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer moderated .", "someone else no longer moderated room status message" ), ( mbr ? [mbr title] : member)];688 message = NSLocalizedString( @"You made this room no longer moderated for normal users.", "no longer moderated for normal users room status message" ); 689 } else { 690 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer moderated for normal users.", "someone else no longer moderated for normal users room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 698 691 } 699 692 } 700 } else if (changedModes & MVChatRoomSetTopicOperatorOnlyMode) { 701 changedModes &= ~MVChatRoomSetTopicOperatorOnlyMode; 702 mode = @"chatRoomSetTopicOperatorOnlyMode"; 703 if( newModes & MVChatRoomSetTopicOperatorOnlyMode ) { 693 } else if( changedModes & MVChatRoomOperatorsSilencedMode ) { 694 changedModes &= ~MVChatRoomOperatorsSilencedMode; 695 mode = @"chatRoomOperatorsSilencedMode"; 696 if( newModes & MVChatRoomOperatorsSilencedMode ) { 697 if( [mbr isLocalUser] ) { 698 message = NSLocalizedString( @"You made this room moderated for operators.", "moderated for operators room status message" ); 699 } else { 700 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room moderated for operators.", "someone else moderated for operators room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 701 } 702 } else { 703 if( [mbr isLocalUser] ) { 704 message = NSLocalizedString( @"You made this room no longer moderated for operators.", "no longer moderated for operators room status message" ); 705 } else { 706 message = [NSString stringWithFormat:NSLocalizedString( @"%@ made this room no longer moderated for operators.", "someone else no longer moderated for operators room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 707 } 708 } 709 } else if( changedModes & MVChatRoomOperatorsOnlySetTopicMode ) { 710 changedModes &= ~MVChatRoomOperatorsOnlySetTopicMode; 711 mode = @"MVChatRoomOperatorsOnlySetTopicMode"; 712 if( newModes & MVChatRoomOperatorsOnlySetTopicMode ) { 704 713 if( [mbr isLocalUser] ) { 705 714 message = NSLocalizedString( @"You changed this room to require operator status to change the topic.", "require op to set topic room status message" ); 706 715 } else { 707 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to require operator status to change the topic.", "someone else required op to set topic room status message" ), ( mbr ? [mbr title] : member)];716 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to require operator status to change the topic.", "someone else required op to set topic room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 708 717 } 709 718 } else { … … 711 720 message = NSLocalizedString( @"You changed this room to allow anyone to change the topic.", "don't require op to set topic room status message" ); 712 721 } else { 713 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to allow anyone to change the topic.", "someone else don't required op to set topic room status message" ), ( mbr ? [mbr title] : member)];722 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to allow anyone to change the topic.", "someone else don't required op to set topic room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 714 723 } 715 724 } 716 } else if (changedModes & MVChatRoomNoOutsideMessagesMode) {725 } else if( changedModes & MVChatRoomNoOutsideMessagesMode ) { 717 726 changedModes &= ~MVChatRoomNoOutsideMessagesMode; 718 727 mode = @"chatRoomNoOutsideMessagesMode"; … … 721 730 message = NSLocalizedString( @"You changed this room to prohibit outside messages.", "prohibit outside messages room status message" ); 722 731 } else { 723 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to prohibit outside messages.", "someone else prohibit outside messages room status message" ), ( mbr ? [mbr title] : member)];732 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to prohibit outside messages.", "someone else prohibit outside messages room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 724 733 } 725 734 } else { … … 727 736 message = NSLocalizedString( @"You changed this room to permit outside messages.", "permit outside messages room status message" ); 728 737 } else { 729 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to permit outside messages.", "someone else permit outside messages room status message" ), ( mbr ? [mbr title] : member)];738 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to permit outside messages.", "someone else permit outside messages room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 730 739 } 731 740 } 732 } else if (changedModes & MVChatRoomPasswordRequiredMode) { 733 changedModes &= ~MVChatRoomPasswordRequiredMode; 734 mode = @"chatRoomPasswordRequiredMode"; 735 if( newModes & MVChatRoomPasswordRequiredMode ) { 736 if( [mbr isLocalUser] ) { 737 message = [NSString stringWithFormat:NSLocalizedString( @"You changed this room to require a password of \"%@\".", "password required room status message" ), [self key]]; 738 } else { 739 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to require a password of \"%@\".", "someone else password required room status message" ), ( mbr ? [mbr title] : member ), [self key]]; 741 } else if( changedModes & MVChatRoomPassphraseToJoinMode ) { 742 changedModes &= ~MVChatRoomPassphraseToJoinMode; 743 mode = @"chatRoomPassphraseToJoinMode"; 744 if( newModes & MVChatRoomPassphraseToJoinMode ) { 745 parameter = [[self target] attributeForMode:MVChatRoomPassphraseToJoinMode]; 746 if( [mbr isLocalUser] ) { 747 message = [NSString stringWithFormat:NSLocalizedString( @"You changed this room to require a password of \"%@\".", "password required room status message" ), parameter]; 748 } else { 749 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to require a password of \"%@\".", "someone else password required room status message" ), ( mbr ? [mbr title] : [user nickname] ), parameter]; 740 750 } 741 751 } else { … … 743 753 message = NSLocalizedString( @"You changed this room to no longer require a password.", "no longer passworded room status message" ); 744 754 } else { 745 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to no longer require a password.", "someone else no longer passworded room status message" ), ( mbr ? [mbr title] : member)];755 message = [NSString stringWithFormat:NSLocalizedString( @"%@ changed this room to no longer require a password.", "someone else no longer passworded room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 746 756 } 747 757 } 748 } else if (changedModes & MVChatRoomMemberLimitMode) { 749 changedModes &= ~MVChatRoomMemberLimitMode; 750 mode = @"chatRoomMemberLimitMode"; 751 if( newModes & MVChatRoomMemberLimitMode ) { 752 if( [mbr isLocalUser] ) { 753 message = [NSString stringWithFormat:NSLocalizedString( @"You set a limit on the number of room members to %i.", "member limit room status message" ), [self limit]]; 754 } else { 755 message = [NSString stringWithFormat:NSLocalizedString( @"%@ set a limit on the number of room members to %i.", "someone else member limit room status message" ), ( mbr ? [mbr title] : member ), [self limit]]; 758 } else if( changedModes & MVChatRoomLimitNumberOfMembersMode ) { 759 changedModes &= ~MVChatRoomLimitNumberOfMembersMode; 760 mode = @"chatRoomLimitNumberOfMembersMode"; 761 if( newModes & MVChatRoomLimitNumberOfMembersMode ) { 762 parameter = [[self target] attributeForMode:MVChatRoomLimitNumberOfMembersMode]; 763 if( [mbr isLocalUser] ) { 764 message = [NSString stringWithFormat:NSLocalizedString( @"You set a limit on the number of room members to %@.", "member limit room status message" ), parameter]; 765 } else { 766 message = [NSString stringWithFormat:NSLocalizedString( @"%@ set a limit on the number of room members to %@.", "someone else member limit room status message" ), ( mbr ? [mbr title] : [user nickname] ), parameter]; 756 767 } 757 768 } else { … … 759 770 message = NSLocalizedString( @"You removed the room member limit.", "no member limit room status message" ); 760 771 } else { 761 message = [NSString stringWithFormat:NSLocalizedString( @"%@ removed the room member limit", "someone else no member limit room status message" ), ( mbr ? [mbr title] : member)];772 message = [NSString stringWithFormat:NSLocalizedString( @"%@ removed the room member limit", "someone else no member limit room status message" ), ( mbr ? [mbr title] : [user nickname] )]; 762 773 } 763 774 } 764 775 } 765 776 766 [self addEventMessageToDisplay:message withName:@"modeChange" andAttributes:[NSDictionary dictionaryWithObjectsAndKeys:( mbr ? [mbr title] : member ), @"by", member, @"nickname", mode, @"mode", ( [[[notification userInfo] objectForKey:@"enabled"] boolValue] ? @"yes" : @"no" ), @"enabled", [[notification userInfo] objectForKey:@"param"], @"parameter", nil]];767 } */777 if( message && mode ) [self addEventMessageToDisplay:message withName:@"modeChange" andAttributes:[NSDictionary dictionaryWithObjectsAndKeys:( mbr ? [mbr title] : [user nickname] ), @"by", [user nickname], @"nickname", ( [mbr hostmask] ? (id) [mbr hostmask] : (id) [NSNull null] ), @"mask", mode, @"mode", ( [[[notification userInfo] objectForKey:@"enabled"] boolValue] ? @"yes" : @"no" ), @"enabled", parameter, @"parameter", nil]]; 778 } 768 779 } 769 780 trunk/Languages/Dutch.lproj/Localizable.strings
r2163 r2176 75 75 "%@ made this room invite only." = "%@ maakt deze ruimte alleen op uitnodiging."; 76 76 77 /* someone else moderated room status message */78 "%@ made this room moderated." = "%@ maakt deze ruimte gemodereerd.";79 80 77 /* someone else no longer secret room status message */ 81 78 "%@ made this room no longer a secret." = "%@ maakt deze ruimte niet meer geheim."; … … 84 81 "%@ made this room no longer invite only." = "%@ maakt deze ruimte niet meer alleen op uitnodiging."; 85 82 86 /* someone else no longer moderated room status message */87 "%@ made this room no longer moderated." = "%@ maakt deze ruimte ongemodereerd.";88 89 83 /* someone else private room status message */ 90 84 "%@ made this room private." = "%@ maakt deze ruimte privaat."; … … 112 106 113 107 /* someone else member limit room status message */ 114 "%@ set a limit on the number of room members to % i." = "%@ zet het maximum aantal leden op %i.";108 "%@ set a limit on the number of room members to %@." = "%@ zet het maximum aantal leden op %@."; 115 109 116 110 /* emoticon installed title … … 984 978 "You made this room invite only." = "U maakt deze ruimte alleen op uitnodiging."; 985 979 986 /* moderated room status message */987 "You made this room moderated." = "U maakt deze ruimte gemodereerd.";988 989 980 /* no longer secret room status message */ 990 981 "You made this room no longer a secret." = "U maakt deze ruimte niet langer geheim."; … … 993 984 "You made this room no longer invite only." = "U maakt deze ruimte niet meer alleen op uitnodiging."; 994 985 995 /* no longer moderated room status message */996 "You made this room no longer moderated." = "U maakt deze ruimte niet meer gemodereerd.";997 998 986 /* private room status message */ 999 987 "You made this room private." = "U maakt deze ruimte privaat."; … … 1021 1009 1022 1010 /* member limit room status message */ 1023 "You set a limit on the number of room members to % i." = "U zet het maximum aantal leden op %i.";1011 "You set a limit on the number of room members to %@." = "U zet het maximum aantal leden op %@."; 1024 1012 1025 1013 /* we are no longer a chat room operator status message */ trunk/Languages/German.lproj/Localizable.strings
r2114 r2176 75 75 "%@ made this room invite only." = "%@ hat eingestellt, dass dieser Raum nur mit Einladung betreten werden kann."; 76 76 77 /* someone else moderated room status message */78 "%@ made this room moderated." = "%@ hat eingestellt, dass dieser Raum moderiert wird.";79 80 77 /* someone else no longer secret room status message */ 81 78 "%@ made this room no longer a secret." = "%@ hat eingestellt, dass dieser Raum nicht mehr geheim ist."; … … 84 81 "%@ made this room no longer invite only." = "%@ hat eingestellt, dass für diesen Raum keine Einladung mehr benötigt wird."; 85 82 86 /* someone else no longer moderated room status message */87 "%@ made this room no longer moderated." = "%@ hat eingestellt, dass dieser Raum nicht mehr moderiert wird.";88 89 83 /* someone else private room status message */ 90 84 "%@ made this room private." = "%@ hat eingestellt, dass dieser Raum privat ist."; … … 112 106 113 107 /* someone else member limit room status message */ 114 "%@ set a limit on the number of room members to % i." = "%@ hat die Teilnehmerzahl auf %ibegrenzt.";108 "%@ set a limit on the number of room members to %@." = "%@ hat die Teilnehmerzahl auf %@ begrenzt."; 115 109 116 110 /* emoticon installed title … … 984 978 "You made this room invite only." = "Sie haben diesen Raum einladungspflichtig gemacht."; 985 979 986 /* moderated room status message */987 "You made this room moderated." = "Sie haben diesen Raum moderiert gemacht.";988 989 980 /* no longer secret room status message */ 990 981 "You made this room no longer a secret." = "Sie haben diesen Raum nicht länger geheim gemacht."; … … 993 984 "You made this room no longer invite only." = "Sie haben diesen Raum nicht länger einladungspflichtig gemacht."; 994 985 995 /* no longer moderated room status message */996 "You made this room no longer moderated." = "Sie haben diesen Raum nicht länger moderiert gemacht.";997 998 986 /* private room status message */ 999 987 "You made this room private." = "Sie haben diesen Raum privat gemacht."; … … 1021 1009 1022 1010 /* member limit room status message */ 1023 "You set a limit on the number of room members to % i." = "Sie haben die Teilnehmerzahl in diesem Raum auf %ibegrenzt.";1011 "You set a limit on the number of room members to %@." = "Sie haben die Teilnehmerzahl in diesem Raum auf %@ begrenzt."; 1024 1012 1025 1013 /* we are no longer a chat room operator status message */
