Revision: 15147
http://sourceforge.net/p/skim-app/code/15147
Author: hofman
Date: 2025-05-03 14:51:40 +0000 (Sat, 03 May 2025)
Log Message:
-----------
Handle poge navigation events in overview view
Modified Paths:
--------------
trunk/SKOverviewView.m
Modified: trunk/SKOverviewView.m
===================================================================
--- trunk/SKOverviewView.m 2025-05-03 14:38:42 UTC (rev 15146)
+++ trunk/SKOverviewView.m 2025-05-03 14:51:40 UTC (rev 15147)
@@ -40,6 +40,7 @@
#import "SKTypeSelectHelper.h"
#import "NSEvent_SKExtensions.h"
#import "SKApplication.h"
+#import "SKMainWindowController_Actions.h"
@interface NSCollectionView (SKPrivateDeclarations)
@@ -52,11 +53,21 @@
- (void)keyDown:(NSEvent *)theEvent {
unichar eventChar = [theEvent firstCharacter];
+ NSUInteger modifiers = [theEvent deviceIndependentModifierFlags] &
~NSEventModifierFlagCapsLock;
+ NSUInteger standardModifiers = modifiers & ~NSEventModifierFlagNumericPad
& ~NSEventModifierFlagFunction;
- if ((eventChar == NSNewlineCharacter || eventChar == NSEnterCharacter ||
eventChar == NSCarriageReturnCharacter) && [theEvent
deviceIndependentModifierFlags] == 0 && [self doubleClickAction]) {
+ if ((eventChar == NSNewlineCharacter || eventChar == NSEnterCharacter ||
eventChar == NSCarriageReturnCharacter) && modifiers == 0 && [self
doubleClickAction]) {
[self tryToPerform:[self doubleClickAction] with:self];
- } else if (eventChar == 'p' && [theEvent deviceIndependentModifierFlags]
== 0 && [self singleClickAction]) {
+ } else if (eventChar == 'p' && modifiers == 0 && [self singleClickAction])
{
[self tryToPerform:[self singleClickAction] with:self];
+ } else if ((eventChar == NSDownArrowFunctionKey && standardModifiers ==
NSEventModifierFlagOption) || (eventChar == NSRightArrowFunctionKey &&
standardModifiers == NSEventModifierFlagCommand) || (eventChar ==
NSPageDownFunctionKey && standardModifiers == 0)) {
+ [self tryToPerform:@selector(doGoToNextPage:) with:self];
+ } else if ((eventChar == NSUpArrowFunctionKey && standardModifiers ==
NSEventModifierFlagOption) || (eventChar == NSLeftArrowFunctionKey &&
standardModifiers == NSEventModifierFlagCommand) || (eventChar ==
NSPageUpFunctionKey && standardModifiers == 0)) {
+ [self tryToPerform:@selector(doGoToPreviousPage:) with:self];
+ } else if ((eventChar == NSLeftArrowFunctionKey && standardModifiers ==
NSEventModifierFlagOption) || (eventChar == NSUpArrowFunctionKey &&
standardModifiers == NSEventModifierFlagCommand) || (eventChar ==
NSHomeFunctionKey && standardModifiers == 0)) {
+ [self tryToPerform:@selector(doGoToFirstPage:) with:self];
+ } else if ((eventChar == NSRightArrowFunctionKey && standardModifiers ==
NSEventModifierFlagOption) || (eventChar == NSDownArrowFunctionKey &&
standardModifiers == NSEventModifierFlagCommand) || (eventChar ==
NSEndFunctionKey && standardModifiers == 0)) {
+ [self tryToPerform:@selector(doGoToLastPage:) with:self];
} else if ([typeSelectHelper handleEvent:theEvent] == NO) {
[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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit