Revision: 13512
          http://sourceforge.net/p/skim-app/code/13512
Author:   hofman
Date:     2023-06-26 22:59:51 +0000 (Mon, 26 Jun 2023)
Log Message:
-----------
redirect relative links in pdfd document to file URL relative to enclosing pdfd 
bundle

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

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2023-06-26 14:03:41 UTC (rev 13511)
+++ trunk/SKMainWindowController_UI.m   2023-06-26 22:59:51 UTC (rev 13512)
@@ -1418,6 +1418,15 @@
 
 - (void)PDFViewWillClickOnLink:(PDFView *)sender withURL:(NSURL *)url {
     SKDocumentController *sdc = [NSDocumentController 
sharedDocumentController];
+    if ([url isFileURL] && [[[self document] fileType] 
isEqualToString:SKPDFBundleDocumentType] && [url 
checkResourceIsReachableAndReturnError:NULL] == NO) {
+        NSString *path = [url path];
+        NSURL *docURL = [[self document] fileURL];
+        NSString *docPath = [docURL path];
+        if ([docPath hasSuffix:@"/"] == NO)
+            docPath = [docPath stringByAppendingString:@"/"];
+        if ([path hasPrefix:docPath])
+            url = [[docURL URLByDeletingLastPathComponent] 
URLByAppendingPathComponent:[path substringFromIndex:[docPath length]]];
+    }
     if ([url isFileURL] && [sdc documentClassForContentsOfURL:url]) {
         [sdc openDocumentWithContentsOfURL:url display:YES 
completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError 
*error){
             if (document == nil && error && [error isUserCancelledError] == NO)

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