Module: wine Branch: master Commit: af2690ab0664a9dfbad69fd6905d3a15dc8a499a URL: http://source.winehq.org/git/wine.git/?a=commit;h=af2690ab0664a9dfbad69fd690...
Author: Ken Thomases ken@codeweavers.com Date: Mon Apr 24 13:07:09 2017 -0500
winemac: Add a category on NSEvent to simplify checking if the Command key (and only that modifier) is pressed for an event.
Signed-off-by: Ken Thomases ken@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winemac.drv/cocoa_app.m | 2 +- dlls/winemac.drv/cocoa_event.h | 6 ++++++ dlls/winemac.drv/cocoa_event.m | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m index 6d1473a..f13e496 100644 --- a/dlls/winemac.drv/cocoa_app.m +++ b/dlls/winemac.drv/cocoa_app.m @@ -1653,7 +1653,7 @@ static NSString* WineLocalizedString(unsigned int stringID)
if ([window isKindOfClass:[WineWindow class]] && type == NSLeftMouseDown && - (([theEvent modifierFlags] & (NSShiftKeyMask | NSControlKeyMask| NSAlternateKeyMask | NSCommandKeyMask)) != NSCommandKeyMask)) + ![theEvent wine_commandKeyDown]) { NSWindowButton windowButton;
diff --git a/dlls/winemac.drv/cocoa_event.h b/dlls/winemac.drv/cocoa_event.h index 4d814a2..72ff8f9 100644 --- a/dlls/winemac.drv/cocoa_event.h +++ b/dlls/winemac.drv/cocoa_event.h @@ -28,6 +28,12 @@ enum { };
+@interface NSEvent (WineExtensions) + + (BOOL) wine_commandKeyDown; + - (BOOL) wine_commandKeyDown; +@end + + @class WineWindow;
diff --git a/dlls/winemac.drv/cocoa_event.m b/dlls/winemac.drv/cocoa_event.m index 08a706f..40066ff 100644 --- a/dlls/winemac.drv/cocoa_event.m +++ b/dlls/winemac.drv/cocoa_event.m @@ -40,6 +40,26 @@ static NSString* const WineHotKeyCarbonRefKey = @"hotKeyRef"; static const OSType WineHotKeySignature = 'Wine';
+@implementation NSEvent (WineExtensions) + + static BOOL wine_commandKeyDown(NSUInteger flags) + { + return ((flags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask)) == NSCommandKeyMask); + } + + + (BOOL) wine_commandKeyDown + { + return wine_commandKeyDown([self modifierFlags]); + } + + - (BOOL) wine_commandKeyDown + { + return wine_commandKeyDown([self modifierFlags]); + } + +@end + + @interface MacDrvEvent : NSObject { @public