Revision: 7592
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7592&view=rev
Author:   hofman
Date:     2011-12-22 11:53:29 +0000 (Thu, 22 Dec 2011)
Log Message:
-----------
Implement escape key through cancelOperation:

Modified Paths:
--------------
    trunk/NSEvent_SKExtensions.h
    trunk/SKFullScreenWindow.m
    trunk/SKPDFView.m
    trunk/SKSideWindow.m

Modified: trunk/NSEvent_SKExtensions.h
===================================================================
--- trunk/NSEvent_SKExtensions.h        2011-12-21 18:15:32 UTC (rev 7591)
+++ trunk/NSEvent_SKExtensions.h        2011-12-22 11:53:29 UTC (rev 7592)
@@ -38,10 +38,6 @@
 
 #import <Cocoa/Cocoa.h>
 
-enum {
-    SKEscapeCharacter = 0x001b
-};
-
 @interface NSEvent (SKExtensions)
 
 + (NSUInteger)standardModifierFlags;

Modified: trunk/SKFullScreenWindow.m
===================================================================
--- trunk/SKFullScreenWindow.m  2011-12-21 18:15:32 UTC (rev 7591)
+++ trunk/SKFullScreenWindow.m  2011-12-22 11:53:29 UTC (rev 7592)
@@ -39,7 +39,6 @@
 #import "SKFullScreenWindow.h"
 #import "SKMainWindowController.h"
 #import "SKMainWindowController_Actions.h"
-#import "NSEvent_SKExtensions.h"
 #import "SKStringConstants.h"
 
 #define DURATION 0.25
@@ -186,15 +185,8 @@
     [super sendEvent:theEvent];
 }
 
-- (void)keyDown:(NSEvent *)theEvent {
-    unichar ch = [theEvent firstCharacter];
-       NSUInteger modifierFlags = [theEvent deviceIndependentModifierFlags];
-    
-    if ((modifierFlags & ~NSAlphaShiftKeyMask) == 0 && ch == 
SKEscapeCharacter) {
-        [(SKMainWindowController *)[self windowController] 
exitFullscreen:self];
-        return;
-    }
-    [super keyDown:theEvent];
+- (void)cancelOperation:(id)sender {
+    [(SKMainWindowController *)[self windowController] exitFullscreen:self];
 }
 
 @end

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2011-12-21 18:15:32 UTC (rev 7591)
+++ trunk/SKPDFView.m   2011-12-22 11:53:29 UTC (rev 7592)
@@ -72,6 +72,8 @@
 #import "NSGeometry_SKExtensions.h"
 #import "NSGraphics_SKExtensions.h"
 
+#define SKEscapeCharacter 0x001b
+
 #define ANNOTATION_MODE_COUNT 9
 #define TOOL_MODE_COUNT 5
 

Modified: trunk/SKSideWindow.m
===================================================================
--- trunk/SKSideWindow.m        2011-12-21 18:15:32 UTC (rev 7591)
+++ trunk/SKSideWindow.m        2011-12-22 11:53:29 UTC (rev 7592)
@@ -226,21 +226,19 @@
 }
 
 - (void)keyDown:(NSEvent *)theEvent {
-    unichar ch = [theEvent firstCharacter];
-       NSUInteger modifierFlags = [theEvent deviceIndependentModifierFlags];
-    
-    if (ch == SKEscapeCharacter && modifierFlags == 0) {
-        if (state == NSDrawerOpenState || state == NSDrawerOpeningState)
-            [controller closeSideWindow:self];
-        else
-            [controller exitFullscreen:self];
-    } else if (ch == 'p' && modifierFlags == 0 && [controller interactionMode] 
== SKPresentationMode) {
+    if ([theEvent firstCharacter] == 'p' && [theEvent 
deviceIndependentModifierFlags] == 0 && [controller interactionMode] == 
SKPresentationMode)
         [controller closeSideWindow:self];
-    } else {
+    else
         [super keyDown:theEvent];
-    }
 }
 
+- (void)cancelOperation:(id)sender {
+    if (state == NSDrawerOpenState || state == NSDrawerOpeningState)
+        [controller closeSideWindow:self];
+    else
+        [controller exitFullscreen:self];
+}
+    
 - (NSResponder *)nextResponder {
     return controller;
 }

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