This commit is contained in:
Kovid Goyal 2019-11-28 07:24:06 +05:30
commit a9928ec98a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -73,12 +73,12 @@ find_app_name(void) {
@implementation GlobalMenuTarget @implementation GlobalMenuTarget
- (void) show_preferences : (id)sender { - (void)show_preferences:(id)sender {
(void)sender; (void)sender;
set_cocoa_pending_action(PREFERENCES_WINDOW, NULL); set_cocoa_pending_action(PREFERENCES_WINDOW, NULL);
} }
- (void) new_os_window : (id)sender { - (void)new_os_window:(id)sender {
(void)sender; (void)sender;
set_cocoa_pending_action(NEW_OS_WINDOW, NULL); set_cocoa_pending_action(NEW_OS_WINDOW, NULL);
} }
@ -118,9 +118,10 @@ get_dock_menu(id self UNUSED, SEL _cmd UNUSED, NSApplication *sender UNUSED) {
if (!dockMenu) { if (!dockMenu) {
GlobalMenuTarget *global_menu_target = [GlobalMenuTarget shared_instance]; GlobalMenuTarget *global_menu_target = [GlobalMenuTarget shared_instance];
dockMenu = [[NSMenu alloc] init]; dockMenu = [[NSMenu alloc] init];
NSMenuItem *newWindowItem = [dockMenu addItemWithTitle:@"New OS window" NSMenuItem *newWindowItem =
action:@selector(new_os_window:) [dockMenu addItemWithTitle:@"New OS window"
keyEquivalent:@""]; action:@selector(new_os_window:)
keyEquivalent:@""];
[newWindowItem setTarget:global_menu_target]; [newWindowItem setTarget:global_menu_target];
} }
return dockMenu; return dockMenu;
@ -238,13 +239,15 @@ cocoa_create_global_menu(void) {
[NSApp setMainMenu:bar]; [NSApp setMainMenu:bar];
NSMenuItem* appMenuItem = NSMenuItem* appMenuItem =
[bar addItemWithTitle:@"" action:NULL keyEquivalent:@""]; [bar addItemWithTitle:@""
action:NULL
keyEquivalent:@""];
NSMenu* appMenu = [[NSMenu alloc] init]; NSMenu* appMenu = [[NSMenu alloc] init];
[appMenuItem setSubmenu:appMenu]; [appMenuItem setSubmenu:appMenu];
[appMenu addItemWithTitle:[NSString stringWithFormat:@"About %@", app_name] [appMenu addItemWithTitle:[NSString stringWithFormat:@"About %@", app_name]
action:@selector(orderFrontStandardAboutPanel:) action:@selector(orderFrontStandardAboutPanel:)
keyEquivalent:@""]; keyEquivalent:@""];
[appMenu addItem:[NSMenuItem separatorItem]]; [appMenu addItem:[NSMenuItem separatorItem]];
NSMenuItem* preferences_menu_item = [[NSMenuItem alloc] initWithTitle:@"Preferences..." action:@selector(show_preferences:) keyEquivalent:@","], *new_os_window_menu_item = NULL; NSMenuItem* preferences_menu_item = [[NSMenuItem alloc] initWithTitle:@"Preferences..." action:@selector(show_preferences:) keyEquivalent:@","], *new_os_window_menu_item = NULL;
[preferences_menu_item setTarget:global_menu_target]; [preferences_menu_item setTarget:global_menu_target];
@ -263,8 +266,8 @@ cocoa_create_global_menu(void) {
action:@selector(hide:) action:@selector(hide:)
keyEquivalent:@"h"]; keyEquivalent:@"h"];
[[appMenu addItemWithTitle:@"Hide Others" [[appMenu addItemWithTitle:@"Hide Others"
action:@selector(hideOtherApplications:) action:@selector(hideOtherApplications:)
keyEquivalent:@"h"] keyEquivalent:@"h"]
setKeyEquivalentModifierMask:NSEventModifierFlagOption | NSEventModifierFlagCommand]; setKeyEquivalentModifierMask:NSEventModifierFlagOption | NSEventModifierFlagCommand];
[appMenu addItemWithTitle:@"Show All" [appMenu addItemWithTitle:@"Show All"
action:@selector(unhideAllApplications:) action:@selector(unhideAllApplications:)
@ -274,19 +277,21 @@ cocoa_create_global_menu(void) {
NSMenu* servicesMenu = [[NSMenu alloc] init]; NSMenu* servicesMenu = [[NSMenu alloc] init];
[NSApp setServicesMenu:servicesMenu]; [NSApp setServicesMenu:servicesMenu];
[[appMenu addItemWithTitle:@"Services" [[appMenu addItemWithTitle:@"Services"
action:NULL action:NULL
keyEquivalent:@""] setSubmenu:servicesMenu]; keyEquivalent:@""] setSubmenu:servicesMenu];
[servicesMenu release]; [servicesMenu release];
[appMenu addItem:[NSMenuItem separatorItem]]; [appMenu addItem:[NSMenuItem separatorItem]];
[appMenu addItemWithTitle:[NSString stringWithFormat:@"Quit %@", app_name] [appMenu addItemWithTitle:[NSString stringWithFormat:@"Quit %@", app_name]
action:@selector(terminate:) action:@selector(terminate:)
keyEquivalent:@"q"]; keyEquivalent:@"q"];
[appMenu release]; [appMenu release];
NSMenuItem* windowMenuItem = NSMenuItem* windowMenuItem =
[bar addItemWithTitle:@"" action:NULL keyEquivalent:@""]; [bar addItemWithTitle:@""
action:NULL
keyEquivalent:@""];
NSMenu* windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; NSMenu* windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
[windowMenuItem setSubmenu:windowMenu]; [windowMenuItem setSubmenu:windowMenu];
@ -316,10 +321,10 @@ cocoa_create_global_menu(void) {
[bar release]; [bar release];
class_addMethod( class_addMethod(
object_getClass([NSApp delegate]), object_getClass([NSApp delegate]),
@selector(applicationDockMenu:), @selector(applicationDockMenu:),
(IMP)get_dock_menu, (IMP)get_dock_menu,
"@@:@"); "@@:@");
[NSApp setServicesProvider:[[[ServiceProvider alloc] init] autorelease]]; [NSApp setServicesProvider:[[[ServiceProvider alloc] init] autorelease]];