Changeset 1073
- Timestamp:
- 03/27/04 02:32:03 (5 years ago)
- Files:
-
- WiredClient/trunk/English.lproj/Columns.strings (added)
- WiredClient/trunk/English.lproj/MainMenu.nib/classes.nib (modified) (3 diffs)
- WiredClient/trunk/English.lproj/MainMenu.nib/info.nib (modified) (2 diffs)
- WiredClient/trunk/English.lproj/MainMenu.nib/keyedobjects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/MainMenu.nib/objects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/PrivateChat.nib/classes.nib (modified) (1 diff)
- WiredClient/trunk/English.lproj/PrivateChat.nib/info.nib (modified) (2 diffs)
- WiredClient/trunk/English.lproj/PrivateChat.nib/keyedobjects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/PrivateChat.nib/objects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/PublicChat.nib/classes.nib (modified) (2 diffs)
- WiredClient/trunk/English.lproj/PublicChat.nib/info.nib (modified) (1 diff)
- WiredClient/trunk/English.lproj/PublicChat.nib/keyedobjects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/PublicChat.nib/objects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/Trackers.nib/classes.nib (modified) (1 diff)
- WiredClient/trunk/English.lproj/Trackers.nib/info.nib (modified) (1 diff)
- WiredClient/trunk/English.lproj/Trackers.nib/keyedobjects.nib (modified) (previous)
- WiredClient/trunk/English.lproj/Trackers.nib/objects.nib (modified) (previous)
- WiredClient/trunk/NSTableViewAdditions.m (added)
- WiredClient/trunk/WCChat.h (modified) (2 diffs)
- WiredClient/trunk/WCChat.m (modified) (2 diffs)
- WiredClient/trunk/WCFiles.m (modified) (3 diffs)
- WiredClient/trunk/WCMain.h (modified) (5 diffs)
- WiredClient/trunk/WCMain.m (modified) (11 diffs)
- WiredClient/trunk/WCPreferences.m (modified) (3 diffs)
- WiredClient/trunk/WCPrivateChat.h (modified) (2 diffs)
- WiredClient/trunk/WCPrivateChat.m (modified) (3 diffs)
- WiredClient/trunk/WCPublicChat.h (modified) (3 diffs)
- WiredClient/trunk/WCPublicChat.m (modified) (3 diffs)
- WiredClient/trunk/WCTableView.h (modified) (2 diffs)
- WiredClient/trunk/WCTableView.m (modified) (2 diffs)
- WiredClient/trunk/WCTrackers.h (modified) (4 diffs)
- WiredClient/trunk/WCTrackers.m (modified) (9 diffs)
- WiredClient/trunk/WiredClient.xcode/project.pbxproj (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
WiredClient/trunk/English.lproj/MainMenu.nib/classes.nib
r944 r1073 48 48 transfers = id; 49 49 useSelectionForFind = id; 50 viewOptions = id; 50 51 }; 51 52 CLASS = WCMain; … … 61 62 "_connectionMenu" = NSMenu; 62 63 "_consoleMenuItem" = NSMenuItem; 64 "_customizeToolbarMenuItem" = NSMenuItem; 63 65 "_deleteMenuItem" = NSMenuItem; 64 66 "_disconnectMenuItem" = NSMenuItem; … … 78 80 "_searchMenuItem" = NSMenuItem; 79 81 "_serverInfoMenuItem" = NSMenuItem; 82 "_showToolbarMenuItem" = NSMenuItem; 80 83 "_transfersMenuItem" = NSMenuItem; 84 "_viewMenu" = NSMenu; 85 "_viewOptionsMenuItem" = NSMenuItem; 81 86 }; 82 87 SUPERCLASS = NSWindowController; WiredClient/trunk/English.lproj/MainMenu.nib/info.nib
r969 r1073 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 57 158412 357 0 0 1280 1002 </string>6 <string>781 189 412 357 0 0 1280 1002 </string> 7 7 <key>IBEditorPositions</key> 8 8 <dict> 9 9 <key>29</key> 10 <string> 375 492477 44 0 0 1280 1002 </string>10 <string>515 415 477 44 0 0 1280 1002 </string> 11 11 </dict> 12 12 <key>IBFramework Version</key> … … 16 16 <integer>217</integer> 17 17 </array> 18 <key>IBOpenObjects</key> 19 <array> 20 <integer>29</integer> 21 </array> 18 22 <key>IBSystem Version</key> 19 <string>7 D24</string>23 <string>7F44</string> 20 24 </dict> 21 25 </plist> WiredClient/trunk/English.lproj/PrivateChat.nib/classes.nib
r1040 r1073 12 12 "_chatOutputTextView" = WCURLTextView; 13 13 "_chatSplitView" = WCSplitView; 14 "_getInfoMenuItem" = NSMenuItem; 15 "_ignoreMenuItem" = NSMenuItem; 14 16 "_infoButton" = NSButton; 15 17 "_nickTableColumn" = NSTableColumn; 16 18 "_privateMessageButton" = NSButton; 19 "_sendPrivateMessageMenuItem" = NSMenuItem; 17 20 "_userCountTextField" = NSTextField; 21 "_userListMenu" = NSMenu; 18 22 "_userListSplitView" = WCSplitView; 19 23 "_userListTableView" = WCTypeAheadTableView; WiredClient/trunk/English.lproj/PrivateChat.nib/info.nib
r1040 r1073 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 683 219403 412 0 0 1280 1002 </string>6 <string>464 115 403 412 0 0 1280 1002 </string> 7 7 <key>IBEditorPositions</key> 8 8 <dict> 9 9 <key>196</key> 10 <string> 749 380184 99 0 0 1280 1002 </string>10 <string>861 317 184 99 0 0 1280 1002 </string> 11 11 </dict> 12 12 <key>IBFramework Version</key> … … 16 16 <integer>48</integer> 17 17 </array> 18 <key>IBOpenObjects</key> 19 <array> 20 <integer>196</integer> 21 </array> 18 22 <key>IBSystem Version</key> 19 23 <string>7F44</string> WiredClient/trunk/English.lproj/PublicChat.nib/classes.nib
r1046 r1073 12 12 "_chatOutputTextView" = WCURLTextView; 13 13 "_chatSplitView" = WCSplitView; 14 "_getInfoMenuItem" = NSMenuItem; 15 "_ignoreMenuItem" = NSMenuItem; 14 16 "_infoButton" = NSButton; 15 17 "_nickTableColumn" = NSTableColumn; 16 18 "_privateMessageButton" = NSButton; 19 "_sendPrivateMessageMenuItem" = NSMenuItem; 17 20 "_userCountTextField" = NSTextField; 21 "_userListMenu" = NSMenu; 18 22 "_userListSplitView" = WCSplitView; 19 23 "_userListTableView" = WCTypeAheadTableView; … … 28 32 OUTLETS = { 29 33 "_banButton" = NSButton; 34 "_banMenuItem" = NSMenuItem; 30 35 "_banMessagePanel" = NSPanel; 31 36 "_banMessageTextField" = NSTextField; 32 37 "_kickButton" = NSButton; 38 "_kickMenuItem" = NSMenuItem; 33 39 "_kickMessagePanel" = NSPanel; 34 40 "_kickMessageTextField" = NSTextField; 35 41 "_privateChatButton" = NSButton; 42 "_startPrivateChatMenuItem" = NSMenuItem; 36 43 }; 37 44 SUPERCLASS = WCChat; WiredClient/trunk/English.lproj/PublicChat.nib/info.nib
r1046 r1073 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 621 183401 359 0 0 1280 1002 </string>6 <string>342 74 401 359 0 0 1280 1002 </string> 7 7 <key>IBEditorPositions</key> 8 8 <dict> 9 9 <key>105</key> 10 <string> 737 43184 168 0 0 1280 1002 </string>10 <string>831 131 184 168 0 0 1280 1002 </string> 11 11 </dict> 12 12 <key>IBFramework Version</key> WiredClient/trunk/English.lproj/Trackers.nib/classes.nib
r1049 r1073 3 3 {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 4 4 { 5 ACTIONS = { search = id; };5 ACTIONS = {cancel = id; ok = id; search = id; }; 6 6 CLASS = WCTrackers; 7 7 LANGUAGE = ObjC; 8 8 OUTLETS = { 9 "_descriptionTableColumn" = NSTableColumn;10 "_downloadTableColumn" = NSTableColumn;11 "_filesTableColumn" = NSTableColumn;12 "_guestTableColumn" = NSTableColumn;13 "_nameTableColumn" = NSTableColumn;14 9 "_progressIndicator" = NSProgressIndicator; 15 10 "_searchTextField" = NSTextField; 16 "_sizeTableColumn" = NSTableColumn;17 "_speedTableColumn" = NSTableColumn;18 11 "_statusTextField" = NSTextField; 19 12 "_trackersOutlineView" = NSOutlineView; 20 "_ usersTableColumn" = NSTableColumn;13 "_viewOptionsPanel" = NSPanel; 21 14 }; 22 15 SUPERCLASS = WCWindowController; WiredClient/trunk/English.lproj/Trackers.nib/info.nib
r1051 r1073 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 428 99397 343 0 0 1280 1002 </string>6 <string>578 50 397 343 0 0 1280 1002 </string> 7 7 <key>IBFramework Version</key> 8 8 <string>349.0</string> 9 <key>IBOpenObjects</key> 10 <array> 11 <integer>5</integer> 12 </array> 9 13 <key>IBSystem Version</key> 10 14 <string>7F44</string> WiredClient/trunk/WCChat.h
r1039 r1073 1 /* $Id: WCChat.h,v 1. 4 2004/03/18 22:06:00morris Exp $ */1 /* $Id: WCChat.h,v 1.5 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 60 60 IBOutlet NSTableColumn *_nickTableColumn; 61 61 62 IBOutlet NSMenu *_userListMenu; 63 IBOutlet NSMenuItem *_sendPrivateMessageMenuItem; 64 IBOutlet NSMenuItem *_getInfoMenuItem; 65 IBOutlet NSMenuItem *_ignoreMenuItem; 66 62 67 NSMutableArray *_commandHistory; 63 68 unsigned int _currentCommand; WiredClient/trunk/WCChat.m
r1062 r1073 1 /* $Id: WCChat.m,v 1. 19 2004/03/25 21:18:25morris Exp $ */1 /* $Id: WCChat.m,v 1.20 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 1515 1515 - (void)tableViewSelectionDidChange:(NSNotification *)notification { 1516 1516 [self updateButtons]; 1517 [WCSharedMain updateMenus];1518 1517 } 1519 1518 WiredClient/trunk/WCFiles.m
r1048 r1073 1 /* $Id: WCFiles.m,v 1. 6 2004/03/24 21:38:21morris Exp $ */1 /* $Id: WCFiles.m,v 1.7 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 450 450 [self updateButtons]; 451 451 452 // --- update menus453 [WCSharedMain updateMenus];454 455 452 // --- we are now loading 456 453 [_statusTextField setStringValue:@""]; … … 905 902 - (void)tableViewSelectionDidChange:(NSNotification *)notification { 906 903 [self updateButtons]; 907 [WCSharedMain updateMenus];908 904 } 909 905 WiredClient/trunk/WCMain.h
r1007 r1073 1 /* $Id: WCMain.h,v 1. 3 2004/03/16 10:23:48morris Exp $ */1 /* $Id: WCMain.h,v 1.4 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 26 26 * POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 29 #import "WCWindowController.h"30 28 31 29 @class WCIcons, WCSettings, WCStats, WCTextFinder, WCTrackers, WCStats, WCPreferences, WCConnection; … … 63 61 IBOutlet NSMenuItem *_forwardMenuItem; 64 62 63 IBOutlet NSMenu *_viewMenu; 64 IBOutlet NSMenuItem *_viewOptionsMenuItem; 65 65 66 IBOutlet NSMenu *_bookmarksMenu; 66 67 IBOutlet NSMenuItem *_addBookmarkMenuItem; … … 86 87 87 88 88 - (void) updateMenus;89 89 - (void) updateIcon; 90 90 - (void) updateBookmarksMenu; … … 130 130 - (IBAction) largerText:(id)sender; 131 131 - (IBAction) smallerText:(id)sender; 132 - (IBAction) viewOptions:(id)sender; 132 133 133 134 - (IBAction) newFolder:(id)sender; WiredClient/trunk/WCMain.m
r1007 r1073 1 /* $Id: WCMain.m,v 1.1 0 2004/03/16 10:23:30morris Exp $ */1 /* $Id: WCMain.m,v 1.11 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 31 31 #import "NSImageAdditions.h" 32 32 #import "NSNumberAdditions.h" 33 #import "NSTableViewAdditions.h" 33 34 #import "WCAboutWindow.h" 34 35 #import "WCAccount.h" … … 180 181 [_deleteMenuItem setKeyEquivalentModifierMask:NSCommandKeyMask]; 181 182 182 // --- we manage menus ourselves183 [_connectionMenu setAutoenablesItems:NO];184 [_filesMenu setAutoenablesItems:NO];185 186 183 // --- update menus according to preferences 187 [self updateMenus];188 184 [self updateBookmarksMenu]; 189 185 … … 317 313 318 314 [_progressIndicator stopAnimation:self]; 319 320 [self updateMenus];321 315 } 322 316 … … 326 320 if([notification object] != _activeConnection) 327 321 return; 328 329 [self updateMenus];330 322 } 331 323 … … 341 333 _activeWindow = [notification object]; 342 334 _activeConnection = [(WCWindowController *) _activeWindow connection]; 343 344 [self updateMenus];345 335 } 346 336 … … 350 340 _activeWindow = NULL; 351 341 _activeConnection = NULL; 352 353 [self updateMenus];354 342 } 355 343 … … 357 345 358 346 - (void)preferencesDidChange:(NSNotification *)notification { 359 [self updateMenus];360 [self updateBookmarksMenu];361 }362 363 364 365 #pragma mark -366 367 - (void)updateIcon {368 NSImage *icon;369 370 icon = [[NSImage imageNamed:@"NSApplicationIcon"] copy];371 [icon applyBadgeWithInt:_unread];372 373 [NSApp setApplicationIconImage:icon];374 [icon release];375 }376 377 378 379 - (void)updateMenus {380 347 // --- add/remove ellipsis depending on if a dialog will be shown or not 381 348 if([[WCSettings objectForKey:WCConfirmDisconnect] boolValue]) { … … 385 352 [_disconnectMenuItem setTitle:NSLocalizedString(@"Disconnect", @"Disconnect menu item")]; 386 353 } 387 388 // --- enable/disable connection menu 389 if(_activeConnection) { 390 [_serverInfoMenuItem setEnabled:YES]; 391 [_chatMenuItem setEnabled:YES]; 392 [_newsMenuItem setEnabled:YES]; 393 [_messagesMenuItem setEnabled:YES]; 394 [_filesMenuItem setEnabled:YES]; 395 [_transfersMenuItem setEnabled:YES]; 396 [_searchMenuItem setEnabled:YES]; 397 [_consoleMenuItem setEnabled:YES]; 398 [_accountsMenuItem setEnabled:YES]; 399 400 if([_activeWindow isKindOfClass:[WCChat class]]) 401 [_saveChatMenuItem setEnabled:YES]; 402 else 403 [_saveChatMenuItem setEnabled:NO]; 404 405 if([_activeWindow conformsToProtocol:@protocol(WCGetInfoValidation)]) { 406 if([_activeWindow canGetInfo]) 407 [_getInfoMenuItem setEnabled:YES]; 408 else 409 [_getInfoMenuItem setEnabled:NO]; 410 } else { 411 [_getInfoMenuItem setEnabled:NO]; 412 } 413 414 if([[_activeConnection account] postNews]) 415 [_postNewMenuItem setEnabled:YES]; 416 else 417 [_postNewMenuItem setEnabled:NO]; 418 419 if([[_activeConnection account] broadcast]) 420 [_broadcastMenuItem setEnabled:YES]; 421 else 422 [_broadcastMenuItem setEnabled:NO]; 423 424 [_disconnectMenuItem setEnabled:YES]; 425 426 [_addBookmarkMenuItem setEnabled:YES]; 427 } else { 428 [_serverInfoMenuItem setEnabled:NO]; 429 [_chatMenuItem setEnabled:NO]; 430 [_newsMenuItem setEnabled:NO]; 431 [_messagesMenuItem setEnabled:NO]; 432 [_filesMenuItem setEnabled:NO]; 433 [_transfersMenuItem setEnabled:NO]; 434 [_searchMenuItem setEnabled:NO]; 435 [_consoleMenuItem setEnabled:NO]; 436 [_accountsMenuItem setEnabled:NO]; 437 [_saveChatMenuItem setEnabled:NO]; 438 [_getInfoMenuItem setEnabled:NO]; 439 [_postNewMenuItem setEnabled:NO]; 440 [_broadcastMenuItem setEnabled:NO]; 441 [_disconnectMenuItem setEnabled:NO]; 442 443 [_addBookmarkMenuItem setEnabled:NO]; 444 } 445 446 // --- enable/disable files menu 447 if([_activeWindow class] == [WCFiles class]) { 448 if([_activeWindow canCreateFolders]) 449 [_newFolderMenuItem setEnabled:YES]; 450 else 451 [_newFolderMenuItem setEnabled:NO]; 452 453 [_reloadMenuItem setEnabled:YES]; 454 455 if([_activeWindow canDeleteFiles]) 456 [_deleteMenuItem setEnabled:YES]; 457 else 458 [_deleteMenuItem setEnabled:NO]; 459 460 if([_activeWindow canMoveBack]) 461 [_backMenuItem setEnabled:YES]; 462 else 463 [_backMenuItem setEnabled:NO]; 464 465 if([_activeWindow canMoveForward]) 466 [_forwardMenuItem setEnabled:YES]; 467 else 468 [_forwardMenuItem setEnabled:NO]; 469 } else { 470 [_newFolderMenuItem setEnabled:NO]; 471 [_reloadMenuItem setEnabled:NO]; 472 [_deleteMenuItem setEnabled:NO]; 473 [_backMenuItem setEnabled:NO]; 474 [_forwardMenuItem setEnabled:NO]; 475 } 476 477 // --- enable/disable bookmarks menu 478 if(_activeConnection) 479 [_addBookmarkMenuItem setEnabled:YES]; 480 else 481 [_addBookmarkMenuItem setEnabled:NO]; 354 355 // --- reload bookmarks 356 [self updateBookmarksMenu]; 357 } 358 359 360 361 #pragma mark - 362 363 - (void)updateIcon { 364 NSImage *icon; 365 366 icon = [[NSImage imageNamed:@"NSApplicationIcon"] copy]; 367 [icon applyBadgeWithInt:_unread]; 368 369 [NSApp setApplicationIconImage:icon]; 370 [icon release]; 482 371 } 483 372 … … 523 412 } 524 413 } 414 415 416 417 - (BOOL)validateMenuItem:(id <NSMenuItem>)item { 418 /* connection menu */ 419 if(item == _serverInfoMenuItem) 420 return (_activeConnection != NULL); 421 else if(item == _chatMenuItem) 422 return (_activeConnection != NULL); 423 else if(item == _newsMenuItem) 424 return (_activeConnection != NULL); 425 else if(item == _messagesMenuItem) 426 return (_activeConnection != NULL); 427 else if(item == _filesMenuItem) 428 return (_activeConnection != NULL); 429 else if(item == _transfersMenuItem) 430 return (_activeConnection != NULL); 431 else if(item == _consoleMenuItem) 432 return (_activeConnection != NULL); 433 else if(item == _accountsMenuItem) 434 return (_activeConnection != NULL); 435 else if(item == _saveChatMenuItem) 436 return [_activeWindow isKindOfClass:[WCChat class]]; 437 else if(item == _getInfoMenuItem) 438 return [_activeWindow conformsToProtocol:@protocol(WCGetInfoValidation)] && [_activeWindow canGetInfo]; 439 else if(item == _postNewMenuItem) 440 return [[_activeConnection account] postNews]; 441 else if(item == _broadcastMenuItem) 442 return [[_activeConnection account] broadcast]; 443 else if(item == _disconnectMenuItem) 444 return (_activeConnection != NULL); 445 446 // --- view menu 447 else if(item == _viewOptionsMenuItem) 448 return [_activeWindow conformsToProtocol:@protocol(WCTableViewOptionsSelection)]; 449 450 // --- files menu 451 else if(item == _searchMenuItem) 452 return (_activeConnection != NULL); 453 else if(item == _newFolderMenuItem) 454 return [_activeWindow isKindOfClass:[WCFiles class]] && [_activeWindow canCreateFolders]; 455 else if(item == _reloadMenuItem) 456 return [_activeWindow isKindOfClass:[WCFiles class]]; 457 else if(item == _deleteMenuItem) 458 return [_activeWindow isKindOfClass:[WCFiles class]] && [_activeWindow canDeleteFiles]; 459 else if(item == _backMenuItem) 460 return [_activeWindow isKindOfClass:[WCFiles class]] && [_activeWindow canMoveBack]; 461 else if(item == _forwardMenuItem) 462 return [_activeWindow isKindOfClass:[WCFiles class]] && [_activeWindow canMoveForward]; 463 464 // --- bookmarks menu 465 else if(item == _addBookmarkMenuItem) 466 return (_activeConnection != NULL); 467 468 return YES; 469 } 470 525 471 526 472 … … 913 859 914 860 861 - (IBAction)viewOptions:(id)sender { 862 if([_activeWindow conformsToProtocol:@protocol(WCTableViewOptionsSelection)]) 863 [[_activeWindow tableView] showViewOptions]; 864 } 865 866 867 915 868 #pragma mark - 916 869 WiredClient/trunk/WCPreferences.m
r1070 r1073 1 /* $Id: WCPreferences.m,v 1. 9 2004/03/26 23:11:11morris Exp $ */1 /* $Id: WCPreferences.m,v 1.10 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 189 189 190 190 // --- reflect change in the menu 191 [WCSharedMain update Menus];191 [WCSharedMain updateBookmarksMenu]; 192 192 } 193 193 … … 711 711 712 712 // --- reflect change in the menu 713 [WCSharedMain update Menus];713 [WCSharedMain updateBookmarksMenu]; 714 714 } 715 715 WiredClient/trunk/WCPrivateChat.h
r944 r1073 1 /* $Id: WCPrivateChat.h,v 1. 1 2004/03/08 19:23:43 morris Exp $ */1 /* $Id: WCPrivateChat.h,v 1.2 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 29 29 #import "WCChat.h" 30 30 31 @interface WCPrivateChat : WCChat <WCTableViewMenuValidation>{31 @interface WCPrivateChat : WCChat { 32 32 int _inviteUser; 33 33 } WiredClient/trunk/WCPrivateChat.m
r1056 r1073 1 /* $Id: WCPrivateChat.m,v 1. 5 2004/03/25 14:14:34morris Exp $ */1 /* $Id: WCPrivateChat.m,v 1.6 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 225 225 #pragma mark - 226 226 227 - (BOOL)validateMenuItem:(id <NSMenuItem>)item { 228 if(item == _getInfoMenuItem) 229 return [[_connection account] getUserInfo]; 230 else if(item == _ignoreMenuItem) { 231 NSNumber *key; 232 WCUser *user; 233 int row; 234 235 // --- get row 236 row = [_userListTableView selectedRow]; 237 238 // --- get user 239 key = [_sortedUsers objectAtIndex:row]; 240 user = [_shownUsers objectForKey:key]; 241 242 // --- transpose ignore/unignore 243 if([user ignore]) { 244 [item setTitle:NSLocalizedString(@"Unignore", "User list menu title")]; 245 [item setAction:@selector(unignore:)]; 246 } else { 247 [item setTitle:NSLocalizedString(@"Ignore", "User list menu title")]; 248 [item setAction:@selector(ignore:)]; 249 } 250 251 return YES; 252 } 253 254 return YES; 255 } 256 257 258 259 #pragma mark - 260 227 261 - (NSDragOperation)tableView:(NSTableView *)tableView validateDrop:(id 228 262 <NSDraggingInfo>)info proposedRow:(int)row … … 254 288 } 255 289 256 257 258 - (void)tableView:(NSTableView *)sender willDisplayMenu:(NSMenu *)menu {259 if(sender == _userListTableView) {260 NSNumber *key;261 WCUser *user;262 int row;263 264 // --- get row265 row = [_userListTableView selectedRow];266 267 if(row < 0)268 return;269 270 // --- get user271 key = [_sortedUsers objectAtIndex:row];272 user = [_shownUsers objectForKey:key];273 274 // --- transpose ignore/unignore275 if([user ignore]) {276 [[menu itemAtIndex:3] setTitle:NSLocalizedString(@"Unignore", "User list menu title")];277 [[menu itemAtIndex:3] setAction:@selector(unignore:)];278 } else {279 [[menu itemAtIndex:3] setTitle:NSLocalizedString(@"Ignore", "User list menu title")];280 [[menu itemAtIndex:3] setAction:@selector(ignore:)];281 }282 283 // --- set from privileges284 [[menu itemAtIndex:1] setEnabled:[[_connection account] getUserInfo]];285 }286 }287 288 290 @end WiredClient/trunk/WCPublicChat.h
r1044 r1073 1 /* $Id: WCPublicChat.h,v 1. 3 2004/03/24 13:55:55morris Exp $ */1 /* $Id: WCPublicChat.h,v 1.4 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 31 31 @class WCConnection; 32 32 33 @interface WCPublicChat : WCChat <WCTableViewMenuValidation>{33 @interface WCPublicChat : WCChat { 34 34 IBOutlet NSButton *_privateChatButton; 35 35 IBOutlet NSButton *_banButton; … … 41 41 IBOutlet NSPanel *_banMessagePanel; 42 42 IBOutlet NSTextField *_banMessageTextField; 43 44 IBOutlet NSMenuItem *_startPrivateChatMenuItem; 45 IBOutlet NSMenuItem *_kickMenuItem; 46 IBOutlet NSMenuItem *_banMenuItem; 43 47 44 48 int _savedUser; WiredClient/trunk/WCPublicChat.m
r1059 r1073 1 /* $Id: WCPublicChat.m,v 1.1 1 2004/03/25 15:53:14morris Exp $ */1 /* $Id: WCPublicChat.m,v 1.12 2004/03/27 01:32:03 morris Exp $ */ 2 2 3 3 /* … … 382 382 383 383 384 - (BOOL)validateMenuItem:(id <NSMenuItem>)item { 385 if(item == _getInfoMenuItem) 386 return [[_connection account] getUserInfo]; 387 else if(item == _ignoreMenuItem) { 388 NSNumber *key; 389 WCUser *user; 390 int row; 391 392 // --- get row 393 row = [_userListTableView selectedRow]; 394 395 // --- get user 396 key = [_sortedUsers objectAtIndex:row]; 397 user = [_shownUsers objectForKey:key]; 398 399 // --- transpose ignore/unignore 400 if([user ignore]) { 401 [item setTitle:NSLocalizedString(@"Unignore", "User list menu title")]; 402 [item setAction:@selector(unignore:)]; 403 } else { 404 [item setTitle:NSLocalizedString(@"Ignore", "User list menu title")]; 405 [item setAction:@selector(ignore:)]; 406 } 407 408 return YES; 409 } 410 else if(item == _kickMenuItem) 411 return [[_connection account] kickUsers]; 412 else if(item == _banMenuItem) 413 return [[_connection account] banUsers]; 414 415 return YES; 416 } 417 418 419 384 420 #pragma mark - 385 421 … … 467 503 } 468 504 469 470 471 #pragma mark -472 473 - (void)tableView:(NSTableView *)sender willDisplayMenu:(NSMenu *)menu {474 if(sender == _userListTableView) {475 NSNumber *key;476 WCUser *user;477 int row;478 479 // --- get row480 row = [_userListTableView selectedRow];481 482 if(row < 0)483 return;484 485 // --- get user486 key = [_sortedUsers objectAtIndex:row];487 user = [_shownUsers objectForKey:key];488 489 // --- transpose ignore/unignore490 if([user ignore]) {491 [[menu itemAtIndex:4] setTitle:NSLocalizedString(@"Unignore", "User list menu title")];492 [[menu itemAtIndex:4] setAction:@selector(unignore:)];493 } else {494 [[menu itemAtIndex:4] setTitle:NSLocalizedString(@"Ignore", "User list menu title")];495 [[menu itemAtIndex:4] setAction:@selector(ignore:)];496 }497 498 // --- set from privileges499 [[menu itemAtIndex:2] setEnabled:[[_connection account] getUserInfo]];500 [[menu itemAtIndex:6] setEnabled:[[_connection account] kickUsers]];501 [[menu itemAtIndex:7] setEnabled:[[_connection account] banUsers]];502 }503 }504 505 505 @end WiredClient/trunk/WCTableView.h
r944 r1073 1 /* $Id: WCTableView.h,v 1. 1 2004/03/08 19:23:43 morris Exp $ */1
