Changeset 3637

Show
Ignore:
Timestamp:
04/15/07 18:37:36 (1 year ago)
Author:
timothy
Message:

Adds basic Jabber direct chat support using the Acid framework. Group chat is next. #454

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Chat Core.xcodeproj/project.pbxproj

    r3622 r3637  
    7575                32C46E1B0B3AB37E00B96B27 /* MVICBChatUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C46E190B3AB37E00B96B27 /* MVICBChatUser.m */; }; 
    7676                431261C3072EE37A00720AD1 /* MVSILCFileTransfer.m in Sources */ = {isa = PBXBuildFile; fileRef = 431261C1072EE37A00720AD1 /* MVSILCFileTransfer.m */; }; 
     77                DDF64CE60BD29E41009E8FF6 /* MVXMPPChatConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = DDF64CE40BD29E41009E8FF6 /* MVXMPPChatConnection.m */; }; 
     78                DDF64D530BD2A4F6009E8FF6 /* Acid.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF64D520BD2A4F6009E8FF6 /* Acid.framework */; }; 
     79                DDF64E1A0BD2CABE009E8FF6 /* MVXMPPChatUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DDF64E180BD2CABE009E8FF6 /* MVXMPPChatUser.m */; }; 
    7780/* End PBXBuildFile section */ 
    7881 
     
    161164                431261C0072EE37A00720AD1 /* MVSILCFileTransfer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MVSILCFileTransfer.h; path = "Chat Core/MVSILCFileTransfer.h"; sourceTree = "<group>"; }; 
    162165                431261C1072EE37A00720AD1 /* MVSILCFileTransfer.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = MVSILCFileTransfer.m; path = "Chat Core/MVSILCFileTransfer.m"; sourceTree = "<group>"; }; 
     166                DDF64CE30BD29E41009E8FF6 /* MVXMPPChatConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MVXMPPChatConnection.h; path = "Chat Core/MVXMPPChatConnection.h"; sourceTree = "<group>"; }; 
     167                DDF64CE40BD29E41009E8FF6 /* MVXMPPChatConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MVXMPPChatConnection.m; path = "Chat Core/MVXMPPChatConnection.m"; sourceTree = "<group>"; }; 
     168                DDF64D520BD2A4F6009E8FF6 /* Acid.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Acid.framework; path = Frameworks/Acid.framework; sourceTree = "<group>"; }; 
     169                DDF64E170BD2CABE009E8FF6 /* MVXMPPChatUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MVXMPPChatUser.h; path = "Chat Core/MVXMPPChatUser.h"; sourceTree = "<group>"; }; 
     170                DDF64E180BD2CABE009E8FF6 /* MVXMPPChatUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MVXMPPChatUser.m; path = "Chat Core/MVXMPPChatUser.m"; sourceTree = "<group>"; }; 
    163171                F52D043001873FC401EE70DE /* MVChatConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MVChatConnection.m; path = "Chat Core/MVChatConnection.m"; sourceTree = "<group>"; }; 
    164172                F52D043101873FC401EE70DE /* MVChatConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MVChatConnection.h; path = "Chat Core/MVChatConnection.h"; sourceTree = "<group>"; }; 
     
    179187                                1C8AAF2B09D6A0A100CF29EB /* AGRegex.framework in Frameworks */, 
    180188                                1C11689A0B45F98700F57D2C /* libtransmission.a in Frameworks */, 
     189                                DDF64D530BD2A4F6009E8FF6 /* Acid.framework in Frameworks */, 
    181190                        ); 
    182191                        runOnlyForDeploymentPostprocessing = 0; 
     
    215224                                1C5A233D06FA4FEE00A51F10 /* libsilc.framework */, 
    216225                                1C5A233E06FA4FEE00A51F10 /* libsilcclient.framework */, 
     226                                DDF64D520BD2A4F6009E8FF6 /* Acid.framework */, 
    217227                                1C8AAF2609D6A0A100CF29EB /* AGRegex.framework */, 
    218228                                1C1168990B45F98700F57D2C /* libtransmission.a */, 
     
    295305                        sourceTree = "<group>"; 
    296306                }; 
     307                DDF64CE20BD29DA4009E8FF6 /* XMPP Support */ = { 
     308                        isa = PBXGroup; 
     309                        children = ( 
     310                                DDF64CE40BD29E41009E8FF6 /* MVXMPPChatConnection.m */, 
     311                                DDF64CE30BD29E41009E8FF6 /* MVXMPPChatConnection.h */, 
     312                                DDF64E180BD2CABE009E8FF6 /* MVXMPPChatUser.m */, 
     313                                DDF64E170BD2CABE009E8FF6 /* MVXMPPChatUser.h */, 
     314                        ); 
     315                        name = "XMPP Support"; 
     316                        sourceTree = "<group>"; 
     317                }; 
    297318                F50B0A9F0170C89301A84BDE /* Sources & Headers */ = { 
    298319                        isa = PBXGroup; 
     
    301322                                1C5CBF2D06FF92C90006C5B1 /* IRC Support */, 
    302323                                1C5CBF3006FF93550006C5B1 /* SILC Support */, 
     324                                DDF64CE20BD29DA4009E8FF6 /* XMPP Support */, 
    303325                                1C63E9EC086E59D700A40DD4 /* ChatCore.h */, 
    304326                                F52D043001873FC401EE70DE /* MVChatConnection.m */, 
     
    443465                089C1669FE841209C02AAC07 /* Project object */ = { 
    444466                        isa = PBXProject; 
     467                        attributes = { 
     468                                BuildIndependentTargetsInParallel = YES; 
     469                        }; 
    445470                        buildConfigurationList = 1C041DDE08553AD200A5A5BA /* Build configuration list for PBXProject "Chat Core" */; 
    446471                        compatibilityVersion = "Xcode 2.4"; 
     
    543568                                3272C2CA0B3DA84900DF650E /* MVICBChatRoom.m in Sources */, 
    544569                                322F54D20B53F6730023AE39 /* ICBPacket.m in Sources */, 
     570                                DDF64CE60BD29E41009E8FF6 /* MVXMPPChatConnection.m in Sources */, 
     571                                DDF64E1A0BD2CABE009E8FF6 /* MVXMPPChatUser.m in Sources */, 
    545572                        ); 
    546573                        runOnlyForDeploymentPostprocessing = 0; 
     
    555582                                DYLIB_CURRENT_VERSION = 2; 
    556583                                EXPORTED_SYMBOLS_FILE = "Chat Core.exp"; 
    557                                 FRAMEWORK_SEARCH_PATHS = ( 
    558                                         "$(FRAMEWORK_SEARCH_PATHS)", 
    559                                         "$(SRCROOT)/Frameworks", 
    560                                 ); 
    561584                                FRAMEWORK_VERSION = A; 
    562585                                GCC_PREFIX_HEADER = Basic.pch; 
     
    579602                                DYLIB_CURRENT_VERSION = 2; 
    580603                                EXPORTED_SYMBOLS_FILE = "Chat Core.exp"; 
    581                                 FRAMEWORK_SEARCH_PATHS = ( 
    582                                         "$(FRAMEWORK_SEARCH_PATHS)", 
    583                                         "$(SRCROOT)/Frameworks", 
    584                                 ); 
    585604                                FRAMEWORK_VERSION = A; 
    586605                                GCC_OPTIMIZATION_LEVEL = 0; 
     
    620639                                DYLIB_CURRENT_VERSION = 2; 
    621640                                EXPORTED_SYMBOLS_FILE = "Chat Core.exp"; 
    622                                 FRAMEWORK_SEARCH_PATHS = ( 
    623                                         "$(FRAMEWORK_SEARCH_PATHS)", 
    624                                         "$(SRCROOT)/Frameworks", 
    625                                 ); 
    626641                                FRAMEWORK_VERSION = A; 
    627642                                GCC_PREFIX_HEADER = Basic.pch; 
  • trunk/Chat Core/MVChatConnection.h

    r3629 r3637  
    33        MVChatConnectionICBType = 'icbC', 
    44        MVChatConnectionIRCType = 'ircC', 
    5         MVChatConnectionSILCType = 'silC' 
     5        MVChatConnectionSILCType = 'silC', 
     6        MVChatConnectionXMPPType = 'xmpC' 
    67} MVChatConnectionType; 
    78 
     
    8889@interface MVChatConnection : NSObject { 
    8990@protected 
     91        NSMutableSet *_supportedFeatures; 
    9092        MVChatConnectionStatus _status; 
    9193        MVChatMessageFormat _outgoingChatFormat; 
  • trunk/Chat Core/MVChatConnection.m

    r3626 r3637  
    77#import "MVIRCChatConnection.h" 
    88#import "MVSILCChatConnection.h" 
     9#import "MVXMPPChatConnection.h" 
    910#import "MVFileTransfer.h" 
    1011#import "MVChatPluginManager.h" 
     
    5758+ (BOOL) supportsURLScheme:(NSString *) scheme { 
    5859        if( ! scheme ) return NO; 
    59         return ( [scheme isEqualToString:@"icb"] || [scheme isEqualToString:@"irc"] || [scheme isEqualToString:@"silc"] ); 
     60        return ( [scheme isEqualToString:@"icb"] || [scheme isEqualToString:@"irc"] || [scheme isEqualToString:@"silc"] || [scheme isEqualToString:@"xmpp"] ); 
    6061} 
    6162 
     
    6465        else if( type == MVChatConnectionIRCType ) return [MVIRCChatConnection defaultServerPorts]; 
    6566        else if( type == MVChatConnectionSILCType ) return [MVSILCChatConnection defaultServerPorts]; 
     67        else if( type == MVChatConnectionXMPPType ) return [MVXMPPChatConnection defaultServerPorts]; 
    6668        return nil; 
    6769} 
     
    8688                _persistentInformation = [[NSMutableDictionary allocWithZone:nil] initWithCapacity:5]; 
    8789                _joinedRooms = [[NSMutableDictionary allocWithZone:nil] initWithCapacity:10]; 
     90                _supportedFeatures = [[NSMutableSet allocWithZone:nil] initWithCapacity:10]; 
    8891                _localUser = nil; 
    8992 
     
    106109        } else if ( connectionType == MVChatConnectionSILCType ) { 
    107110                self = [[MVSILCChatConnection allocWithZone:nil] init]; 
     111        } else if ( connectionType == MVChatConnectionXMPPType ) { 
     112                self = [[MVXMPPChatConnection allocWithZone:nil] init]; 
    108113        } else self = nil; 
    109114 
     
    118123        else if( [[serverURL scheme] isEqualToString:@"irc"] ) connectionType = MVChatConnectionIRCType; 
    119124        else if( [[serverURL scheme] isEqualToString:@"silc"] ) connectionType = MVChatConnectionSILCType; 
     125        else if( [[serverURL scheme] isEqualToString:@"xmpp"] ) connectionType = MVChatConnectionXMPPType; 
    120126 
    121127        if( ( self = [self initWithServer:[serverURL host] type:connectionType port:( [[serverURL port] unsignedIntValue] % 65536 ) user:[serverURL user]] ) ) { 
     
    163169        [_proxyUsername release]; 
    164170        [_proxyPassword release]; 
     171        [_supportedFeatures release]; 
    165172 
    166173        _npassword = nil; 
     
    176183        _proxyUsername = nil; 
    177184        _proxyPassword = nil; 
    178          
     185        _supportedFeatures = nil; 
     186 
    179187        [super dealloc]; 
    180188} 
     
    196204 
    197205- (NSSet *) supportedFeatures { 
    198 // subclass this method, if needed 
    199         return nil; 
     206        @synchronized( _supportedFeatures ) { 
     207                return [NSSet setWithSet:_supportedFeatures]; 
     208        } return nil; 
    200209} 
    201210 
    202211- (BOOL) supportsFeature:(NSString *) key { 
    203212        NSParameterAssert( key != nil ); 
    204         return [[self supportedFeatures] containsObject:key]; 
     213        @synchronized( _supportedFeatures ) { 
     214                return [_supportedFeatures containsObject:key]; 
     215        } return NO; 
    205216} 
    206217 
  • trunk/Chat Core/MVIRCChatConnection.h

    r3589 r3637  
    1818        NSMutableSet *_pendingWhoisUsers; 
    1919        NSMutableSet *_directClientConnections; 
    20         NSMutableSet *_supportedFeatures; 
    2120        NSMutableDictionary *_serverInformation; 
    2221        NSString *_server; 
  • trunk/Chat Core/MVIRCChatConnection.m

    r3631 r3637  
    113113                _realName = [NSFullUserName() retain]; 
    114114                _threadWaitLock = [[NSConditionLock allocWithZone:nil] initWithCondition:0]; 
    115                 _supportedFeatures = [[NSMutableSet allocWithZone:nil] initWithCapacity:10]; 
    116115                [self _resetSupportedFeatures]; 
    117116        } 
     
    149148        [_roomPrefixes release]; 
    150149        [_serverInformation release]; 
    151         [_supportedFeatures release]; 
    152150 
    153151        if( [_connectionThread respondsToSelector:@selector( cancel )] ) 
     
    172170        _roomPrefixes = nil; 
    173171        _serverInformation = nil; 
    174         _supportedFeatures = nil; 
    175172 
    176173        [super dealloc]; 
     
    185182- (MVChatConnectionType) type { 
    186183        return MVChatConnectionIRCType; 
    187 } 
    188  
    189 - (NSSet *) supportedFeatures { 
    190         @synchronized( _supportedFeatures ) { 
    191                 return [NSSet setWithSet:_supportedFeatures]; 
    192         } return nil; 
    193 } 
    194  
    195 - (BOOL) supportsFeature:(NSString *) key { 
    196         NSParameterAssert( key != nil ); 
    197         @synchronized( _supportedFeatures ) { 
    198                 return [_supportedFeatures containsObject:key]; 
    199         } return NO; 
    200184} 
    201185 
  • trunk/Chat Core/MVIRCChatUser.m

    r3589 r3637  
    22#import "MVIRCChatConnection.h" 
    33#import "NSStringAdditions.h" 
     4#import "MVUtilities.h" 
    45 
    56@implementation MVIRCChatUser 
     
    78        if( ( self = [self initWithNickname:nil andConnection:userConnection] ) ) { 
    89                _type = MVChatLocalUserType; 
    9                 _uniqueIdentifier = [[[self nickname] lowercaseString] retain]
     10                MVSafeCopyAssign( &_uniqueIdentifier, [[self nickname] lowercaseString] )
    1011        } 
    1112 
     
    1516- (id) initWithNickname:(NSString *) userNickname andConnection:(MVIRCChatConnection *) userConnection { 
    1617        if( ( self = [self init] ) ) { 
     18                _type = MVChatRemoteUserType; 
    1719                _connection = userConnection; // prevent circular retain 
    18                 _nickname = [userNickname copyWithZone:nil]; 
    19                 _uniqueIdentifier = [[userNickname lowercaseString] retain]; 
    20                 _type = MVChatRemoteUserType; 
     20                MVSafeCopyAssign( &_nickname, userNickname ); 
     21                MVSafeCopyAssign( &_uniqueIdentifier, [userNickname lowercaseString] ); 
    2122                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( ctcpReplyNotification: ) name:MVChatConnectionSubcodeReplyNotification object:self]; 
    2223        } 
  • trunk/Colloquy.xcodeproj/project.pbxproj

    r3622 r3637  
    9898                1C77831208FA4EA2006AD8E5 /* topicToggleDown.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C77831008FA4EA2006AD8E5 /* topicToggleDown.png */; }; 
    9999                1C77831308FA4EA2006AD8E5 /* topicToggleUp.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C77831108FA4EA2006AD8E5 /* topicToggleUp.png */; }; 
    100                 1C7C773B07DBAAB800FB5F83 /* Google.scpt in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 1CD4C098078249C10003620F /* Google.scpt */; }; 
    101                 1C7C773C07DBAABC00FB5F83 /* iTunes.scpt in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 1C8CE1EB05A921A00020D841 /* iTunes.scpt */; }; 
    102100                1C7EF54006B341890037F173 /* roomTab.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C7EF53D06B341890037F173 /* roomTab.png */; }; 
    103101                1C7EF54106B341890037F173 /* roomTabNewHighlightMessage.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C7EF53E06B341890037F173 /* roomTabNewHighlightMessage.png */; }; 
     
    304302                CBF6856308201B7A00F498FB /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = CBF685330820190D00F498FB /* main.c */; }; 
    305303                CBF6857708201C4C00F498FB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 089C1672FE841209C02AAC07 /* Foundation.framework */; }; 
     304                DD2143690BD2EDB4005F13DF /* iTunes.scpt in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 1C8CE1EB05A921A00020D841 /* iTunes.scpt */; }; 
     305                DD21436C0BD2EDC0005F13DF /* Google.scpt in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 1CD4C098078249C10003620F /* Google.scpt */; }; 
     306                DDF64DA60BD2B0C3009E8FF6 /* Acid.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF64DA50BD2B0C3009E8FF6 /* Acid.framework */; }; 
     307                DDF64DA80BD2B0D7009E8FF6 /* Acid.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = DDF64DA50BD2B0C3009E8FF6 /* Acid.framework */; }; 
    306308/* End PBXBuildFile section */ 
    307309 
     
    428430                                1CF80310070C894100C9B54C /* libsilc.framework in Copy Frameworks */, 
    429431                                1CF80311070C894100C9B54C /* libsilcclient.framework in Copy Frameworks */, 
     432                                DDF64DA80BD2B0D7009E8FF6 /* Acid.framework in Copy Frameworks */, 
    430433                                1C6C75490630AD9500698F55 /* AGRegex.framework in Copy Frameworks */, 
    431434                                1CF5F8DD07D537F70019DC13 /* Growl.framework in Copy Frameworks */, 
     
    446449                                0A6571BD0868800D001FF007 /* F-Script Support.plugin in Copy Plugins */, 
    447450                                1C0A19B008B041C200324E25 /* Python Support.plugin in Copy Plugins */, 
    448                                 1C7C773C07DBAABC00FB5F83 /* iTunes.scpt in Copy Plugins */, 
    449                                 1C7C773B07DBAAB800FB5F83 /* Google.scpt in Copy Plugins */, 
     451                                DD2143690BD2EDB4005F13DF /* iTunes.scpt in Copy Plugins */, 
     452                                DD21436C0BD2EDC0005F13DF /* Google.scpt in Copy Plugins */, 
    450453                        ); 
    451454                        name = "Copy Plugins"; 
     
    953956                CBF685340820190D00F498FB /* schema.xml */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; name = schema.xml; path = Importer/schema.xml; sourceTree = "<group>"; }; 
    954957                CBF687A508202F3F00F498FB /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; 
     958                DDF64DA50BD2B0C3009E8FF6 /* Acid.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Acid.framework; path = Frameworks/Acid.framework; sourceTree = "<group>"; }; 
    955959                F50B0AA20170CAD701A84BDE /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; 
    956960                F51A4F2B01C2DDD201EE70DE /* MVFileTransferController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MVFileTransferController.m; path = Controllers/MVFileTransferController.m; sourceTree = "<group>"; }; 
     
    10681072                                1CC1AE630A2987E20000A797 /* sqlite3.a in Frameworks */, 
    10691073                                1C2EDD790A3551B70051E9C2 /* Sparkle.framework in Frameworks */, 
     1074                                DDF64DA60BD2B0C3009E8FF6 /* Acid.framework in Frameworks */, 
    10701075                        ); 
    10711076                        runOnlyForDeploymentPostprocessing = 0; 
     
    11331138                                1C3C112E050265AE000001C8 /* WebKit.framework */, 
    11341139                                F5FB4CE60393C15601000102 /* AddressBook.framework */, 
     1140                                DDF64DA50BD2B0C3009E8FF6 /* Acid.framework */, 
    11351141                                1C6C75450630AD5300698F55 /* AGRegex.framework */, 
    11361142                                1C3B290706529E720066197C /* ChatCore.framework */, 
     
    19311937                089C1669FE841209C02AAC07 /* Project object */ = { 
    19321938                        isa = PBXProject; 
     1939                        attributes = { 
     1940                                BuildIndependentTargetsInParallel = YES; 
     1941                        }; 
    19331942                        buildConfigurationList = 1C041A700854E97700A5A5BA /* Build configuration list for PBXProject "Colloquy" */; 
    19341943                        compatibilityVersion = "Xcode 2.4"; 
  • trunk/Controllers/MVConnectionsController.m

    r3603 r3637  
    122122                type = MVChatConnectionSILCType; 
    123123                break; 
     124        case 3: 
     125                type = MVChatConnectionXMPPType; 
     126                break; 
    124127        default: 
    125128                NSAssert1( NO, @"Unsupported connection type %d", [[newType selectedItem] tag] ); 
     
    318321        } else if( type == MVChatConnectionSILCType ) { 
    319322                [sslConnection setEnabled:NO]; 
     323                [newProxy setEnabled:NO]; 
     324        } else if( type == MVChatConnectionXMPPType ) { 
     325                [sslConnection setEnabled:YES]; 
    320326                [newProxy setEnabled:NO]; 
    321327        } 
     
    16421648                    else if( [[info objectForKey:@"type"] isEqualToString:@"silc"] ) 
    16431649                        type = MVChatConnectionSILCType; 
    1644                         else 
    1645                                 type = MVChatConnectionIRCType; 
     1650                    else if( [[info objectForKey:@"type"] isEqualToString:@"xmpp"] ) 
     1651                        type = MVChatConnectionXMPPType; 
     1652                        else type = MVChatConnectionIRCType; 
    16461653                } 
    16471654 
  • trunk/Languages/English.lproj/MVConnections.nib/classes.nib

    r2867 r3637  
    1 
    2     IBClasses = ( 
    3         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },  
    4         { 
    5             ACTIONS = { 
    6                 addRoom = id;  
    7                 changeNewConnectionProtocol = id;  
    8                 connectNewConnection = id;  
    9                 hideConnectionManager = id;  
    10                 messageUser = id;  
    11                 newConnection = id;  
    12                 openNetworkPreferences = id;  
    13                 removeRoom = id;  
    14                 sendCertificatePassword = id;  
    15                 sendPassword = id;  
    16                 showConnectionManager = id;  
    17                 toggleNewConnectionDetails = id;  
    18                 userSelectionSelected = id;  
    19                 verifiedPublicKey = id;  
    20             };  
    21             CLASS = MVConnectionsController;  
    22             LANGUAGE = ObjC;  
    23             OUTLETS = { 
    24                 authAddress = NSTextField;  
    25                 authKeychain = NSButton;  
    26                 authNickname = NSTextField;  
    27                 authPassword = NSTextField;  
    28                 certificateAuth = NSPanel;  
    29                 certificateDescription = NSTextField;  
    30                 certificateKeychain = NSButton;  
    31                 certificatePassphrase = NSTextField;  
    32                 connections = NSTableView;  
    33                 detailsTabView = NSTabView;  
    34                 messageUser = NSPanel;  
    35                 newAddress = NSComboBox;  
    36                 newJoinRooms = NSTableView;  
    37                 newNickname = NSTextField;  
    38                 newPort = NSComboBox;  
    39                 newProxy = NSPopUpButton;  
    40                 newRealName = NSTextField;  
    41                 newRemember = NSButton;  
    42                 newRemoveRoom = NSButton;  
    43                 newServerPassword = NSTextField;  
    44                 newType = NSPopUpButton;  
    45                 newUsername = NSTextField;  
    46                 nicknameAuth = NSPanel;  
    47                 openConnection = NSPanel;  
    48                 publicKeyAlwaysAccept = NSButton;  
    49                 publicKeyBabbleprint = NSTextField;  
    50                 publicKeyDescription = NSTextField;  
    51                 publicKeyFingerprint = NSTextField;  
    52                 publicKeyName = NSTextField;  
    53                 publicKeyNameDescription = NSTextField;  
    54                 publicKeyVerification = NSPanel;  
    55                 showDetails = NSButton;  
    56                 sslConnection = NSButton;  
    57                 userSelectionDescription = NSTextField;  
    58                 userSelectionPanel = NSPanel;  
    59                 userSelectionTable = NSTableView;  
    60                 userToMessage = NSTextField;  
    61             };  
    62             SUPERCLASS = NSWindowController;  
    63         },  
    64         {CLASS = MVTableView; LANGUAGE = ObjC; SUPERCLASS = NSTableView; },  
    65         {CLASS = NSObject; LANGUAGE = ObjC; } 
    66     );  
    67     IBVersion = 1;  
    68 
     1<?xml version="1.0" encoding="UTF-8"?> 
     2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
     3<plist version="1.0"> 
     4<dict> 
     5        <key>IBClasses</key> 
     6        <array> 
     7                <dict> 
     8                        <key>ACTIONS</key> 
     9                        <dict> 
     10                                <key>addRoom</key> 
     11                                <string>id</string> 
     12                                <key>changeNewConnectionProtocol</key> 
     13                                <string>id</string> 
     14                                <key>connectNewConnection</key> 
     15                                <string>id</string> 
     16                                <key>hideConnectionManager</key> 
     17                                <string>id</string> 
     18                                <key>messageUser</key> 
     19                                <string>id</string> 
     20                                <key>newConnection</key> 
     21                                <string>id</string> 
     22                                <key>openNetworkPreferences</key> 
     23                                <string>id</string> 
     24                                <key>removeRoom</key> 
     25                                <string>id</string> 
     26                                <key>sendCertificatePassword</key> 
     27                                <string>id</string> 
     28                                <key>sendPassword</key> 
     29                                <string>id</string> 
     30                                <key>showConnectionManager</key> 
     31                                <string>id</string> 
     32                                <key>toggleNewConnectionDetails</key> 
     33                                <string>id</string> 
     34                                <key>userSelectionSelected</key> 
     35                                <string>id</string> 
     36                                <key>verifiedPublicKey</key> 
     37                                <string>id</string> 
     38                        </dict> 
     39                        <key>CLASS</key> 
     40                        <string>MVConnectionsController</string> 
     41                        <key>LANGUAGE</key> 
     42                        <string>ObjC</string> 
     43                        <key>OUTLETS</key> 
     44                        <dict> 
     45                                <key>authAddress</key> 
     46                                <string>NSTextField</string> 
     47                                <key>authKeychain</key> 
     48                                <string>NSButton</string> 
     49                                <key>authNickname</key> 
     50                                <string>NSTextField</string> 
     51                                <key>authPassword</key> 
     52                                <string>NSTextField</string> 
     53                                <key>certificateAuth</key> 
     54                                <string>NSPanel</string> 
     55                                <key>certificateDescription</key> 
     56                                <string>NSTextField</string> 
     57                                <key>certificateKeychain</key> 
     58                                <string>NSButton</string> 
     59                                <key>certificatePassphrase</key> 
     60                                <string>NSTextField</string> 
     61                                <key>connections</key> 
     62                                <string>NSTableView</string> 
     63                                <key>detailsTabView</key> 
     64                                <string>NSTabView</string> 
     65                                <key>messageUser</key> 
     66                                <string>NSPanel</string> 
     67                                <key>newAddress</key> 
     68                                <string>NSComboBox</string> 
     69                                <key>newJoinRooms</key> 
     70                                <string>NSTableView</string> 
     71                                <key>newNickname</key> 
     72                                <string>NSTextField</string> 
     73                                <key>newPort</key> 
     74                                <string>NSComboBox</string> 
     75                                <key>newProxy</key> 
     76                                <string>NSPopUpButton</string> 
     77                                <key>newRealName</key> 
     78                                <string>NSTextField</string> 
     79                                <key>newRemember</key> 
     80                                <string>NSButton</string> 
     81                                <key>newRemoveRoom</key> 
     82                                <string>NSButton</string> 
     83                                <key>newServerPassword</key> 
     84                                <string>NSTextField</string> 
     85                                <key>newType</key> 
     86                                <string>NSPopUpButton</string> 
     87                                <key>newUsername</key> 
     88                                <string>NSTextField</string> 
     89                                <key>nicknameAuth</key> 
     90                                <string>NSPanel</string> 
     91                                <key>openConnection</key> 
     92                                <string>NSPanel</string> 
     93                                <key>publicKeyAlwaysAccept</key> 
     94                                <string>NSButton</string> 
     95                                <key>publicKeyBabbleprint</key> 
     96                                <string>NSTextField</string> 
     97                                <key>publicKeyDescription</key> 
     98                                <string>NSTextField</string> 
     99                                <key>publicKeyFingerprint</key> 
     100                                <string>NSTextField</string> 
     101                                <key>publicKeyName</key> 
     102                                <string>NSTextField</string> 
     103                                <key>publicKeyNameDescription</key> 
     104                                <string>NSTextField</string> 
     105                                <key>publicKeyVerification</key> 
     106                                <string>NSPanel</string> 
     107                                <key>showDetails</key> 
     108                                <string>NSButton</string> 
     109                                <key>sslConnection</key> 
     110                                <string>NSButton</string> 
     111                                <key>userSelectionDescription</key> 
     112                                <string>NSTextField</string> 
     113                                <key>userSelectionPanel</key> 
     114                                <string>NSPanel</string> 
     115                                <key>userSelectionTable</key> 
     116                                <string>NSTableView</string> 
     117                                <key>userToMessage</key> 
     118                                <string>NSTextField</string> 
     119                        </dict> 
     120                        <key>SUPERCLASS</key> 
     121                        <string>NSWindowController</string> 
     122                </dict> 
     123                <dict> 
     124                        <key>CLASS</key> 
     125                        <string>MVTableView</string> 
     126                        <key>LANGUAGE</key> 
     127                        <string>ObjC</string> 
     128                        <key>SUPERCLASS</key> 
     129                        <string>NSTableView</string> 
     130                </dict> 
     131        </array> 
     132        <key>IBVersion</key> 
     133        <string>1</string> 
     134</dict> 
     135</plist> 
  • trunk/Languages/English.lproj/MVConnections.nib/info.nib

    r3582 r3637  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
     2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
    33<plist version="1.0"> 
    44<dict> 
    5         <key>IBDocumentLocation</key> 
    6         <string>39 73 381 300 0 0 1440 878 </string> 
    75        <key>IBFramework Version</key> 
    8         <string>454.0</string> 
    9         <key>IBGroupedObjects</key> 
    10         <dict> 
    11                 <key>0</key> 
    12                 <array> 
    13                         <string>686</string> 
    14                         <string>685</string> 
    15                 </array> 
    16                 <key>1</key> 
    17                 <array> 
    18                         <string>663</string> 
    19                         <string>670</string> 
    20                 </array> 
    21         </dict> 
    22         <key>IBLastGroupID</key> 
    23         <string>2</string> 
    24         <key>IBLockedObjects</key> 
    25         <array> 
    26                 <integer>5</integer> 
    27         </array> 
     6        <string>599</string> 
     7        <key>IBOldestOS</key> 
     8        <integer>5</integer> 
    289        <key>IBOpenObjects</key> 
    29         <array> 
    30                 <integer>267</integer> 
    31         </array> 
     10        <array/> 
    3211        <key>IBSystem Version</key> 
    33         <string>9A321</string> 
     12        <string>9A412</string> 
     13        <key>targetFramework</key> 
     14        <string>IBCocoaFramework</string> 
    3415</dict> 
    3516</plist> 
  • trunk/Panels/JVDirectChatPanel.m

    r3636 r3637  
    418418        } 
    419419 
    420         return [[self connection] server]; 
     420        return [[self user] serverAddress]; 
    421421} 
    422422