Revision: 12455
          http://sourceforge.net/p/skim-app/code/12455
Author:   hofman
Date:     2021-10-05 16:14:49 +0000 (Tue, 05 Oct 2021)
Log Message:
-----------
Put workaround in separate code block

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

Modified: trunk/SKBasePDFView.m
===================================================================
--- trunk/SKBasePDFView.m       2021-10-05 14:56:48 UTC (rev 12454)
+++ trunk/SKBasePDFView.m       2021-10-05 16:14:49 UTC (rev 12455)
@@ -155,55 +155,55 @@
 #pragma mark Bug fixes
 
 - (void)keyDown:(NSEvent *)theEvent {
-    if (RUNNING_AFTER(10_11)) {
-        [super keyDown:theEvent];
-        return;
-    }
-    
-    unichar eventChar = [theEvent firstCharacter];
-    NSUInteger modifiers = [theEvent standardModifierFlags];
-    
-    if ((eventChar == SKSpaceCharacter) && ((modifiers & ~NSShiftKeyMask) == 
0)) {
-        eventChar = modifiers == NSShiftKeyMask ? NSPageUpFunctionKey : 
NSPageDownFunctionKey;
-        modifiers = 0;
-    }
-    
-    if ((([self displayMode] & kPDFDisplaySinglePageContinuous) == 0) &&
-        (eventChar == NSDownArrowFunctionKey || eventChar == 
NSUpArrowFunctionKey || eventChar == NSPageDownFunctionKey || eventChar == 
NSPageUpFunctionKey) &&
-        (modifiers == 0)) {
+    if (RUNNING_BEFORE(10_12)) {
         
-        NSScrollView *scrollView = [self scrollView];
-        NSClipView *clipView = [scrollView contentView];
-        NSRect clipRect = [clipView bounds];
-        BOOL flipped = [clipView isFlipped];
-        CGFloat scroll = eventChar == NSUpArrowFunctionKey || eventChar == 
NSDownArrowFunctionKey ? [scrollView verticalLineScroll] : NSHeight([self 
convertRect:clipRect fromView:clipView]) - 6.0 * [scrollView 
verticalPageScroll];
-        NSPoint point = [self convertPoint:clipRect.origin fromView:clipView];
-        CGFloat margin = [self convertSize:NSMakeSize(1.0, 1.0) 
toView:clipView].height;
+        unichar eventChar = [theEvent firstCharacter];
+        NSUInteger modifiers = [theEvent standardModifierFlags];
         
-        if (eventChar == NSDownArrowFunctionKey || eventChar == 
NSPageDownFunctionKey) {
-            point.y -= scroll;
-            [clipView scrollPoint:[self convertPoint:point toView:clipView]];
-            if (fabs(NSMinY(clipRect) - NSMinY([clipView bounds])) <= margin 
&& [self canGoToNextPage]) {
-                [self goToNextPage:nil];
-                NSRect docRect = [[scrollView documentView] frame];
-                clipRect = [clipView bounds];
-                clipRect.origin.y = flipped ? NSMinY(docRect) : 
NSMaxY(docRect) - NSHeight(clipRect);
-                [clipView scrollPoint:clipRect.origin];
+        if ((eventChar == SKSpaceCharacter) && ((modifiers & ~NSShiftKeyMask) 
== 0)) {
+            eventChar = modifiers == NSShiftKeyMask ? NSPageUpFunctionKey : 
NSPageDownFunctionKey;
+            modifiers = 0;
+        }
+        
+        if ((([self displayMode] & kPDFDisplaySinglePageContinuous) == 0) &&
+            (eventChar == NSDownArrowFunctionKey || eventChar == 
NSUpArrowFunctionKey || eventChar == NSPageDownFunctionKey || eventChar == 
NSPageUpFunctionKey) &&
+            (modifiers == 0)) {
+            
+            NSScrollView *scrollView = [self scrollView];
+            NSClipView *clipView = [scrollView contentView];
+            NSRect clipRect = [clipView bounds];
+            BOOL flipped = [clipView isFlipped];
+            CGFloat scroll = eventChar == NSUpArrowFunctionKey || eventChar == 
NSDownArrowFunctionKey ? [scrollView verticalLineScroll] : NSHeight([self 
convertRect:clipRect fromView:clipView]) - 6.0 * [scrollView 
verticalPageScroll];
+            NSPoint point = [self convertPoint:clipRect.origin 
fromView:clipView];
+            CGFloat margin = [self convertSize:NSMakeSize(1.0, 1.0) 
toView:clipView].height;
+            
+            if (eventChar == NSDownArrowFunctionKey || eventChar == 
NSPageDownFunctionKey) {
+                point.y -= scroll;
+                [clipView scrollPoint:[self convertPoint:point 
toView:clipView]];
+                if (fabs(NSMinY(clipRect) - NSMinY([clipView bounds])) <= 
margin && [self canGoToNextPage]) {
+                    [self goToNextPage:nil];
+                    NSRect docRect = [[scrollView documentView] frame];
+                    clipRect = [clipView bounds];
+                    clipRect.origin.y = flipped ? NSMinY(docRect) : 
NSMaxY(docRect) - NSHeight(clipRect);
+                    [clipView scrollPoint:clipRect.origin];
+                }
+            } else if (eventChar == NSUpArrowFunctionKey || eventChar == 
NSPageUpFunctionKey) {
+                point.y += scroll;
+                [clipView scrollPoint:[self convertPoint:point 
toView:clipView]];
+                if (fabs(NSMinY(clipRect) - NSMinY([clipView bounds])) <= 
margin && [self canGoToPreviousPage]) {
+                    [self goToPreviousPage:nil];
+                    NSRect docRect = [[scrollView documentView] frame];
+                    clipRect = [clipView bounds];
+                    clipRect.origin.y = flipped ? NSMaxY(docRect) - 
NSHeight(clipRect) : NSMinY(docRect);
+                    [clipView scrollPoint:clipRect.origin];
+                }
             }
-        } else if (eventChar == NSUpArrowFunctionKey || eventChar == 
NSPageUpFunctionKey) {
-            point.y += scroll;
-            [clipView scrollPoint:[self convertPoint:point toView:clipView]];
-            if (fabs(NSMinY(clipRect) - NSMinY([clipView bounds])) <= margin 
&& [self canGoToPreviousPage]) {
-                [self goToPreviousPage:nil];
-                NSRect docRect = [[scrollView documentView] frame];
-                clipRect = [clipView bounds];
-                clipRect.origin.y = flipped ? NSMaxY(docRect) - 
NSHeight(clipRect) : NSMinY(docRect);
-                [clipView scrollPoint:clipRect.origin];
-            }
+            
+            return;
         }
-    } else {
-        [super keyDown:theEvent];
     }
+    
+    [super keyDown:theEvent];
 }
 
 

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



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to