Revision: 16367
http://sourceforge.net/p/skim-app/code/16367
Author: hofman
Date: 2026-06-07 15:53:47 +0000 (Sun, 07 Jun 2026)
Log Message:
-----------
delay temporary markup tool mode for possible double or triple click
Modified Paths:
--------------
trunk/SKPDFView.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2026-06-07 14:36:02 UTC (rev 16366)
+++ trunk/SKPDFView.m 2026-06-07 15:53:47 UTC (rev 16367)
@@ -670,13 +670,15 @@
}
}
-- (void)resetTemporaryToolMode {
+- (void)performTemporaryMarkupToolMode {
+ if (IS_MARKUP_TOOL(temporaryToolMode) && [[self currentSelection]
hasCharacters])
+ [self
addMarkupAnnotationWithType:NOTE_TYPE_FROM_TEMP_TOOL_MODE(temporaryToolMode)
selection:nil];
[self setTemporaryToolMode:SKToolModeNone];
}
- (void)setTemporaryToolMode:(SKTemporaryToolMode)newTemporaryToolMode {
if (temporaryToolMode != newTemporaryToolMode) {
- [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(resetTemporaryToolMode) object:nil];
+ [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(performTemporaryMarkupToolMode) object:nil];
temporaryToolMode = newTemporaryToolMode;
[[NSNotificationCenter defaultCenter]
postNotificationName:SKPDFViewTemporaryToolModeChangedNotification object:self];
}
@@ -1730,16 +1732,17 @@
[self doDragAnnotationWithEvent:theEvent];
} else {
[self setCurrentAnnotation:nil];
+ [[self class] cancelPreviousPerformRequestsWithTarget:self
selector:@selector(performTemporaryMarkupToolMode) object:nil];
BOOL mayMultiClick = [theEvent clickCount] < 3 && [NSApp
willDragMouse] == NO;
[super mouseDown:theEvent];
- if ([[self currentSelection] hasCharacters])
+ if (mayMultiClick) {
+ [self
performSelectorOnce:@selector(performTemporaryMarkupToolMode)
afterDelay:[NSEvent doubleClickInterval]];
+ delayTempToolMode = YES;
+ } else if ([[self currentSelection] hasCharacters]) {
[self
addMarkupAnnotationWithType:NOTE_TYPE_FROM_TEMP_TOOL_MODE(temporaryToolMode)
selection:nil];
- else if (mayMultiClick)
- delayTempToolMode = YES;
+ }
}
- if (delayTempToolMode)
- [self performSelectorOnce:@selector(resetTemporaryToolMode)
afterDelay:[NSEvent doubleClickInterval]];
- else
+ if (delayTempToolMode == NO)
[self setTemporaryToolMode:SKToolModeNone];
if (wantsLoupe)
[loupeController update];
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