Revision: 15092
http://sourceforge.net/p/skim-app/code/15092
Author: hofman
Date: 2025-04-06 22:17:19 +0000 (Sun, 06 Apr 2025)
Log Message:
-----------
Join strings from joined markup notes when they are layed out non-interlacing
in the order they occur, otherwise get the string from the joined selection.
Modified Paths:
--------------
trunk/SKPDFView.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2025-04-06 17:12:15 UTC (rev 15091)
+++ trunk/SKPDFView.m 2025-04-06 22:17:19 UTC (rev 15092)
@@ -4134,11 +4134,30 @@
if ([currentAnnotation isMarkup]) {
NSString *type = [currentAnnotation type];
PDFSelection *sel = [currentAnnotation selection];
- [sel addSelection:[newCurrentAnnotation selection]];
+ PDFSelection *newSel = [newCurrentAnnotation selection];
+ BOOL copyText = [[NSUserDefaults standardUserDefaults]
integerForKey:SKDisableUpdateContentsFromEnclosedTextKey] < 2;
+ NSString *string1 = [currentAnnotation string];
+ NSString *string2 = [newCurrentAnnotation string];
+ NSString *string = nil;
+ if ([string1 length] > 0 && [string2 length] > 0) {
+ if ([sel safeIndexOfFirstCharacterOnPage:page] > (copyText
? [newSel safeIndexOfLastCharacterOnPage:page] : [newSel
safeIndexOfFirstCharacterOnPage:page]))
+ string = [NSString stringWithFormat:@"%@ %@", string2,
string1];
+ else if (copyText || [newSel
safeIndexOfFirstCharacterOnPage:page] > [sel
safeIndexOfFirstCharacterOnPage:page])
+ string = [NSString stringWithFormat:@"%@ %@", string1,
string2];
+ }
+ [sel addSelection:newSel];
+ if (string == nil) {
+ if (copyText)
+ string = [sel cleanedString];
+ else if ([string1 length])
+ string = string1;
+ else if ([string2 length])
+ string = string2;
+ }
newAnnotation = [PDFAnnotation newSkimNoteWithSelection:sel
forType:type];
- if ([[NSUserDefaults standardUserDefaults]
integerForKey:SKDisableUpdateContentsFromEnclosedTextKey] < 2)
- [newAnnotation setString:[sel cleanedString]];
+ if ([string length] > 0)
+ [newAnnotation setString:string];
} else if ([currentAnnotation isInk]) {
NSMutableArray *paths = [[currentAnnotation pagePaths]
mutableCopy];
[paths addObjectsFromArray:[newCurrentAnnotation pagePaths]];
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