aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/MainMenu.m44
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]