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

Reply via email to