Changeset 2308

Show
Ignore:
Timestamp:
02/13/05 20:43:50 (4 years ago)
Author:
timothy
Message:

Major changes, refactoring and cleanup.
* Broke up a few monolith classes into more suitable MVC based ones.
* Greatly improved transcript access by removing the use of XPtah.
* Should fix the race condition finally were the WebView? would start blank.
* Renamed the panel classes to include a sufix "Panel".
* Reloading the style will respect the scrollback limit.
* Added some checks in the incremental transcript writting code to prevent possiable corruption.
* Added some new classes JVChatEvent and JVChatsession to match items in the transcripts.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Colloquy.pch

    r1823 r2308  
    33#import <WebKit/WebKit.h> 
    44#import <AGRegex/AGRegex.h> 
     5 
     6#define WebKitVersion146 0 
    57#endif 
  • trunk/Colloquy.xcode/project.pbxproj

    r2307 r2308  
    174174                        name = "Chat Core (Framework) (from Chat Core.xcode)"; 
    175175                        targetProxy = 0A60C2B70630DA2C00DC6280; 
    176                 }; 
    177                 0A7DC5FD07BF0BF900E7432E = { 
    178                         fileEncoding = 4; 
    179                         isa = PBXFileReference; 
    180                         lastKnownFileType = sourcecode.c.h; 
    181                         path = NSScannerAdditions.h; 
    182                         refType = 4; 
    183                         sourceTree = "<group>"; 
    184                 }; 
    185                 0A7DC5FF07BF0BF900E7432E = { 
    186                         fileRef = 0A7DC5FD07BF0BF900E7432E; 
    187                         isa = PBXBuildFile; 
    188                         settings = { 
    189                         }; 
    190176                }; 
    191177//0A0 
     
    911897                        isa = PBXFileReference; 
    912898                        lastKnownFileType = sourcecode.c.h; 
    913                         path = JVWebView.h; 
     899                        path = JVStyleView.h; 
    914900                        refType = 4; 
    915901                        sourceTree = "<group>"; 
     
    919905                        isa = PBXFileReference; 
    920906                        lastKnownFileType = sourcecode.c.objc; 
    921                         path = JVWebView.m; 
     907                        path = JVStyleView.m; 
    922908                        refType = 4; 
    923909                        sourceTree = "<group>"; 
     
    11281114                                GCC_PREFIX_HEADER = "Plug-Ins/Standard Commands/Standard Commands.pch"; 
    11291115                                GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; 
    1130                                 HEADER_SEARCH_PATHS = "\"Plug-Ins/Standard Commands\""; 
     1116                                HEADER_SEARCH_PATHS = ". \"Plug-Ins/Standard Commands\""; 
    11311117                                INFOPLIST_FILE = "Resources/Info-StandardCommands.plist"; 
    11321118                                MACOSX_DEPLOYMENT_TARGET = 10.3; 
     
    12581244                        sourceTree = "<group>"; 
    12591245                }; 
     1246                1C5EF35807B45C1F004E66D3 = { 
     1247                        fileEncoding = 4; 
     1248                        isa = PBXFileReference; 
     1249                        lastKnownFileType = sourcecode.c.h; 
     1250                        path = JVChatEvent.h; 
     1251                        refType = 4; 
     1252                        sourceTree = "<group>"; 
     1253                }; 
     1254                1C5EF35907B45C1F004E66D3 = { 
     1255                        fileEncoding = 4; 
     1256                        isa = PBXFileReference; 
     1257                        lastKnownFileType = sourcecode.c.objc; 
     1258                        path = JVChatEvent.m; 
     1259                        refType = 4; 
     1260                        sourceTree = "<group>"; 
     1261                }; 
     1262                1C5EF35B07B45C1F004E66D3 = { 
     1263                        fileRef = 1C5EF35907B45C1F004E66D3; 
     1264                        isa = PBXBuildFile; 
     1265                        settings = { 
     1266                        }; 
     1267                }; 
     1268                1C5EF36907B45FBF004E66D3 = { 
     1269                        fileEncoding = 4; 
     1270                        isa = PBXFileReference; 
     1271                        lastKnownFileType = sourcecode.c.h; 
     1272                        path = JVChatSession.h; 
     1273                        refType = 4; 
     1274                        sourceTree = "<group>"; 
     1275                }; 
     1276                1C5EF36A07B45FBF004E66D3 = { 
     1277                        fileEncoding = 4; 
     1278                        isa = PBXFileReference; 
     1279                        lastKnownFileType = sourcecode.c.objc; 
     1280                        path = JVChatSession.m; 
     1281                        refType = 4; 
     1282                        sourceTree = "<group>"; 
     1283                }; 
     1284                1C5EF36C07B45FBF004E66D3 = { 
     1285                        fileRef = 1C5EF36A07B45FBF004E66D3; 
     1286                        isa = PBXBuildFile; 
     1287                        settings = { 
     1288                        }; 
     1289                }; 
    12601290                1C6075E005138ED600A8FE6E = { 
    12611291                        isa = PBXFileReference; 
     
    12651295                        refType = 2; 
    12661296                        sourceTree = SOURCE_ROOT; 
     1297                }; 
     1298                1C6690D107BFA037008400F7 = { 
     1299                        fileEncoding = 4; 
     1300                        isa = PBXFileReference; 
     1301                        lastKnownFileType = sourcecode.c.h; 
     1302                        path = NSScannerAdditions.h; 
     1303                        refType = 4; 
     1304                        sourceTree = "<group>"; 
     1305                }; 
     1306                1C66913707BFA76D008400F7 = { 
     1307                        fileEncoding = 4; 
     1308                        isa = PBXFileReference; 
     1309                        lastKnownFileType = sourcecode.c.h; 
     1310                        path = JVEmoticonSet.h; 
     1311                        refType = 4; 
     1312                        sourceTree = "<group>"; 
     1313                }; 
     1314                1C66913807BFA76D008400F7 = { 
     1315                        fileEncoding = 4; 
     1316                        isa = PBXFileReference; 
     1317                        lastKnownFileType = sourcecode.c.objc; 
     1318                        path = JVEmoticonSet.m; 
     1319                        refType = 4; 
     1320                        sourceTree = "<group>"; 
     1321                }; 
     1322                1C66913A07BFA76D008400F7 = { 
     1323                        fileRef = 1C66913807BFA76D008400F7; 
     1324                        isa = PBXBuildFile; 
     1325                        settings = { 
     1326                        }; 
    12671327                }; 
    12681328                1C6A112806BC0C9E00A66340 = { 
     
    20692129                        buildActionMask = 2147483647; 
    20702130                        files = ( 
    2071                                 0A7DC5FF07BF0BF900E7432E, 
    20722131                        ); 
    20732132                        isa = PBXHeadersBuildPhase; 
     
    26992758                                1C0A4CF70799BEA70093B702, 
    27002759                                1C9014C107A2D798002942A7, 
     2760                                1CF79CBF07AC77E600696918, 
     2761                                1C5EF35B07B45C1F004E66D3, 
     2762                                1C5EF36C07B45FBF004E66D3, 
     2763                                1C66913A07BFA76D008400F7, 
    27012764                        ); 
    27022765                        isa = PBXSourcesBuildPhase; 
     
    33043367                        sourceTree = SOURCE_ROOT; 
    33053368                }; 
     3369                1CC00D2407B06C8800A301F2 = { 
     3370                        children = ( 
     3371                                1C2462A305F9205900505752, 
     3372                                1C2462A205F9205900505752, 
     3373                                1CB37178060CC81C00F6A81F, 
     3374                                1CB37177060CC81C00F6A81F, 
     3375                                F5F9AF5801711CD401A84BDE, 
     3376                                F5F9AF5901711CD401A84BDE, 
     3377                                1C9437090639F86700618CD9, 
     3378                                1C9437080639F86700618CD9, 
     3379                                F592CABF01824AE801EE70DE, 
     3380                                F592CAC001824AE801EE70DE, 
     3381                                F599994901890E4601EE70DE, 
     3382                                F599994A01890E4601EE70DE, 
     3383                                1CC6FD63054B70BC0075807C, 
     3384                                1CC6FD62054B70BC0075807C, 
     3385                                1CABFCB00657F10900801C15, 
     3386                                1CABFCAF0657F10900801C15, 
     3387                                F5E2538503882A8501000102, 
     3388                                F5E2538403882A8501000102, 
     3389                                1C06052406471FFB002438AF, 
     3390                                1C06052306471FFB002438AF, 
     3391                                1CBB23DA04F03CA7000001C8, 
     3392                                1CBB23D904F03CA7000001C8, 
     3393                                1C06077A064A5DE8002438AF, 
     3394                                1C060779064A5DE8002438AF, 
     3395                                1C0A4CF50799BEA70093B702, 
     3396                                1C0A4CF40799BEA70093B702, 
     3397                        ); 
     3398                        isa = PBXGroup; 
     3399                        name = Views; 
     3400                        path = ""; 
     3401                        refType = 4; 
     3402                        sourceTree = "<group>"; 
     3403                }; 
    33063404                1CC478470427BB2C00000102 = { 
    33073405                        children = ( 
     
    35763674                        isa = PBXFileReference; 
    35773675                        lastKnownFileType = sourcecode.c.h; 
    3578                         path = JVDirectChat.h; 
     3676                        path = JVDirectChatPanel.h; 
    35793677                        refType = 4; 
    35803678                        sourceTree = "<group>"; 
     
    35843682                        isa = PBXFileReference; 
    35853683                        lastKnownFileType = sourcecode.c.objc; 
    3586                         path = JVDirectChat.m; 
     3684                        path = JVDirectChatPanel.m; 
    35873685                        refType = 4; 
    35883686                        sourceTree = "<group>"; 
     
    40694167                        isa = PBXFileReference; 
    40704168                        lastKnownFileType = sourcecode.c.h; 
    4071                         path = JVChatTranscript.h; 
     4169                        path = JVChatTranscriptPanel.h; 
    40724170                        refType = 4; 
    40734171                        sourceTree = "<group>"; 
     
    40774175                        isa = PBXFileReference; 
    40784176                        lastKnownFileType = sourcecode.c.objc; 
    4079                         path = JVChatTranscript.m; 
     4177                        path = JVChatTranscriptPanel.m; 
    40804178                        refType = 4; 
    40814179                        sourceTree = "<group>"; 
     
    42314329                        isa = PBXFileReference; 
    42324330                        lastKnownFileType = sourcecode.c.h; 
    4233                         path = JVChatRoom.h; 
     4331                        path = JVChatRoomPanel.h; 
    42344332                        refType = 4; 
    42354333                        sourceTree = "<group>"; 
     
    42394337                        isa = PBXFileReference; 
    42404338                        lastKnownFileType = sourcecode.c.objc; 
    4241                         path = JVChatRoom.m; 
     4339                        path = JVChatRoomPanel.m; 
    42424340                        refType = 4; 
    42434341                        sourceTree = "<group>"; 
     
    42634361                        isa = PBXFileReference; 
    42644362                        lastKnownFileType = sourcecode.c.h; 
    4265                         path = JVChatConsole.h; 
     4363                        path = JVChatConsolePanel.h; 
    42664364                        refType = 4; 
    42674365                        sourceTree = "<group>"; 
     
    42714369                        isa = PBXFileReference; 
    42724370                        lastKnownFileType = sourcecode.c.objc; 
    4273                         path = JVChatConsole.m; 
     4371                        path = JVChatConsolePanel.m; 
    42744372                        refType = 4; 
    42754373                        sourceTree = "<group>"; 
     
    44664564                        sourceTree = "<group>"; 
    44674565                }; 
     4566                1CF79CBC07AC77E600696918 = { 
     4567                        fileEncoding = 4; 
     4568                        isa = PBXFileReference; 
     4569                        lastKnownFileType = sourcecode.c.h; 
     4570                        path = JVChatTranscript.h; 
     4571                        refType = 4; 
     4572                        sourceTree = "<group>"; 
     4573                }; 
     4574                1CF79CBD07AC77E600696918 = { 
     4575                        fileEncoding = 4; 
     4576                        isa = PBXFileReference; 
     4577                        lastKnownFileType = sourcecode.c.objc; 
     4578                        path = JVChatTranscript.m; 
     4579                        refType = 4; 
     4580                        sourceTree = "<group>"; 
     4581                }; 
     4582                1CF79CBF07AC77E600696918 = { 
     4583                        fileRef = 1CF79CBD07AC77E600696918; 
     4584                        isa = PBXBuildFile; 
     4585                        settings = { 
     4586                        }; 
     4587                }; 
    44684588                1CF8030C070C893500C9B54C = { 
    44694589                        isa = PBXFileReference; 
     
    45404660                                1CABFD0D0658629200801C15, 
    45414661                                1CABFD0C0658629200801C15, 
     4662                                1C66913807BFA76D008400F7, 
     4663                                1C66913707BFA76D008400F7, 
     4664                                1CF79CBD07AC77E600696918, 
     4665                                1CF79CBC07AC77E600696918, 
     4666                                1C5EF36A07B45FBF004E66D3, 
     4667                                1C5EF36907B45FBF004E66D3, 
    45424668                                1CD733CA05A0E2470080F952, 
    45434669                                1CD733C905A0E2470080F952, 
     4670                                1C5EF35907B45C1F004E66D3, 
     4671                                1C5EF35807B45C1F004E66D3, 
    45444672                                CB742C000630E08200CF2B0E, 
    45454673                                CB742BFF0630E08200CF2B0E, 
     
    46824810                        children = ( 
    46834811                                F5394BBA0378DD7601A35792, 
     4812                                1CFAFE9A053C1B3D00C702F9, 
     4813                                1CC00D2407B06C8800A301F2, 
    46844814                                1CFAFED8053C1BC500C702F9, 
    4685                                 1CFAFE9A053C1B3D00C702F9, 
    46864815                                1CABFD090658622600801C15, 
    46874816                                1CFAFED5053C1BA500C702F9, 
     
    47094838                                1C0730D206777678008D8AD9, 
    47104839                                1C0730D106777678008D8AD9, 
    4711                                 1CB37178060CC81C00F6A81F, 
    4712                                 1CB37177060CC81C00F6A81F, 
    4713                                 F5E2538503882A8501000102, 
    4714                                 F5E2538403882A8501000102, 
    4715                                 F5F9AF5801711CD401A84BDE, 
    4716                                 F5F9AF5901711CD401A84BDE, 
    4717                                 1C2462A305F9205900505752, 
    4718                                 1C2462A205F9205900505752, 
    4719                                 1C9437090639F86700618CD9, 
    4720                                 1C9437080639F86700618CD9, 
    4721                                 1C06052406471FFB002438AF, 
    4722                                 1C06052306471FFB002438AF, 
    4723                                 F592CABF01824AE801EE70DE, 
    4724                                 F592CAC001824AE801EE70DE, 
    4725                                 F599994901890E4601EE70DE, 
    4726                                 F599994A01890E4601EE70DE, 
    4727                                 1CBB23DA04F03CA7000001C8, 
    4728                                 1CBB23D904F03CA7000001C8, 
    4729                                 1C06077A064A5DE8002438AF, 
    4730                                 1C060779064A5DE8002438AF, 
    4731                                 1C0A4CF50799BEA70093B702, 
    4732                                 1C0A4CF40799BEA70093B702, 
    4733                                 1CC6FD63054B70BC0075807C, 
    4734                                 1CC6FD62054B70BC0075807C, 
    47354840                                1C6A112906BC0C9E00A66340, 
    47364841                                1C6A112806BC0C9E00A66340, 
     
    47414846                                1CABF8760656414100801C15, 
    47424847                                1CABF8750656414100801C15, 
    4743                                 1CABFCB00657F10900801C15, 
    4744                                 1CABFCAF0657F10900801C15, 
    47454848                                1C4671E406D7759100071DC6, 
    47464849                                1C4671E306D7759100071DC6, 
    47474850                        ); 
    47484851                        isa = PBXGroup; 
    4749                         name = "Other Sources"; 
     4852                        name = "Other Sources & Additions"; 
    47504853                        path = ""; 
    47514854                        refType = 4; 
     
    49995102                                1C18CD100528DBBA000001C8, 
    50005103                                F5E98623018B412B01EE70DE, 
    5001                                 0A7DC5FD07BF0BF900E7432E, 
    50025104                                F56CD5440191182601EE70DE, 
     5105                                1C6690D107BFA037008400F7, 
    50035106                                1CF4E51D0698E9FB00986498, 
    50045107                                1C3D55A305A4CB2B00F25F5E, 
  • trunk/JVAppearancePreferences.h

    r1823 r2308  
    2121        BOOL _alertDisplayed; 
    2222        JVStyle *_style; 
    23         NSSet *_emoticonBundles; 
    2423        NSMutableArray *_styleOptions; 
    2524        NSString *_userStyle; 
     
    3635 
    3736- (IBAction) changeDefaultChatStyle:(id) sender; 
    38  
    39 - (IBAction) noGraphicEmoticons:(id) sender; 
    4037- (IBAction) changeDefaultEmoticons:(id) sender; 
    4138 
  • trunk/JVAppearancePreferences.m

    r2281 r2308  
    44#import "JVAppearancePreferences.h" 
    55#import "JVStyle.h" 
    6 #import "JVChatTranscript.h" 
     6#import "JVEmoticonSet.h" 
    77#import "JVFontPreviewField.h" 
    88#import "JVColorWellCell.h" 
     
    2323- (void) setDrawsBackground:(BOOL) draws; 
    2424- (BOOL) drawsBackground; 
    25 @end 
    26  
    27 #pragma mark - 
    28  
    29 @interface JVChatTranscript (JVChatTranscriptPrivate) 
    30 + (void) _scanForEmoticons; 
    3125@end 
    3226 
     
    3832                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( colorWellDidChangeColor: ) name:JVColorWellCellColorDidChangeNotification object:nil]; 
    3933                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( updateChatStylesMenu ) name:JVStylesScannedNotification object:nil]; 
    40                 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( updateEmoticonsMenu ) name:JVChatEmoticonsScannedNotification object:nil]; 
     34                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( updateEmoticonsMenu ) name:JVEmoticonSetsScannedNotification object:nil]; 
    4135                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( reloadStyles: ) name:NSApplicationDidBecomeActiveNotification object:[NSApplication sharedApplication]]; 
    42  
    43                 [JVChatTranscript _scanForEmoticons]; 
    4436 
    4537                _style = nil; 
    4638                _styleOptions = nil; 
    4739                _userStyle = nil; 
    48                 _emoticonBundles = [JVChatEmoticonBundles retain]; 
    4940        } 
    5041        return self; 
     
    5445        [[NSNotificationCenter defaultCenter] removeObserver:self]; 
    5546 
    56         [_emoticonBundles release]; 
    5747        [_style release]; 
    58  
    59         _emoticonBundles = nil; 
    6048        _style = nil; 
    6149 
     
    9179 
    9280- (void) selectEmoticonsWithIdentifier:(NSString *) identifier { 
    93         [[NSUserDefaults standardUserDefaults] setObject:identifier forKey:[NSString stringWithFormat:@"JVChatDefaultEmoticons %@", [_style identifier]]]; 
     81        [_style setDefaultEmoticonSet:[JVEmoticonSet emoticonSetWithIdentifier:identifier]]; 
    9482        [self updateEmoticonsMenu]; 
    9583        [self updatePreview]; 
     
    206194        [preview displayIfNeeded]; 
    207195        [[preview window] enableFlushWindow]; 
    208 } 
    209  
    210 - (IBAction) noGraphicEmoticons:(id) sender { 
    211         [self selectEmoticonsWithIdentifier:@""]; 
    212196} 
    213197 
     
    288272 
    289273- (void) updateEmoticonsMenu { 
    290         NSEnumerator *enumerator = [[[_emoticonBundles allObjects] sortedArrayUsingSelector:@selector( compare: )] objectEnumerator]; 
     274        NSEnumerator *enumerator = [[[[JVEmoticonSet emoticonSets] allObjects] sortedArrayUsingSelector:@selector( compare: )] objectEnumerator]; 
    291275        NSMenu *menu = nil; 
    292276        NSMenuItem *menuItem = nil; 
    293         NSString *style = [_style identifier]; 
    294         NSString *defaultEmoticons = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"JVChatDefaultEmoticons %@", style]]; 
    295         NSBundle *emoticon = [NSBundle bundleWithIdentifier:defaultEmoticons]; 
    296  
    297         if( ! emoticon && [defaultEmoticons length] ) { 
    298                 [[NSUserDefaults standardUserDefaults] removeObjectForKey:[NSString stringWithFormat:@"JVChatDefaultEmoticons %@", style]]; 
    299                 defaultEmoticons = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"JVChatDefaultEmoticons %@", style]]; 
    300         } 
     277        JVEmoticonSet *defaultEmoticon = [_style defaultEmoticonSet]; 
     278        JVEmoticonSet *emoticon = nil; 
    301279 
    302280        menu = [[[NSMenu alloc] initWithTitle:@""] autorelease]; 
    303281 
    304         menuItem = [[[NSMenuItem alloc] initWithTitle:NSLocalizedString( @"Text Only", "text only emoticons menu item title" ) action:@selector( noGraphicEmoticons: ) keyEquivalent:@""] autorelease]; 
     282        emoticon = [JVEmoticonSet textOnlyEmoticonSet]; 
     283        menuItem = [[[NSMenuItem alloc] initWithTitle:[emoticon displayName] action:@selector( changeDefaultEmoticons: ) keyEquivalent:@""] autorelease]; 
    305284        [menuItem setTarget:self]; 
    306         if( ! [defaultEmoticons length] ) [menuItem setState:NSOnState]; 
     285        [menuItem setRepresentedObject:[emoticon identifier]]; 
     286        if( [defaultEmoticon isEqual:emoticon] ) [menuItem setState:NSOnState]; 
    307287        [menu addItem:menuItem]; 
    308288 
     
    313293                menuItem = [[[NSMenuItem alloc] initWithTitle:[emoticon displayName] action:@selector( changeDefaultEmoticons: ) keyEquivalent:@""] autorelease]; 
    314294                [menuItem setTarget:self]; 
    315                 [menuItem setRepresentedObject:[emoticon bundleIdentifier]]; 
    316                 if( [defaultEmoticons isEqualToString:[emoticon bundleIdentifier]] ) 
    317                         [menuItem setState:NSOnState]; 
     295                [menuItem setRepresentedObject:[emoticon identifier]]; 
     296                if( [defaultEmoticon isEqual:emoticon] ) [menuItem setState:NSOnState]; 
    318297                [menu addItem:menuItem]; 
    319298        } 
     
    323302 
    324303- (void) updatePreview { 
    325         NSBundle *emoticon = nil; 
    326         NSString *emoticonStyle = @""; 
    327         NSString *emoticonSetting = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"JVChatDefaultEmoticons %@", [_style identifier]]]; 
    328         if( [emoticonSetting length] ) { 
    329                 emoticon = [NSBundle bundleWithIdentifier:emoticonSetting]; 
    330                 emoticonStyle = ( emoticon ? [[NSURL fileURLWithPath:[emoticon pathForResource:@"emoticons" ofType:@"css"]] absoluteString] : @"" ); 
    331         } 
     304        JVEmoticonSet *emoticon = [_style defaultEmoticonSet]; 
    332305 
    333306        NSString *shell = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"template" ofType:@"html"]]; 
    334307        NSString *html = [_style transformXML:[NSString stringWithContentsOfFile:[_style previewTranscriptFilePath]] withParameters:nil]; 
    335         html = [NSString stringWithFormat:shell, @"Preview", emoticonStyle, [[_style mainStyleSheetLocation] absoluteString], [[_style variantStyleSheetLocationWithName:[_style defaultVariantName]] absoluteString], [[_style baseLocation] absoluteString], [_style contentsOfHeaderFile], html]; 
     308        html = [NSString stringWithFormat:shell, @"Preview", [[emoticon styleSheetLocation] absoluteString], [[_style mainStyleSheetLocation] absoluteString], [[_style variantStyleSheetLocationWithName:[_style defaultVariantName]] absoluteString], [[_style baseLocation] absoluteString], [_style contentsOfHeaderFile], html]; 
    336309 
    337310        [WebCoreCache empty]; 
  • trunk/JVBehaviorPreferences.m

    r1823 r2308  
    11#import "JVBehaviorPreferences.h" 
    22#import "JVChatController.h" 
    3 #import "JVChatRoom.h" 
     3#import "JVChatRoomPanel.h" 
    44 
    55@implementation JVBehaviorPreferences 
     
    2626        [[newConsoles menu] setAutoenablesItems:NO]; 
    2727 
    28         int value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVChatRoomPreferredOpenMode"] & ~32; 
     28        int value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVChatRoomPanelPreferredOpenMode"] & ~32; 
    2929        int index = [newRooms indexOfItemWithTag:value]; 
    3030        if( index >= 0 ) [newRooms selectItemAtIndex:index]; 
    3131        [self changePreferredWindow:newRooms]; 
    3232 
    33         value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVDirectChatPreferredOpenMode"] & ~32; 
     33        value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVDirectChatPanelPreferredOpenMode"] & ~32; 
    3434        index = [newChats indexOfItemWithTag:value]; 
    3535        if( index >= 0 ) [newChats selectItemAtIndex:index]; 
    3636        [self changePreferredWindow:newChats]; 
    3737 
    38         value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVChatTranscriptPreferredOpenMode"] & ~32; 
     38        value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVChatTranscriptPanelPreferredOpenMode"] & ~32; 
    3939        index = [newTranscripts indexOfItemWithTag:value]; 
    4040        if( index >= 0 ) [newTranscripts selectItemAtIndex:index]; 
    4141        [self changePreferredWindow:newTranscripts]; 
    4242 
    43         value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVChatConsolePreferredOpenMode"] & ~32; 
     43        value = [[NSUserDefaults standardUserDefaults] integerForKey:@"JVChatConsolePanelPreferredOpenMode"] & ~32; 
    4444        index = [newConsoles indexOfItemWithTag:value]; 
    4545        if( index >= 0 ) [newConsoles selectItemAtIndex:index]; 
     
    7878} 
    7979 
    80  
    8180#pragma mark - 
    8281 
     
    8483        [[NSUserDefaults standardUserDefaults] setBool:(BOOL)[sender state] forKey:@"JVSortRoomMembersByStatus"]; 
    8584         
    86         NSEnumerator *enumerator = [[[JVChatController defaultManager] chatViewControllersOfClass:[JVChatRoom class]] objectEnumerator]; 
    87         JVChatRoom *room = nil; 
     85        NSEnumerator *enumerator = [[[JVChatController defaultManager] chatViewControllersOfClass:[JVChatRoomPanel class]] objectEnumerator]; 
     86        JVChatRoomPanel *room = nil; 
    8887        while( ( room = [enumerator nextObject] ) ) 
    8988                [room resortMembers]; 
     
    9796- (IBAction) changePreferredWindow:(id) sender { 
    9897        NSString *key = nil; 
    99          
    100         if( sender == newRooms ) key = @"JVChatRoomPreferredOpenMode"; 
    101         else if( sender == newChats ) key = @"JVDirectChatPreferredOpenMode"; 
    102         else if( sender == newTranscripts ) key = @"JVChatTranscriptPreferredOpenMode"; 
    103         else if( sender == newConsoles ) key = @"JVChatConsolePreferredOpenMode"; 
     98 
     99        if( sender == newRooms ) key = @"JVChatRoomPanelPreferredOpenMode"; 
     100        else if( sender == newChats ) key = @"JVDirectChatPanelPreferredOpenMode"; 
     101        else if( sender == newTranscripts ) key = @"JVChatTranscriptPanelPreferredOpenMode"; 
     102        else if( sender == newConsoles ) key = @"JVChatConsolePanelPreferredOpenMode"; 
    104103        else return; 
    105          
     104 
    106105        int new = [[sender selectedItem] tag]; 
    107106        BOOL groupByServer = (BOOL) [[NSUserDefaults standardUserDefaults] integerForKey:key] & 32; 
    108          
     107 
    109108        if( [[sender selectedItem] tag] == 32 ) { 
    110109                NSMenuItem *item = [sender selectedItem]; 
     
    123122                [item setEnabled:YES]; 
    124123        } 
    125          
     124 
    126125        if( groupByServer ) new |= 32; 
    127          
     126 
    128127        [[NSUserDefaults standardUserDefaults] setInteger:new forKey:key]; 
    129128} 
  • trunk/JVChatConsolePanel.h

    r1823 r2308  
    44@class MVChatConnection; 
    55 
    6 @interface JVChatConsole : NSObject <JVChatViewController> { 
     6@interface JVChatConsolePanel : NSObject <JVChatViewController> { 
    77        @protected 
    88        IBOutlet NSView *contents; 
     
    3131@end 
    3232 
    33 @interface JVChatConsole (JVChatConsoleScripting) <JVChatListItemScripting> 
     33@interface JVChatConsolePanel (JVChatConsolePanelScripting) <JVChatListItemScripting> 
    3434- (NSNumber *) uniqueIdentifier; 
    3535@end 
  • trunk/JVChatConsolePanel.m

    r2286 r2308  
    33#import <ChatCore/NSMethodSignatureAdditions.h> 
    44 
    5 #import "JVChatConsole.h" 
     5#import "JVChatConsolePanel.h" 
    66#import "JVChatController.h" 
    77#import "MVTextView.h" 
     
    1212static NSString *JVToolbarClearItemIdentifier = @"JVToolbarClearItem"; 
    1313 
    14 @implementation JVChatConsole 
     14@implementation JVChatConsolePanel 
    1515- (id) initWithConnection:(MVChatConnection *) connection { 
    1616        if( ( self = [self init] ) ) { 
     
    2424                _connection = [connection retain]; 
    2525                _verbose = [[NSUserDefaults standardUserDefaults] boolForKey:@"JVChatVerboseConsoleMessages"]; 
    26                 _ignorePRIVMSG = [[NSUserDefaults standardUserDefaults] boolForKey:@"JVChatConsoleIgnoreUserChatMessages"]; 
     26                _ignorePRIVMSG = [[NSUserDefaults standardUserDefaults] boolForKey:@"JVChatConsolePanelIgnoreUserChatMessages"]; 
    2727 
    2828                [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( _gotRawMessage: ) name:MVChatConnectionGotRawMessageNotification object:connection]; 
     
    103103 
    104104- (NSView *) view { 
    105         if( ! _nibLoaded ) _nibLoaded = [NSBundle loadNibNamed:@"JVChatConsole" owner:self]; 
     105        if( ! _nibLoaded ) _nibLoaded = [NSBundle loadNibNamed:@"JVChatConsolePanel" owner:self]; 
    106106        return contents; 
    107107} 
     
    572572#pragma mark - 
    573573 
    574 @implementation JVChatConsole (JVChatConsolePrivate) 
     574@implementation JVChatConsolePanel (JVChatConsolePanelPrivate) 
    575575- (void) _gotRawMessage:(NSNotification *) notification { 
    576576        if( _paused ) return; 
     
    585585#pragma mark - 
    586586 
    587 @implementation JVChatConsole (JVChatConsoleScripting) 
     587@implementation JVChatConsolePanel (JVChatConsolePanelScripting) 
    588588- (NSNumber *) uniqueIdentifier { 
    589589        return [NSNumber numberWithUnsignedInt:(unsigned long) self]; 
  • trunk/JVChatController.h

    r2163 r2308  
    55@class MVChatUser; 
    66@class JVChatWindowController; 
    7 @class JVChatRoom
    8 @class JVDirectChat
    9 @class JVChatTranscript
    10 @class JVChatConsole
     7@class JVChatRoomPanel
     8@class JVDirectChatPanel
     9@class JVChatTranscriptPanel
     10@class JVChatConsolePanel
    1111