Revision: 12657
          http://sourceforge.net/p/skim-app/code/12657
Author:   hofman
Date:     2021-12-28 14:58:25 +0000 (Tue, 28 Dec 2021)
Log Message:
-----------
End temporary tool mode when clicking in field editor or scroller

Modified Paths:
--------------
    trunk/SKMainWindow.h
    trunk/SKMainWindow.m
    trunk/SKMainWindowController_UI.m

Modified: trunk/SKMainWindow.h
===================================================================
--- trunk/SKMainWindow.h        2021-12-28 10:41:02 UTC (rev 12656)
+++ trunk/SKMainWindow.h        2021-12-28 14:58:25 UTC (rev 12657)
@@ -41,7 +41,7 @@
 
 @protocol SKMainWindowDelegate <NSWindowDelegate>
 @optional
-- (void)windowWillSendEvent:(NSEvent *)event;
+- (void)window:(NSWindow *)sender willSendEvent:(NSEvent *)event;
 @end
 
 @interface SKMainWindow : NSWindow {

Modified: trunk/SKMainWindow.m
===================================================================
--- trunk/SKMainWindow.m        2021-12-28 10:41:02 UTC (rev 12656)
+++ trunk/SKMainWindow.m        2021-12-28 14:58:25 UTC (rev 12657)
@@ -47,8 +47,8 @@
 
 - (void)sendEvent:(NSEvent *)theEvent {
     if ([theEvent type] == NSLeftMouseDown || [theEvent type] == 
NSRightMouseDown || [theEvent type] == NSKeyDown) {
-        if ([[self delegate] 
respondsToSelector:@selector(windowWillSendEvent:)])
-            [[self delegate] windowWillSendEvent:theEvent];
+        if ([[self delegate] 
respondsToSelector:@selector(window:willSendEvent:)])
+            [[self delegate] window:self willSendEvent:theEvent];
     } else if ([theEvent type] == NSScrollWheel && ([theEvent modifierFlags] & 
NSAlternateKeyMask)) {
         NSResponder *target = (NSResponder *)[[self contentView] 
hitTest:[theEvent locationInWindow]] ?: (NSResponder *)self;
         while (target && [target respondsToSelector:@selector(magnifyWheel:)] 
== NO)

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2021-12-28 10:41:02 UTC (rev 12656)
+++ trunk/SKMainWindowController_UI.m   2021-12-28 14:58:25 UTC (rev 12657)
@@ -314,11 +314,18 @@
     return nil;
 }
 
-- (void)windowWillSendEvent:(NSEvent *)event {
+- (void)window:(NSWindow *)sender willSendEvent:(NSEvent *)event {
     [[SKImageToolTipWindow sharedToolTipWindow] orderOut:nil];
     
-    if ([pdfView temporaryToolMode] != SKNoToolMode && [pdfView window] && 
([event type] != NSLeftMouseDown || NO == NSPointInRect([event 
locationInView:pdfView], [pdfView bounds])))
-        [pdfView setTemporaryToolMode:SKNoToolMode];
+    if ([pdfView temporaryToolMode] != SKNoToolMode && [pdfView window] == 
sender) {
+        if ([event type] == NSLeftMouseDown) {
+            NSView *view = [pdfView hitTest:[event locationInView:pdfView]];
+            if ([view isDescendantOf:[pdfView documentView]] == NO || [view 
isKindOfClass:[NSTextView class]])
+                [pdfView setTemporaryToolMode:SKNoToolMode];
+        } else {
+            [pdfView setTemporaryToolMode:SKNoToolMode];
+        }
+    }
 }
 
 #pragma mark Page history highlights

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