diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/MainMenu.m | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/MainMenu.m b/src/MainMenu.m index eec586f..ea5d1f9 100644 --- a/src/MainMenu.m +++ b/src/MainMenu.m @@ -8,6 +8,9 @@ NSMenuItem *MainMenuCreateViewMenuItem(); NSMenuItem *MainMenuCreateWindowMenuItem(); NSMenuItem *MainMenuCreateHelpMenuItem(); +void MainMenuFixFontMenuKeyEquivalentModifierMask(NSMenu *font_menu); +BOOL MainMenuNSMenuItemHasKeyEquivalentModifierMaskCommand(NSMenuItem *menu_item); + NSMenu *MainMenuCreate() { NSMenu *menubar = [[NSMenu alloc] init]; @@ -325,6 +328,7 @@ NSMenuItem *MainMenuCreateEditMenuItem() addItemWithTitle:@"Show Spelling and Grammar" action:@selector(showGuessPanel:) keyEquivalent:@":"]; + // NSLog(@"modifierMask: %lu", [x keyEquivalentModifierMask]); [spelling_and_grammar_menu addItemWithTitle:@"Check Document Now" @@ -472,6 +476,8 @@ NSMenuItem *MainMenuCreateFormatMenuItem() setSubmenu:font_menu forItem:font_menu_item]; + MainMenuFixFontMenuKeyEquivalentModifierMask(font_menu); + // [font_menu // addItemWithTitle:@"Show Fonts" // action:@selector(orderFrontFontPanel:) @@ -740,6 +746,44 @@ NSMenuItem *MainMenuCreateFormatMenuItem() return format_menu_item; } +void MainMenuFixFontMenuKeyEquivalentModifierMask(NSMenu *font_menu) +{ + NSMenuItem *show_colors_menu_item = [font_menu itemWithTitle:@"Show Colors"]; + + if ( + !MainMenuNSMenuItemHasKeyEquivalentModifierMaskCommand( + show_colors_menu_item + ) + ) { + // [show_colors_menu_item setKeyEquivalent:@"C"]; + // NSLog(@"colors: %@", [show_colors_menu_item keyEquivalent]); + // [show_colors_menu_item setKeyEquivalentModifierMask:NSEventModifierFlagCommand]; + [show_colors_menu_item + setKeyEquivalentModifierMask: + NSEventModifierFlagCommand + | [show_colors_menu_item keyEquivalentModifierMask]]; + // NSLog(@"show_colors_menu_item mask: %lu", [show_colors_menu_item keyEquivalentModifierMask]); + } +} + +BOOL MainMenuNSMenuItemHasKeyEquivalentModifierMaskCommand(NSMenuItem *menu_item) +{ + if (!menu_item) { + return NO; + } + + if ( + [menu_item keyEquivalentModifierMask] + & NSEventModifierFlagCommand + ) { + return YES; + } + + // NSLog(@"MainMenuNSMenuItemHasKeyEquivalentModifierMaskCommand mask: %lu", [menu_item keyEquivalentModifierMask]); + // NSLog(@"MainMenuNSMenuItemHasKeyEquivalentModifierMaskCommand NO"); + return NO; +} + NSMenuItem *MainMenuCreateViewMenuItem() { NSMenuItem *view_menu_item = [[NSMenuItem alloc] |