23 - (BOOL)performKeyEquivalent:(NSEvent *)theEvent
25 [
super performKeyEquivalent:theEvent];
45 NSMenu *oldMenu = [NSApp mainMenu];
47 NSMenu *menubar = [[
VuoAppMenu new] autorelease];
51 NSMenu *appMenu = [[NSMenu new] autorelease];
52 NSString *appName = [[NSProcessInfo processInfo] processName];
54 NSString *aboutTitle = [@"About " stringByAppendingString:appName];
55 NSMenuItem *aboutMenuItem = [[[NSMenuItem alloc] initWithTitle:aboutTitle action:@selector(displayAboutPanel:) keyEquivalent:@""] autorelease];
58 static dispatch_once_t aboutDialogInitialized = 0;
59 dispatch_once(&aboutDialogInitialized, ^{
62 [aboutMenuItem setTarget:aboutDialog];
64 [appMenu addItem:aboutMenuItem];
66 [appMenu addItem:[NSMenuItem separatorItem]];
68 NSString *quitTitle = [@"Quit " stringByAppendingString:appName];
69 NSMenuItem *quitMenuItem = [[[NSMenuItem alloc] initWithTitle:quitTitle action:@selector(terminate:) keyEquivalent:@"q"] autorelease];
70 [appMenu addItem:quitMenuItem];
72 NSMenuItem *appMenuItem = [[NSMenuItem new] autorelease];
73 [appMenuItem setSubmenu:appMenu];
75 [menubar addItem:appMenuItem];
81 NSArray *itemsArray = (NSArray *)items;
82 for (NSMenuItem *item in itemsArray)
83 [menubar addItem:item];
86 [NSApp setMainMenu:menubar];
98 [NSApp setMainMenu:menu];