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