diff options
| author | Vadim Shpakovski | 2012-08-25 23:42:19 +0300 |
|---|---|---|
| committer | Vadim Shpakovski | 2012-08-25 23:42:19 +0300 |
| commit | 11dd71d546a15a8418176f0c0f245833be8d1fa2 (patch) | |
| tree | a7c9db444b3c5f66a8bb44aa12a6df7c062795dc /MASShortcut.m | |
| parent | e5a490c0fc0c6dd85a8254d8418384eef5a54cc7 (diff) | |
| download | MASShortcut-11dd71d546a15a8418176f0c0f245833be8d1fa2.tar.bz2 | |
Allows support for Function keys in shortcuts.
Diffstat (limited to 'MASShortcut.m')
| -rw-r--r-- | MASShortcut.m | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/MASShortcut.m b/MASShortcut.m index 5915d5d..49fece4 100644 --- a/MASShortcut.m +++ b/MASShortcut.m @@ -202,19 +202,19 @@ NSString *const kMASShortcutModifierFlags = @"ModifierFlags"; return (self.modifierFlags == NSCommandKeyMask) && ([codeString isEqualToString:@"W"] || [codeString isEqualToString:@"Q"]); } -- (BOOL)hasRequiredModifierFlags +- (BOOL)isValid { BOOL hasFlags = (_modifierFlags > 0); BOOL hasCommand = ((_modifierFlags & NSCommandKeyMask) > 0); BOOL hasControl = ((_modifierFlags & NSControlKeyMask) > 0); BOOL hasOption = ((_modifierFlags & NSAlternateKeyMask) > 0); - BOOL isSpecial = ((_keyCode == kVK_Space) || (_keyCode == kVK_Escape) || (_keyCode == kVK_Return) || - (_keyCode == kVK_F1) || (_keyCode == kVK_F2) || (_keyCode == kVK_F3) || (_keyCode == kVK_F4) || - (_keyCode == kVK_F5) || (_keyCode == kVK_F6) || (_keyCode == kVK_F7) || (_keyCode == kVK_F8) || - (_keyCode == kVK_F9) || (_keyCode == kVK_F10) || (_keyCode == kVK_F11) || (_keyCode == kVK_F12) || - (_keyCode == kVK_F13) || (_keyCode == kVK_F14) || (_keyCode == kVK_F15) || (_keyCode == kVK_F16) || - (_keyCode == kVK_F17) || (_keyCode == kVK_F18) || (_keyCode == kVK_F19) || (_keyCode == kVK_F20)); - return (hasFlags && (hasCommand || hasControl || (hasOption && isSpecial))); + BOOL isFunction = ((_keyCode == kVK_F1) || (_keyCode == kVK_F2) || (_keyCode == kVK_F3) || (_keyCode == kVK_F4) || + (_keyCode == kVK_F5) || (_keyCode == kVK_F6) || (_keyCode == kVK_F7) || (_keyCode == kVK_F8) || + (_keyCode == kVK_F9) || (_keyCode == kVK_F10) || (_keyCode == kVK_F11) || (_keyCode == kVK_F12) || + (_keyCode == kVK_F13) || (_keyCode == kVK_F14) || (_keyCode == kVK_F15) || (_keyCode == kVK_F16) || + (_keyCode == kVK_F17) || (_keyCode == kVK_F18) || (_keyCode == kVK_F19) || (_keyCode == kVK_F20)); + BOOL isSpecial = ((_keyCode == kVK_Space) || (_keyCode == kVK_Escape) || (_keyCode == kVK_Return)); + return ((hasFlags && (hasCommand || hasControl || (hasOption && isSpecial))) || isFunction); } - (BOOL)isKeyEquivalent:(NSString *)keyEquivalent flags:(NSUInteger)flags takenInMenu:(NSMenu *)menu error:(NSError **)outError |
