Revision: 3372
http://skim-app.svn.sourceforge.net/skim-app/?rev=3372&view=rev
Author: hofman
Date: 2008-01-12 08:56:18 -0800 (Sat, 12 Jan 2008)
Log Message:
-----------
Page navigation with left/right arrow when there is no horizontal scroller.
Make code a bit more readable by making lines shorter.
Modified Paths:
--------------
trunk/SKPDFView.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2008-01-12 00:53:12 UTC (rev 3371)
+++ trunk/SKPDFView.m 2008-01-12 16:56:18 UTC (rev 3372)
@@ -891,13 +891,15 @@
unichar eventChar = [characters length] > 0 ? [characters
characterAtIndex:0] : 0;
unsigned int modifiers = [theEvent modifierFlags] & (NSCommandKeyMask |
NSAlternateKeyMask | NSShiftKeyMask | NSControlKeyMask);
- if (hasNavigation && autohidesCursor) {
+ if ([[[self documentView] enclosingScrollView] hasHorizontalScroller] ==
NO &&
+ (eventChar == NSRightArrowFunctionKey) && (modifiers == 0)) {
+ [self goToNextPage:self];
+ } else if ([[[self documentView] enclosingScrollView]
hasHorizontalScroller] == NO &&
+ (eventChar == NSLeftArrowFunctionKey) && (modifiers == 0)) {
+ [self goToPreviousPage:self];
+ } else if (hasNavigation && autohidesCursor) {
// Presentation mode
- if (eventChar == NSRightArrowFunctionKey && modifiers == 0) {
- [self goToNextPage:self];
- } else if ((eventChar == NSLeftArrowFunctionKey) && (modifiers == 0)) {
- [self goToPreviousPage:self];
- } else if ((eventChar == 'p') && (modifiers == 0)) {
+ if ((eventChar == 'p') && (modifiers == 0)) {
[(SKMainWindowController *)[[self window] windowController]
toggleLeftSidePane:self];
} else if ((eventChar == 'a') && (modifiers == 0)) {
[(SKMainWindowController *)[[self window] windowController]
toggleAutoActualSize:self];
@@ -906,51 +908,57 @@
}
} else {
// Normal or fullscreen mode
- if ((eventChar == NSDeleteCharacter || eventChar ==
NSDeleteFunctionKey) && (modifiers == 0)) {
+ BOOL isLeftRightArrow = eventChar == NSRightArrowFunctionKey ||
eventChar == NSLeftArrowFunctionKey;
+ BOOL isUpDownArrow = eventChar == NSUpArrowFunctionKey || eventChar ==
NSDownArrowFunctionKey;
+ BOOL isArrow = isLeftRightArrow || isUpDownArrow;
+
+ if ((eventChar == NSDeleteCharacter || eventChar ==
NSDeleteFunctionKey) &&
+ (modifiers == 0)) {
[self delete:self];
- } else if (([self toolMode] == SKTextToolMode || [self toolMode] ==
SKNoteToolMode) && (eventChar == NSEnterCharacter || eventChar ==
NSFormFeedCharacter || eventChar == NSNewlineCharacter || eventChar ==
NSCarriageReturnCharacter) && (modifiers == 0) && activeAnnotation && [self
isEditing] == NO) {
+ } else if (([self toolMode] == SKTextToolMode || [self toolMode] ==
SKNoteToolMode) && activeAnnotation && [self isEditing] == NO &&
+ (eventChar == NSEnterCharacter || eventChar ==
NSFormFeedCharacter || eventChar == NSNewlineCharacter || eventChar ==
NSCarriageReturnCharacter) &&
+ (modifiers == 0)) {
[self editActiveAnnotation:self];
- } else if (([self toolMode] == SKTextToolMode || [self toolMode] ==
SKNoteToolMode) && (eventChar == NSTabCharacter) && (modifiers ==
NSAlternateKeyMask)) {
+ } else if (([self toolMode] == SKTextToolMode || [self toolMode] ==
SKNoteToolMode) &&
+ (eventChar == NSTabCharacter) && (modifiers ==
NSAlternateKeyMask)) {
[self selectNextActiveAnnotation:self];
// backtab is a bit inconsistent, it seems Shift+Tab gives a
Shift-BackTab key event, I would have expected either Shift-Tab (as for the raw
event) or BackTab (as for most shift-modified keys)
- } else if (([self toolMode] == SKTextToolMode || [self toolMode] ==
SKNoteToolMode) && (((eventChar == NSBackTabCharacter) && (modifiers ==
(NSAlternateKeyMask | NSShiftKeyMask))) || ((eventChar == NSBackTabCharacter)
&& (modifiers == NSAlternateKeyMask)) || ((eventChar == NSTabCharacter) &&
(modifiers == NSAlternateKeyMask)))) {
+ } else if (([self toolMode] == SKTextToolMode || [self toolMode] ==
SKNoteToolMode) &&
+ (((eventChar == NSBackTabCharacter) && ((modifiers &
~NSShiftKeyMask) == NSAlternateKeyMask)) ||
+ ((eventChar == NSTabCharacter) && (modifiers ==
(NSAlternateKeyMask | NSShiftKeyMask))))) {
[self selectPreviousActiveAnnotation:self];
- } else if ([self hasReadingBar] && (eventChar ==
NSRightArrowFunctionKey || eventChar == NSLeftArrowFunctionKey || eventChar ==
NSUpArrowFunctionKey || eventChar == NSDownArrowFunctionKey) && (modifiers ==
moveReadingBarModifiers)) {
+ } else if ([self hasReadingBar] && isArrow && (modifiers ==
moveReadingBarModifiers)) {
[self moveReadingBarForKey:eventChar];
- } else if ([self hasReadingBar] && (eventChar == NSUpArrowFunctionKey
|| eventChar == NSDownArrowFunctionKey) && (modifiers ==
resizeReadingBarModifiers)) {
+ } else if ([self hasReadingBar] && isUpDownArrow && (modifiers ==
resizeReadingBarModifiers)) {
[self resizeReadingBarForKey:eventChar];
- } else if ((eventChar == NSRightArrowFunctionKey) && (modifiers ==
(NSCommandKeyMask | NSAlternateKeyMask))) {
- [self setToolMode:(toolMode + 1) % 5];
- } else if ((eventChar == NSLeftArrowFunctionKey) && (modifiers ==
(NSCommandKeyMask | NSAlternateKeyMask))) {
- [self setToolMode:(toolMode + 4) % 5];
- } else if ((eventChar == NSDownArrowFunctionKey) && (modifiers ==
(NSCommandKeyMask | NSAlternateKeyMask))) {
- [self setAnnotationMode:(annotationMode + 1) % 8];
- } else if ((eventChar == NSUpArrowFunctionKey) && (modifiers ==
(NSCommandKeyMask | NSAlternateKeyMask))) {
- [self setAnnotationMode:(annotationMode + 7) % 8];
- } else if ([activeAnnotation isNoteAnnotation] && [activeAnnotation
isMovable] && (eventChar == NSRightArrowFunctionKey || eventChar ==
NSLeftArrowFunctionKey || eventChar == NSUpArrowFunctionKey || eventChar ==
NSDownArrowFunctionKey) && (modifiers == 0 || modifiers == NSShiftKeyMask)) {
+ } else if (isLeftRightArrow && (modifiers == (NSCommandKeyMask |
NSAlternateKeyMask))) {
+ [self setToolMode:(toolMode + (eventChar ==
NSRightArrowFunctionKey ? 1 : 4)) % 5];
+ } else if (isUpDownArrow && (modifiers == (NSCommandKeyMask |
NSAlternateKeyMask))) {
+ [self setAnnotationMode:(annotationMode + (eventChar ==
NSDownArrowFunctionKey ? 1 : 7)) % 8];
+ } else if ([activeAnnotation isMovable] && isArrow && ((modifiers &
~NSShiftKeyMask) == 0)) {
[self moveActiveAnnotationForKey:eventChar byAmount:(modifiers &
NSShiftKeyMask) ? 10.0 : 1.0];
- } else if ([activeAnnotation isNoteAnnotation] && [activeAnnotation
isResizable] && (eventChar == NSRightArrowFunctionKey || eventChar ==
NSLeftArrowFunctionKey || eventChar == NSUpArrowFunctionKey || eventChar ==
NSDownArrowFunctionKey) && (modifiers == NSControlKeyMask || modifiers ==
(NSControlKeyMask | NSShiftKeyMask))) {
+ } else if ([activeAnnotation isResizable] && isArrow && ((modifiers &
~NSShiftKeyMask) == NSControlKeyMask)) {
[self resizeActiveAnnotationForKey:eventChar byAmount:(modifiers &
NSShiftKeyMask) ? 10.0 : 1.0];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 't') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 't') &&
(modifiers == 0)) {
[self setAnnotationMode:SKFreeTextNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 'n') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 'n') &&
(modifiers == 0)) {
[self setAnnotationMode:SKAnchoredNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 'c') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 'c') &&
(modifiers == 0)) {
[self setAnnotationMode:SKCircleNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 'b') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 'b') &&
(modifiers == 0)) {
[self setAnnotationMode:SKSquareNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 'h') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 'h') &&
(modifiers == 0)) {
[self setAnnotationMode:SKHighlightNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 'u') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 'u') &&
(modifiers == 0)) {
[self setAnnotationMode:SKUnderlineNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 's') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 's') &&
(modifiers == 0)) {
[self setAnnotationMode:SKStrikeOutNote];
- } else if ([self toolMode] == SKNoteToolMode && modifiers == 0 &&
eventChar == 'l') {
+ } else if ([self toolMode] == SKNoteToolMode && (eventChar == 'l') &&
(modifiers == 0)) {
[self setAnnotationMode:SKLineNote];
- } else if ([typeSelectHelper processKeyDownEvent:theEvent]) {
- } else {
+ } else if ([typeSelectHelper processKeyDownEvent:theEvent] == NO) {
[super keyDown:theEvent];
}
+
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit