- (NSMenu *) menu {
NSMenu *menu = [[NSMenu alloc] initWithTitle:@""];
NSMenuItem *item =nil;
NSArray *standardItems = [[self user] standardMenuItems];
NSEnumerator *enumerator = [standardItems objectEnumerator];
while( ( item = [enumerator nextObject] ) )
if( [item action] !=@selector( startDirectChat: ) )
[menu addItem:item];
[menu addItem:[NSMenuItem separatorItem]];
item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Ignore Notifications", "lists whether or not notifications are enabled for this conversation") action:@selector( toggleNotifications: ) keyEquivalent:@""];
[item setTarget:self];
[menu addItem:item];
[item release];
[menu addItem:[NSMenuItem separatorItem]];
if( [[[self windowController] allChatViewControllers] count] >1 ) {
item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Detach From Window", "detach from window contextual menu item title" ) action:@selector( detachView: ) keyEquivalent:@""];
[item setRepresentedObject:self];
[item setTarget:[JVChatController defaultController]];
[menu addItem:item];
[item release];
}
if( [[self target] isKindOfClass:[MVDirectChatConnection class]] ) {
item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Disconnect", "disconnect contextual menu item title" ) action:@selector( disconnect ) keyEquivalent:@""];
[item setTarget:[self target]];
[menu addItem:item];
[item release];
}
item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Close", "close contextual menu item title" ) action:@selector( close: ) keyEquivalent:@""];
[item setTarget:self];
[menu addItem:item];
[item release];
return [menu autorelease];
}
- (BOOL) validateMenuItem:(NSMenuItem *) menuItem {
if( [menuItem action] ==@selector( toggleNotifications: ) ) {
if( [[self preferenceForKey:@"muted"] boolValue] )
[menuItem setState:NSOnState];
else [menuItem setState:NSOffState];
}
returnYES;
}
- (NSToolbarItem *) toolbar:(NSToolbar *) toolbar itemForItemIdentifier:(NSString *) identifier willBeInsertedIntoToolbar:(BOOL) willBeInserted {
NSToolbarItem *toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier:identifier] autorelease];
if( [identifier isEqualToString:JVToolbarToggleChatDrawerItemIdentifier] ) {
toolbarItem = [_windowController toggleChatDrawerToolbarItem];
} else if( [identifier isEqualToString:JVToolbarToggleChatActivityItemIdentifier] ) {
// toolbarItem = [_windowController chatActivityToolbarItem];
} else if( [identifier isEqualToString:JVToolbarChooseStyleItemIdentifier] && ! willBeInserted ) {
[toolbarItem setLabel:NSLocalizedString( @"Style", "choose style toolbar item label" )];
[toolbarItem setPaletteLabel:NSLocalizedString( @"Style", "choose style toolbar item patlette label" )];
[toolbarItem setImage:[NSImage imageNamed:@"chooseStyle"]];
} else if( [identifier isEqualToString:JVToolbarChooseStyleItemIdentifier] && willBeInserted ) {
[toolbarItem setLabel:NSLocalizedString( @"Style", "choose style toolbar item label" )];
[toolbarItem setPaletteLabel:NSLocalizedString( @"Style", "choose style toolbar item patlette label" )];
MVMenuButton *button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect( 0., 0., 32., 32. )] autorelease];
[button setImage:[NSImage imageNamed:@"chooseStyle"]];
[button setDrawsArrow:YES];
[button setMenu:_styleMenu];
[toolbarItem setToolTip:NSLocalizedString( @"Change chat style", "choose style toolbar item tooltip" )];
[button setToolbarItem:toolbarItem];
[toolbarItem setTarget:self];
[toolbarItem setView:button];
NSMenuItem *menuItem = [[[NSMenuItem alloc] initWithTitle:NSLocalizedString( @"Style", "choose style toolbar item menu representation title" ) action:NULL keyEquivalent:@""] autorelease];
NSImage *icon = [[[NSImage imageNamed:@"chooseStyle"] copy] autorelease];
[icon setScalesWhenResized:YES];
[icon setSize:NSMakeSize( 16., 16. )];
[menuItem setImage:icon];
[menuItem setSubmenu:_styleMenu];
[toolbarItem setMenuFormRepresentation:menuItem];
} else if( [identifier isEqualToString:JVToolbarEmoticonsItemIdentifier] && ! willBeInserted ) {
[toolbarItem setLabel:NSLocalizedString( @"Emoticons", "choose emoticons toolbar item label" )];
[toolbarItem setPaletteLabel:NSLocalizedString( @"Emoticons", "choose emoticons toolbar item patlette label" )];
[toolbarItem setImage:[NSImage imageNamed:@"emoticon"]];
} else if( [identifier isEqualToString:JVToolbarEmoticonsItemIdentifier] && willBeInserted ) {
[toolbarItem setLabel:NSLocalizedString( @"Emoticons", "choose emoticons toolbar item label" )];
[toolbarItem setPaletteLabel:NSLocalizedString( @"Emoticons", "choose emoticons toolbar item patlette label" )];
MVMenuButton *button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect( 0., 0., 32., 32. )] autorelease];
[button setImage:[NSImage imageNamed:@"emoticon"]];
[button setDrawsArrow:YES];
[button setMenu:_emoticonMenu];
[toolbarItem setToolTip:NSLocalizedString( @"Change Emoticons", "choose emoticons toolbar item tooltip" )];
[button setToolbarItem:toolbarItem];
[toolbarItem setTarget:self];
[toolbarItem setView:button];
NSMenuItem *menuItem = [[[NSMenuItem alloc] initWithTitle:NSLocalizedString( @"Emoticons", "choose emoticons toolbar item menu representation title" ) action:NULL keyEquivalent:@""] autorelease];
NSImage *icon = [[[NSImage imageNamed:@"emoticon"] copy] autorelease];
[icon setScalesWhenResized:YES];
[icon setSize:NSMakeSize( 16., 16. )];
[menuItem setImage:icon];
[menuItem setSubmenu:_emoticonMenu];
[toolbarItem setMenuFormRepresentation:menuItem];
} else toolbarItem = nil;
return toolbarItem;
}
1262

被折叠的 条评论
为什么被折叠?



