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