Revision: 14463
http://sourceforge.net/p/skim-app/code/14463
Author: hofman
Date: 2024-09-20 14:59:20 +0000 (Fri, 20 Sep 2024)
Log Message:
-----------
combine some cursor and navwindow related calls in convenience methods
Modified Paths:
--------------
trunk/SKPresentationView.m
Modified: trunk/SKPresentationView.m
===================================================================
--- trunk/SKPresentationView.m 2024-09-20 14:18:04 UTC (rev 14462)
+++ trunk/SKPresentationView.m 2024-09-20 14:59:20 UTC (rev 14463)
@@ -81,6 +81,7 @@
@interface SKPresentationView () <CALayerDelegate>
- (void)setCursorForMouse:(NSEvent *)theEvent;
+- (void)setCursorAndAutoHide;
- (void)doAutoHideCursor;
- (void)doAutoHide;
- (void)showNavWindow;
@@ -314,7 +315,7 @@
- (void)toggleLaserPointer:(id)sender {
pvFlags.useArrowCursor = pvFlags.useArrowCursor == NO;
- [self setCursorForMouse:nil];
+ [self setCursorAndAutoHide];
[[NSUserDefaults standardUserDefaults] setBool:pvFlags.useArrowCursor
forKey:SKUseArrowCursorInPresentationKey];
[cursorWindow selectCursorStyle:[self cursorStyle]];
}
@@ -321,9 +322,7 @@
- (void)nextLaserPointerColor:(id)sender {
laserPointerColor = (laserPointerColor + 1) % 7;
- pvFlags.cursorHidden = NO;
- [self setCursorForMouse:nil];
- [self performSelectorOnce:@selector(doAutoHide)
afterDelay:AUTO_HIDE_DELAY];
+ [self setCursorAndAutoHide];
[[NSUserDefaults standardUserDefaults] setInteger:laserPointerColor
forKey:SKLaserPointerColorKey];
[cursorWindow selectCursorStyle:[self cursorStyle]];
}
@@ -330,9 +329,7 @@
- (void)previousLaserPointerColor:(id)sender {
laserPointerColor = (laserPointerColor + 6) % 7;
- pvFlags.cursorHidden = NO;
- [self setCursorForMouse:nil];
- [self performSelectorOnce:@selector(doAutoHide)
afterDelay:AUTO_HIDE_DELAY];
+ [self setCursorAndAutoHide];
[[NSUserDefaults standardUserDefaults] setInteger:laserPointerColor
forKey:SKLaserPointerColorKey];
[cursorWindow selectCursorStyle:[self cursorStyle]];
}
@@ -445,8 +442,7 @@
if (didHideMouse) {
[self doAutoHideCursor];
} else {
- [self setCursorForMouse:nil];
- [self performSelectorOnce:@selector(doAutoHideCursor)
afterDelay:AUTO_HIDE_DELAY];
+ [self setCursorAndAutoHide];
}
}
@@ -453,7 +449,7 @@
- (void)mouseMoved:(NSEvent *)theEvent {
pvFlags.cursorHidden = NO;
- [self setCursorForMouse:theEvent];
+ [self setCursorAndAutoHide];
if (navigationMode != SKNavigationNone && [navWindow isVisible] == NO) {
if (navigationMode == SKNavigationEverywhere && [cursorWindow
isVisible] == NO && NSPointInRect([theEvent locationInWindow], [[[self window]
contentView] frame])) {
@@ -465,7 +461,7 @@
[self performSelectorOnce:@selector(showNavWindow)
afterDelay:SHOW_NAV_DELAY];
}
}
- [self performSelectorOnce:@selector(doAutoHide)
afterDelay:AUTO_HIDE_DELAY];
+
[super mouseMoved:theEvent];
}
@@ -717,6 +713,11 @@
#pragma mark Cursors and HUD windows
+- (void)cancelDelayedRequests {
+ [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(showNavWindow) object:nil];
+ [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHide) object:nil];
+}
+
- (void)didOpen {
[self setAutoScales:YES];
[pageView setAlphaValue:1.0];
@@ -728,9 +729,7 @@
- (void)willClose {
pvFlags.cursorHidden = NO;
[NSCursor setHiddenUntilMouseMoves:NO];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(showNavWindow) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHide) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHideCursor) object:nil];
+ [self cancelDelayedRequests];
if (navWindow) {
[navWindow remove];
navWindow = nil;
@@ -755,6 +754,12 @@
[[NSCursor laserPointerCursorWithColor:laserPointerColor] set];
}
+- (void)setCursorAndAutoHide {
+ pvFlags.cursorHidden = NO;
+ [self setCursorForMouse:nil];
+ [self performSelectorOnce:@selector(doAutoHide)
afterDelay:AUTO_HIDE_DELAY];
+}
+
- (void)doAutoHideCursor {
if ([NSWindow windowNumberAtPoint:[NSEvent mouseLocation]
belowWindowWithWindowNumber:0] == [[self window] windowNumber]) {
[[NSCursor emptyCursor] set];
@@ -793,9 +798,7 @@
}
- (void)handleWindowDidResignKeyNotification:(NSNotification *)notification {
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(showNavWindow) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHide) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHideCursor) object:nil];
+ [self cancelDelayedRequests];
pvFlags.cursorHidden = NO;
[[NSCursor arrowCursor] set];
}
@@ -808,9 +811,7 @@
}
- (void)viewWillMoveToWindow:(NSWindow *)newWindow {
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(showNavWindow) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHide) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHideCursor) object:nil];
+ [self cancelDelayedRequests];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
NSWindow *oldWindow = [self window];
@@ -822,9 +823,6 @@
[nc addObserver:self
selector:@selector(handleWindowDidBecomeKeyNotification:)
name:NSWindowDidBecomeKeyNotification object:newWindow];
[nc addObserver:self
selector:@selector(handleWindowDidResignKeyNotification:)
name:NSWindowDidResignKeyNotification object:newWindow];
} else {
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(showNavWindow) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHide) object:nil];
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(doAutoHideCursor) object:nil];
[pageView setAlphaValue:1.0];
pvFlags.cursorHidden = NO;
[NSCursor setHiddenUntilMouseMoves:NO];
@@ -843,10 +841,8 @@
}
- (void)viewDidMoveToWindow {
- if ([[self window] isKeyWindow]) {
- [self performSelectorOnce:@selector(setCursorForMouse:)
afterDelay:0.0];
- [self performSelectorOnce:@selector(doAutoHide)
afterDelay:AUTO_HIDE_DELAY];
- }
+ if ([[self window] isKeyWindow])
+ [self handleWindowDidBecomeKeyNotification:nil];
[super viewDidMoveToWindow];
}
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