Skip to content

Commit

Permalink
Rename MASPickAllCocoaModifiers to MASPickModifiersIncludingFn
Browse files Browse the repository at this point in the history
  • Loading branch information
Coder-256 authored and shpakovski committed Oct 18, 2022
1 parent 8d52bb8 commit 6f2603c
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
4 changes: 3 additions & 1 deletion Framework/Model/MASKeyCodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ NS_INLINE NSUInteger MASPickCocoaModifiers(NSUInteger flags)
return (flags & (NSEventModifierFlagControl | NSEventModifierFlagShift | NSEventModifierFlagOption | NSEventModifierFlagCommand));
}

NS_INLINE NSUInteger MASPickAllCocoaModifiers(NSUInteger flags)
// Used in `-[MASShortcutValidator isShortcut:alreadyTakenInMenu:explanation:]`.
// This prevents incorrectly detecting an overlap with any shortcuts using the `fn` key.
NS_INLINE NSUInteger MASPickModifiersIncludingFn(NSUInteger flags)
{
return (flags & (NSEventModifierFlagControl | NSEventModifierFlagShift | NSEventModifierFlagOption | NSEventModifierFlagCommand | NSEventModifierFlagFunction));
}
Expand Down
4 changes: 2 additions & 2 deletions Framework/Model/MASShortcutValidator.m
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,13 @@ - (BOOL) isShortcut: (MASShortcut*) shortcut alreadyTakenInMenu: (NSMenu*) menu
for (NSMenuItem *menuItem in menu.itemArray) {
if (menuItem.hasSubmenu && [self isShortcut:shortcut alreadyTakenInMenu:[menuItem submenu] explanation:explanation]) return YES;

BOOL equalFlags = (MASPickAllCocoaModifiers(menuItem.keyEquivalentModifierMask) == flags);
BOOL equalFlags = (MASPickModifiersIncludingFn(menuItem.keyEquivalentModifierMask) == flags);
BOOL equalHotkeyLowercase = [menuItem.keyEquivalent.lowercaseString isEqualToString:keyEquivalent];

// Check if the cases are different, we know ours is lower and that shift is included in our modifiers
// If theirs is capitol, we need to add shift to their modifiers
if (equalHotkeyLowercase && ![menuItem.keyEquivalent isEqualToString:keyEquivalent]) {
equalFlags = (MASPickAllCocoaModifiers(menuItem.keyEquivalentModifierMask | NSEventModifierFlagShift) == flags);
equalFlags = (MASPickModifiersIncludingFn(menuItem.keyEquivalentModifierMask | NSEventModifierFlagShift) == flags);
}

if (equalFlags && equalHotkeyLowercase) {
Expand Down

0 comments on commit 6f2603c

Please sign in to comment.