Revision: 7604
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7604&view=rev
Author:   hofman
Date:     2011-12-26 12:25:50 +0000 (Mon, 26 Dec 2011)
Log Message:
-----------
simplify checking events for type select

Modified Paths:
--------------
    trunk/SKTypeSelectHelper.m

Modified: trunk/SKTypeSelectHelper.m
===================================================================
--- trunk/SKTypeSelectHelper.m  2011-12-26 11:11:31 UTC (rev 7603)
+++ trunk/SKTypeSelectHelper.m  2011-12-26 12:25:50 UTC (rev 7604)
@@ -39,6 +39,7 @@
 #import "SKTypeSelectHelper.h"
 #import "SKRuntime.h"
 #import "NSString_SKExtensions.h"
+#import "NSEvent_SKExtensions.h"
 
 #define SKWindowDidChangeFirstResponderNotification 
@"SKWindowDidChangeFirstResponderNotification"
 
@@ -122,7 +123,9 @@
 }
 
 - (BOOL)processKeyDownEvent:(NSEvent *)keyEvent {
-    if ([self isSearchEvent:keyEvent]) {
+    if ([keyEvent type] != NSKeyDown) {
+        return NO;
+    } else if ([self isSearchEvent:keyEvent]) {
         [self searchWithEvent:keyEvent];
         return YES;
     } else if ([self isRepeatEvent:keyEvent]) {
@@ -183,10 +186,8 @@
 }
 
 - (BOOL)isSearchEvent:(NSEvent *)keyEvent {
-    if ([keyEvent type] != NSKeyDown)
+    if ([keyEvent deviceIndependentModifierFlags] & ~NSShiftKeyMask & 
~NSAlternateKeyMask & ~NSAlphaShiftKeyMask & ~NSNumericPadKeyMask)
         return NO;
-    if ([keyEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask & 
~NSShiftKeyMask & ~NSAlternateKeyMask & ~NSAlphaShiftKeyMask & 
~NSNumericPadKeyMask)
-        return NO;
     
     static NSCharacterSet *nonAlphanumericCharacterSet = nil;
     if (nonAlphanumericCharacterSet == nil)
@@ -198,27 +199,11 @@
 }
 
 - (BOOL)isRepeatEvent:(NSEvent *)keyEvent {
-    if ([keyEvent type] != NSKeyDown)
-        return NO;
-    
-    NSString *characters = [keyEvent charactersIgnoringModifiers];
-    unichar character = [characters length] > 0 ? [characters 
characterAtIndex:0] : 0;
-       NSUInteger modifierFlags = [keyEvent modifierFlags] & 
NSDeviceIndependentModifierFlagsMask;
-    
-    return modifierFlags == 0 && character == REPEAT_CHARACTER;
+    return [keyEvent deviceIndependentModifierFlags] == 0 && [keyEvent 
firstCharacter] == REPEAT_CHARACTER;
 }
 
 - (BOOL)isCancelEvent:(NSEvent *)keyEvent {
-    if ([keyEvent type] != NSKeyDown)
-        return NO;
-    if ([self isProcessing] == NO)
-        return NO;
-    
-    NSString *characters = [keyEvent charactersIgnoringModifiers];
-    unichar character = [characters length] > 0 ? [characters 
characterAtIndex:0] : 0;
-       NSUInteger modifierFlags = [keyEvent modifierFlags] & 
NSDeviceIndependentModifierFlagsMask;
-    
-    return modifierFlags == 0 && character == CANCEL_CHARACTER;
+    return [self isProcessing] == NO && [keyEvent 
deviceIndependentModifierFlags] == 0 && [keyEvent firstCharacter] == 
CANCEL_CHARACTER;
 }
 
 // See 
http://www.mactech.com/articles/mactech/Vol.18/18.10/1810TableTechniques/index.html

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to