Revision: 26835
          http://sourceforge.net/p/bibdesk/svn/26835
Author:   hofman
Date:     2021-09-09 17:14:59 +0000 (Thu, 09 Sep 2021)
Log Message:
-----------
Save file links using bookmark data

Modified Paths:
--------------
    trunk/bibdesk/BDSKAppController.m
    trunk/bibdesk/BDSKApplication.m
    trunk/bibdesk/BDSKMetadataCacheOperation.m
    trunk/bibdesk/BDSKTemplate.m
    trunk/bibdesk/BibPref_General.m

Modified: trunk/bibdesk/BDSKAppController.m
===================================================================
--- trunk/bibdesk/BDSKAppController.m   2021-09-09 16:50:27 UTC (rev 26834)
+++ trunk/bibdesk/BDSKAppController.m   2021-09-09 17:14:59 UTC (rev 26835)
@@ -317,9 +317,9 @@
     // legacy pref key removed prior to release of 1.3.1 (stored path instead 
of alias)
     NSString *filePath = [sud objectForKey:@"Default Bib File"];
     if (filePath) {
-        NSData *data = [[NSURL fileURLWithPath:filePath isDirectory:NO] 
aliasData];
+        NSData *data = [[NSURL fileURLWithPath:filePath isDirectory:NO] 
bookmarkDataWithOptions:0 includingResourceValuesForKeys:nil relativeToURL:nil 
error:NULL];
         if (data) {
-            [sud setObject:data forKey:BDSKDefaultBibFileAliasKey];
+            [sud setObject:data forKey:BDSKDefaultBibFileBookmarkKey];
             [sud removeObjectForKey:@"Default Bib File"];
         }
     }

Modified: trunk/bibdesk/BDSKApplication.m
===================================================================
--- trunk/bibdesk/BDSKApplication.m     2021-09-09 16:50:27 UTC (rev 26834)
+++ trunk/bibdesk/BDSKApplication.m     2021-09-09 17:14:59 UTC (rev 26835)
@@ -60,8 +60,8 @@
     NSMutableArray *array = [NSMutableArray arrayWithCapacity:[docs count]];
     for (NSDocument *doc in docs){
         NSURL *fileURL = [doc fileURL];
-        NSData *data = [fileURL aliasData];
-        [array addObject:[NSDictionary dictionaryWithObjectsAndKeys:[fileURL 
path], @"fileName", data, @"_BDAlias", nil]];
+        NSData *data = [fileURL bookmarkDataWithOptions:0 
includingResourceValuesForKeys:nil relativeToURL:nil error:NULL];
+        [array addObject:[NSDictionary dictionaryWithObjectsAndKeys:[fileURL 
path], @"fileName", data, @"bookmark", nil]];
     }
     [[NSUserDefaults standardUserDefaults] setObject:array 
forKey:BDSKLastOpenFileNamesKey];
     

Modified: trunk/bibdesk/BDSKMetadataCacheOperation.m
===================================================================
--- trunk/bibdesk/BDSKMetadataCacheOperation.m  2021-09-09 16:50:27 UTC (rev 
26834)
+++ trunk/bibdesk/BDSKMetadataCacheOperation.m  2021-09-09 17:14:59 UTC (rev 
26835)
@@ -94,13 +94,13 @@
             @throw [NSException 
exceptionWithName:NSInternalInconsistencyException reason:[NSString 
stringWithFormat:@"Unable to build metadata cache for document at path \"%@\"", 
docPath] userInfo:nil];
         }
         
-        NSData *aliasData = [documentURL aliasData];
-        if (aliasData == nil) {
+        NSData *bookmarkData = [documentURL bookmarkDataWithOptions:0 
includingResourceValuesForKeys:nil relativeToURL:nil error:NULL];
+        if (bookmarkData == nil) {
             error = [NSError errorWithDomain:NSCocoaErrorDomain 
code:NSFileNoSuchFileError userInfo:[NSDictionary 
dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to create an alias for 
this document.", @"Error description"), NSLocalizedDescriptionKey, docPath, 
NSFilePathErrorKey, nil]];
             @throw [NSException 
exceptionWithName:NSObjectNotAvailableException reason:[NSString 
stringWithFormat:@"Unable to get an alias for file %@", docPath] userInfo:nil];
         }
         
-        NSDictionary *docInfo = [NSDictionary 
dictionaryWithObjectsAndKeys:docPath, 
@"net_sourceforge_bibdesk_owningfilepath", aliasData, @"FileAlias", nil];
+        NSDictionary *docInfo = [NSDictionary 
dictionaryWithObjectsAndKeys:docPath, 
@"net_sourceforge_bibdesk_owningfilepath", bookmarkData, @"FileBookmark", nil];
         
         for (NSDictionary *anItem in publicationInfos) {
             if ([self isCancelled]) {

Modified: trunk/bibdesk/BDSKTemplate.m
===================================================================
--- trunk/bibdesk/BDSKTemplate.m        2021-09-09 16:50:27 UTC (rev 26834)
+++ trunk/bibdesk/BDSKTemplate.m        2021-09-09 17:14:59 UTC (rev 26835)
@@ -615,13 +615,13 @@
 - (void)setRepresentedFileURL:(NSURL *)aURL;
 {
     BDSKASSERT([self isLeaf]);
-    NSData *data = [aURL aliasData];
+    NSData *data = [aURL bookmarkDataWithOptions:0 
includingResourceValuesForKeys:nil relativeToURL:nil error:NULL];
 
     if (data) {
         NSString *name = [aURL lastPathComponent];
         
-        [self setValue:data forKey:BDSKTemplateAliasString];
-        [self setValue:nil forKey:BDSKTemplateBookmarkString];
+        [self setValue:data forKey:BDSKTemplateBookmarkString];
+        [self setValue:nil forKey:BDSKTemplateAliasString];
         
         [self setValue:[[aURL path] stringByAbbreviatingWithTildeInPath] 
forKey:BDSKTemplateFilePathString];
         
@@ -655,14 +655,14 @@
             theURL = [NSURL fileURLWithPath:path isDirectory:NO];
             wantsReset = YES;
         }
-    } else if (bmData) {
+    } else if (aliasData) {
         wantsReset = YES;
     }
     if (wantsReset) {
-        aliasData = [theURL aliasData];
+        bmData = [theURL bookmarkDataWithOptions:0 
includingResourceValuesForKeys:nil relativeToURL:nil error:NULL];
         if (aliasData) {
-            [self setValue:aliasData forKey:BDSKTemplateAliasString];
-            [self setValue:nil forKey:BDSKTemplateBookmarkString];
+            [self setValue:bmData forKey:BDSKTemplateBookmarkString];
+            [self setValue:nil forKey:BDSKTemplateAliasString];
         }
     }
     return theURL;
@@ -681,14 +681,14 @@
             theURL = [NSURL fileURLWithPath:path isDirectory:NO];
             wantsReset = YES;
         }
-    } else if (bmData) {
+    } else if (aliasData) {
         wantsReset = YES;
     }
     if (wantsReset) {
-        aliasData = [theURL aliasData];
-        if (aliasData) {
-            [self setValue:aliasData forKey:BDSKTemplateAliasString];
-            [self setValue:nil forKey:BDSKTemplateBookmarkString];
+        bmData = [theURL bookmarkDataWithOptions:0 
includingResourceValuesForKeys:nil relativeToURL:nil error:NULL];
+        if (bmData) {
+            [self setValue:bmData forKey:BDSKTemplateBookmarkString];
+            [self setValue:nil forKey:BDSKTemplateAliasString];
         }
     }
     return theURL;

Modified: trunk/bibdesk/BibPref_General.m
===================================================================
--- trunk/bibdesk/BibPref_General.m     2021-09-09 16:50:27 UTC (rev 26834)
+++ trunk/bibdesk/BibPref_General.m     2021-09-09 17:14:59 UTC (rev 26835)
@@ -118,10 +118,10 @@
 - (IBAction)setAutoOpenFilePath:(id)sender{
     NSString *path = [[sender stringValue] stringByStandardizingPath];
     if (path) {
-        NSData *data = [[NSURL fileURLWithPath:path isDirectory:NO] aliasData];
+        NSData *data = [[NSURL fileURLWithPath:path isDirectory:NO] 
bookmarkDataWithOptions:0 includingResourceValuesForKeys:nil relativeToURL:nil 
error:NULL];
         if (data) {
-            [sud setObject:data forKey:BDSKDefaultBibFileAliasKey];
-            [sud removeObjectForKey:BDSKDefaultBibFileBookmarkKey];
+            [sud setObject:data forKey:BDSKDefaultBibFileBookmarkKey];
+            [sud removeObjectForKey:BDSKDefaultBibFileAliasKey];
         }
     }
     [self updateDefaultBibFileUI];
@@ -135,10 +135,10 @@
     [openPanel setAllowedFileTypes:[NSArray arrayWithObjects:@"bib", nil]];
     [openPanel beginSheetModalForWindow:[[self view] window] 
completionHandler:^(NSInteger result){
         if (result == NSFileHandlingPanelOKButton) {
-            NSData *data = [[openPanel URL] aliasData];
+            NSData *data = [[openPanel URL] bookmarkDataWithOptions:0 
includingResourceValuesForKeys:nil relativeToURL:nil error:NULL];
             if (data) {
-                [sud setObject:data forKey:BDSKDefaultBibFileAliasKey];
-                [sud removeObjectForKey:BDSKDefaultBibFileBookmarkKey];
+                [sud setObject:data forKey:BDSKDefaultBibFileBookmarkKey];
+                [sud removeObjectForKey:BDSKDefaultBibFileAliasKey];
                 [sud setInteger:3 forKey:BDSKStartupBehaviorKey];
                 [self updateDefaultBibFileUI];
             }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to