Revision: 7810
http://skim-app.svn.sourceforge.net/skim-app/?rev=7810&view=rev
Author: hofman
Date: 2012-12-06 12:38:41 +0000 (Thu, 06 Dec 2012)
Log Message:
-----------
Use newer NSURL method to check for file existence. Move unqiueFileURL to NSURL
category. Some more replacement of path based code to URL based code.
Modified Paths:
--------------
trunk/NSDocument_SKExtensions.m
trunk/NSFileManager_SKExtensions.h
trunk/NSFileManager_SKExtensions.m
trunk/NSURL_SKExtensions.h
trunk/NSURL_SKExtensions.m
trunk/SKAttachmentEmailer.m
trunk/SKBookmark.m
trunk/SKConversionProgressController.h
trunk/SKConversionProgressController.m
trunk/SKDocumentController.m
trunk/SKDownloadController.m
trunk/SKDragImageView.m
trunk/SKFileUpdateChecker.m
trunk/SKMainDocument.m
trunk/SKMainWindowController_UI.m
trunk/SKNoteWindowController.m
trunk/SKNotesDocument.m
trunk/SKTemplateManager.m
Modified: trunk/NSDocument_SKExtensions.m
===================================================================
--- trunk/NSDocument_SKExtensions.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/NSDocument_SKExtensions.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -290,7 +290,7 @@
- (BOOL)isPDFDocument { return NO; }
- (void)handleRevertScriptCommand:(NSScriptCommand *)command {
- if ([self fileURL] && [[NSFileManager defaultManager]
fileExistsAtURL:[self fileURL]]) {
+ if ([self fileURL] && [[self fileURL]
checkResourceIsReachableAndReturnError:NULL]) {
if ([self revertToContentsOfURL:[self fileURL] ofType:[self fileType]
error:NULL] == NO) {
[command setScriptErrorNumber:NSInternalScriptError];
[command setScriptErrorString:@"Revert failed."];
Modified: trunk/NSFileManager_SKExtensions.h
===================================================================
--- trunk/NSFileManager_SKExtensions.h 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/NSFileManager_SKExtensions.h 2012-12-06 12:38:41 UTC (rev 7810)
@@ -41,13 +41,10 @@
@interface NSFileManager (SKExtensions)
-- (BOOL)fileExistsAtURL:(NSURL *)aURL;
-
- (BOOL)isTrashedFileAtURL:(NSURL *)aURL;
- (NSArray *)applicationSupportDirectoryURLs;
-- (NSURL *)uniqueFileURL:(NSURL *)fileURL;
- (NSURL *)uniqueChewableItemsDirectoryURL;
- (NSURL *)temporaryDirectoryURL;
Modified: trunk/NSFileManager_SKExtensions.m
===================================================================
--- trunk/NSFileManager_SKExtensions.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/NSFileManager_SKExtensions.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -41,10 +41,6 @@
@implementation NSFileManager (SKExtensions)
-- (BOOL)fileExistsAtURL:(NSURL *)aURL {
- return [self fileExistsAtPath:[aURL path]];
-}
-
- (BOOL)isTrashedFileAtURL:(NSURL *)aURL {
NSCParameterAssert([aURL isFileURL]);
FSRef fileRef;
@@ -62,24 +58,13 @@
if (applicationSupportDirectoryURLs == nil) {
NSMutableArray *urlArray = [NSMutableArray array];
NSString *appName = [[NSBundle mainBundle]
objectForInfoDictionaryKey:(NSString *)kCFBundleNameKey];
- for (NSURL *url in [[NSFileManager defaultManager]
URLsForDirectory:NSApplicationSupportDirectory inDomains:NSAllDomainsMask])
+ for (NSURL *url in [self
URLsForDirectory:NSApplicationSupportDirectory inDomains:NSAllDomainsMask])
[urlArray addObject:[url URLByAppendingPathComponent:appName]];
applicationSupportDirectoryURLs = [urlArray copy];
}
return applicationSupportDirectoryURLs;
}
-- (NSURL *)uniqueFileURL:(NSURL *)fileURL {
- NSURL *uniqueFileURL = fileURL;
- NSURL *baseURL = [fileURL URLByDeletingLastPathComponent];
- NSString *baseName = [[fileURL lastPathComponent]
stringByDeletingPathExtension];
- NSString *extension = [fileURL pathExtension];
- NSInteger i = 0;
- while ([self fileExistsAtURL:uniqueFileURL])
- uniqueFileURL = [baseURL URLByAppendingPathComponent:[[baseName
stringByAppendingFormat:@"-%ld", (long)++i]
stringByAppendingPathExtension:extension]];
- return uniqueFileURL;
-}
-
- (NSURL *)uniqueChewableItemsDirectoryURL {
// chewable items are automatically cleaned up at restart, and it's hidden
from the user
static NSURL *chewableItemsDirectoryURL = nil;
@@ -89,7 +74,7 @@
NSURL *chewableURL = (NSURL
*)CFURLCreateFromFSRef(kCFAllocatorDefault, &chewableRef);
NSString *appName = [[NSBundle mainBundle]
objectForInfoDictionaryKey:(NSString *)kCFBundleNameKey];
chewableItemsDirectoryURL = [[chewableURL
URLByAppendingPathComponent:appName] copy];
- if ([self fileExistsAtURL:chewableItemsDirectoryURL] == NO)
+ if ([chewableItemsDirectoryURL
checkResourceIsReachableAndReturnError:NULL] == NO)
[self createDirectoryAtPath:[chewableItemsDirectoryURL path]
withIntermediateDirectories:NO attributes:nil error:NULL];
[chewableURL release];
}
@@ -101,7 +86,7 @@
CFUUIDRef uuid = CFUUIDCreate(NULL);
uniqueURL = [chewableItemsDirectoryURL
URLByAppendingPathComponent:[(NSString *)CFUUIDCreateString(NULL, uuid)
autorelease]];
CFRelease(uuid);
- } while ([self fileExistsAtURL:uniqueURL]);
+ } while ([uniqueURL checkResourceIsReachableAndReturnError:NULL]);
[self createDirectoryAtPath:[uniqueURL path]
withIntermediateDirectories:NO attributes:nil error:NULL];
@@ -116,7 +101,7 @@
temporaryDirectoryURL = [[NSURL alloc] initFileURLWithPath:[self
stringWithFileSystemRepresentation:tempPath length:strlen(tempPath)] ];
free(template);
}
- if ([self fileExistsAtURL:temporaryDirectoryURL] == NO)
+ if ([temporaryDirectoryURL checkResourceIsReachableAndReturnError:NULL] ==
NO)
[self createDirectoryAtPath:[temporaryDirectoryURL path]
withIntermediateDirectories:YES attributes:nil error:NULL];
return temporaryDirectoryURL;
}
Modified: trunk/NSURL_SKExtensions.h
===================================================================
--- trunk/NSURL_SKExtensions.h 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/NSURL_SKExtensions.h 2012-12-06 12:38:41 UTC (rev 7810)
@@ -49,6 +49,8 @@
- (NSURL *)URLReplacingPathExtension:(NSString *)ext;
- (NSString *)lastPathComponentReplacingPathExtension:(NSString *)ext;
+- (NSURL *)uniqueFileURL;
+
- (NSAttributedString *)icon;
- (NSAttributedString *)smallIcon;
Modified: trunk/NSURL_SKExtensions.m
===================================================================
--- trunk/NSURL_SKExtensions.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/NSURL_SKExtensions.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -117,6 +117,17 @@
return [[self URLReplacingPathExtension:ext] lastPathComponent];
}
+- (NSURL *)uniqueFileURL {
+ NSURL *uniqueFileURL = self;
+ NSURL *baseURL = [self URLByDeletingLastPathComponent];
+ NSString *baseName = [[self lastPathComponent]
stringByDeletingPathExtension];
+ NSString *extension = [self pathExtension];
+ NSInteger i = 0;
+ while ([uniqueFileURL checkResourceIsReachableAndReturnError:NULL])
+ uniqueFileURL = [baseURL URLByAppendingPathComponent:[[baseName
stringByAppendingFormat:@"-%ld", (long)++i]
stringByAppendingPathExtension:extension]];
+ return uniqueFileURL;
+}
+
- (NSAttributedString *)icon {
NSAttributedString *attrString = nil;
Modified: trunk/SKAttachmentEmailer.m
===================================================================
--- trunk/SKAttachmentEmailer.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKAttachmentEmailer.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -126,7 +126,7 @@
}
- (void)taskFinished:(NSNotification *)notification {
- if ([[NSFileManager defaultManager] fileExistsAtURL:fileURL] &&
[[notification object] terminationStatus] == 0)
+ if ([fileURL checkResourceIsReachableAndReturnError:NULL] &&
[[notification object] terminationStatus] == 0)
[self emailAttachmentFile];
else
NSBeep();
Modified: trunk/SKBookmark.m
===================================================================
--- trunk/SKBookmark.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKBookmark.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -632,7 +632,7 @@
if (aURL == nil) {
[[NSScriptCommand currentCommand]
setScriptErrorNumber:NSRequiredArgumentsMissingScriptError];
[[NSScriptCommand currentCommand]
setScriptErrorString:@"New file bookmark requires a file."];
- } else if ([[NSFileManager defaultManager]
fileExistsAtURL:aURL] == NO) {
+ } else if ([aURL checkResourceIsReachableAndReturnError:NULL]
== NO) {
[[NSScriptCommand currentCommand]
setScriptErrorNumber:NSArgumentsWrongScriptError];
[[NSScriptCommand currentCommand]
setScriptErrorString:@"New file bookmark requires an existing file."];
} else if ((docClass = [[NSDocumentController
sharedDocumentController] documentClassForContentsOfURL:aURL])) {
Modified: trunk/SKConversionProgressController.h
===================================================================
--- trunk/SKConversionProgressController.h 2012-11-30 16:26:30 UTC (rev
7809)
+++ trunk/SKConversionProgressController.h 2012-12-06 12:38:41 UTC (rev
7810)
@@ -46,7 +46,7 @@
NSString *fileType;
CGPSConverterRef converter;
NSTask *task;
- NSString *outputFile;
+ NSURL *outputFileURL;
NSData *outputData;
BOOL cancelled;
}
Modified: trunk/SKConversionProgressController.m
===================================================================
--- trunk/SKConversionProgressController.m 2012-11-30 16:26:30 UTC (rev
7809)
+++ trunk/SKConversionProgressController.m 2012-12-06 12:38:41 UTC (rev
7810)
@@ -136,7 +136,7 @@
- (void)dealloc {
SKCFDESTROY(converter);
- SKDESTROY(outputFile);
+ SKDESTROY(outputFileURL);
SKDESTROY(outputData);
SKDESTROY(task);
SKDESTROY(cancelButton);
@@ -310,15 +310,15 @@
- (void)taskFinished:(NSNotification *)notification {
NSData *outData = nil;
BOOL success = [[notification object] terminationStatus] == 0 &&
- [[NSFileManager defaultManager]
fileExistsAtPath:outputFile] &&
+ [outputFileURL checkResourceIsReachableAndReturnError:NULL]
&&
cancelled == NO;
SKDESTROY(task);
if (success)
- outData = [NSData dataWithContentsOfFile:outputFile];
+ outData = [NSData dataWithContentsOfURL:outputFileURL];
- if ([[outputFile pathExtension] isCaseInsensitiveEqual:@"ps"]) {
+ if ([[outputFileURL pathExtension] isCaseInsensitiveEqual:@"ps"]) {
[self convertPostScriptData:outData];
} else {
if (success)
@@ -335,23 +335,22 @@
cancelled = NO;
NSFileManager *fm = [NSFileManager defaultManager];
- NSString *dviFile = [dviURL path];
NSString *commandName = [toolPath lastPathComponent];
NSURL *tmpDirURL = [fm URLForDirectory:NSItemReplacementDirectory
inDomain:NSUserDomainMask appropriateForURL:dviURL create:YES error:NULL];
BOOL outputPS = [commandName isEqualToString:@"dvips"];
- NSString *outFile = [[tmpDirURL URLByAppendingPathComponent:[dviURL
lastPathComponentReplacingPathExtension:outputPS ? @"ps" : @"pdf"]] path];
- NSArray *arguments = [commandName isEqualToString:@"dvipdf"] ? [NSArray
arrayWithObjects:dviFile, outFile, nil] : [NSArray arrayWithObjects:@"-o",
outFile, dviFile, nil];
+ NSURL *outFileURL = [tmpDirURL URLByAppendingPathComponent:[dviURL
lastPathComponentReplacingPathExtension:outputPS ? @"ps" : @"pdf"]];
+ NSArray *arguments = [commandName isEqualToString:@"dvipdf"] ? [NSArray
arrayWithObjects:[dviURL path], [outFileURL path], nil] : [NSArray
arrayWithObjects:@"-o", [outFileURL path], [dviURL path], nil];
task = [[NSTask alloc] init];
[task setLaunchPath:toolPath];
[task setArguments:arguments];
- [task setCurrentDirectoryPath:[dviFile stringByDeletingLastPathComponent]];
+ [task setCurrentDirectoryPath:[[dviURL URLByDeletingLastPathComponent]
path]];
[task setStandardOutput:[NSFileHandle fileHandleWithNullDevice]];
[task setStandardError:[NSFileHandle fileHandleWithNullDevice]];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(taskFinished:) name:NSTaskDidTerminateNotification
object:task];
- outputFile = [outFile retain];
+ outputFileURL = [outFileURL retain];
NSInteger rv = [self runModalBlock:^{
@try {
Modified: trunk/SKDocumentController.m
===================================================================
--- trunk/SKDocumentController.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKDocumentController.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -314,7 +314,7 @@
NSURL *fileURL = [[BDAlias aliasWithData:[setup
objectForKey:SKDocumentSetupAliasKey]] fileURL];
if(fileURL == nil && [setup objectForKey:SKDocumentSetupFileNameKey])
fileURL = [NSURL fileURLWithPath:[setup
objectForKey:SKDocumentSetupFileNameKey]];
- if(fileURL && [[NSFileManager defaultManager] fileExistsAtURL:fileURL] &&
NO == [[NSFileManager defaultManager] isTrashedFileAtURL:fileURL]) {
+ if(fileURL && [fileURL checkResourceIsReachableAndReturnError:NULL] && NO
== [[NSFileManager defaultManager] isTrashedFileAtURL:fileURL]) {
if ((document = [self documentForURL:fileURL])) {
// the document was already open, don't call makeWindowControllers
because that adds new empty windows
[document applySetup:setup];
@@ -344,7 +344,7 @@
NSAppleEventDescriptor *event = [[NSAppleEventManager
sharedAppleEventManager] currentAppleEvent];
if ([event eventID] == kAEOpenDocuments && [event
descriptorForKeyword:keyAESearchText]) {
NSURL *pdfURL = [absoluteURL URLReplacingPathExtension:@"pdf"];
- if ([[NSFileManager defaultManager] fileExistsAtURL:pdfURL])
+ if ([pdfURL checkResourceIsReachableAndReturnError:NULL])
absoluteURL = pdfURL;
}
} else if ([ws type:type conformsToType:SKFolderDocumentType]) {
Modified: trunk/SKDownloadController.m
===================================================================
--- trunk/SKDownloadController.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKDownloadController.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -481,7 +481,7 @@
menuItem = [menu addItemWithTitle:NSLocalizedString(@"Resume",
@"Menu item title") action:@selector(resumeDownload:) target:self];
[menuItem setRepresentedObject:download];
}
- if ([download status] == SKDownloadStatusFinished && [[NSFileManager
defaultManager] fileExistsAtURL:[download fileURL]]) {
+ if ([download status] == SKDownloadStatusFinished && [[download
fileURL] checkResourceIsReachableAndReturnError:NULL]) {
menuItem = [menu addItemWithTitle:[NSLocalizedString(@"Open",
@"Menu item title") stringByAppendingEllipsis]
action:@selector(openDownloadedFile:) target:self];
[menuItem setRepresentedObject:download];
Modified: trunk/SKDragImageView.m
===================================================================
--- trunk/SKDragImageView.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKDragImageView.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -40,6 +40,7 @@
#import "NSMenu_SKExtensions.h"
#import "NSEvent_SKExtensions.h"
#import "NSFileManager_SKExtensions.h"
+#import "NSURL_SKExtensions.h"
@implementation SKDragImageView
@@ -57,7 +58,7 @@
NSFileManager *fm = [NSFileManager defaultManager];
NSURL *fileURL = [[fm temporaryDirectoryURL]
URLByAppendingPathComponent:@"SkimNote.tiff"];
- fileURL = [fm uniqueFileURL:fileURL];
+ fileURL = [fileURL uniqueFileURL];
[[image TIFFRepresentation] writeToURL:fileURL atomically:YES];
[[NSWorkspace sharedWorkspace] openURL:fileURL];
}
Modified: trunk/SKFileUpdateChecker.m
===================================================================
--- trunk/SKFileUpdateChecker.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKFileUpdateChecker.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -181,22 +181,23 @@
fucFlags.receivedFileUpdateNotification = NO;
}
-- (BOOL)canUpdateFromFile:(NSString *)fileName {
- NSString *extension = [fileName pathExtension];
+- (BOOL)canUpdateFromURL:(NSURL *)fileURL {
+ NSString *extension = [fileURL pathExtension];
BOOL isDVI = NO;
if (extension) {
NSWorkspace *ws = [NSWorkspace sharedWorkspace];
- NSString *theUTI = [ws typeOfFile:[[fileName
stringByStandardizingPath] stringByResolvingSymlinksInPath] error:NULL];
+ NSString *theUTI = [ws typeOfFile:[[[fileURL URLByStandardizingPath]
URLByResolvingSymlinksInPath] path] error:NULL];
if ([extension isCaseInsensitiveEqual:@"pdfd"] || [ws type:theUTI
conformsToType:@"net.sourceforge.skim-app.pdfd"]) {
- fileName = [[NSFileManager defaultManager]
bundledFileWithExtension:@"pdf" inPDFBundleAtPath:fileName error:NULL];
+ NSString *fileName = [[NSFileManager defaultManager]
bundledFileWithExtension:@"pdf" inPDFBundleAtPath:[fileURL path] error:NULL];
if (fileName == nil)
return NO;
+ fileURL = [NSURL fileURLWithPath:fileName];
} else if ([extension isCaseInsensitiveEqual:@"dvi"] || [extension
isCaseInsensitiveEqual:@"xdv"]) {
isDVI = YES;
}
}
- NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:fileName];
+ NSFileHandle *fh = [NSFileHandle fileHandleForReadingFromURL:fileURL
error:NULL];
// read the last 1024 bytes of the file (or entire file); Adobe's spec
says they allow %%EOF anywhere in that range
unsigned long long fileEnd = [fh seekToEndOfFile];
@@ -216,14 +217,14 @@
}
- (void)fileUpdated {
- NSString *fileName = [[document fileURL] path];
+ NSURL *fileURL = [document fileURL];
// should never happen
if (fucFlags.isUpdatingFile)
- NSLog(@"*** already busy updating file %@", fileName);
+ NSLog(@"*** already busy updating file %@", [fileURL path]);
if ([[NSUserDefaults standardUserDefaults]
boolForKey:SKAutoCheckFileUpdateKey] &&
- [[NSFileManager defaultManager] fileExistsAtPath:fileName]) {
+ [fileURL checkResourceIsReachableAndReturnError:NULL]) {
fucFlags.fileChangedOnDisk = YES;
@@ -236,7 +237,7 @@
if ([docWindow attachedSheet]) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleWindowDidEndSheetNotification:)
name:NSWindowDidEndSheetNotification object:docWindow];
- } else if ([self canUpdateFromFile:fileName]) {
+ } else if ([self canUpdateFromURL:fileURL]) {
BOOL shouldAutoUpdate = fucFlags.autoUpdate || [[NSUserDefaults
standardUserDefaults] boolForKey:SKAutoReloadFileUpdateKey];
BOOL documentHasEdits = [document isDocumentEdited] || [[document
notes] count] > 0;
if (fucFlags.disableAutoReload == NO && shouldAutoUpdate &&
documentHasEdits == NO) {
Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKMainDocument.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -424,7 +424,7 @@
if ([[NSUserDefaults standardUserDefaults]
boolForKey:SKAutoSaveSkimNotesKey]) {
NSURL *notesURL = [absoluteURL URLReplacingPathExtension:@"skim"];
- BOOL fileExists = [fm fileExistsAtURL:notesURL];
+ BOOL fileExists = [notesURL
checkResourceIsReachableAndReturnError:NULL];
if (fileExists && (saveOperation == NSSaveAsOperation || saveOperation
== NSSaveToOperation)) {
NSAlert *alert = [NSAlert alertWithMessageText:[NSString
stringWithFormat:NSLocalizedString(@"\"%@\" already exists. Do you want to
replace it?", @"Message in alert dialog"), [notesURL lastPathComponent]]
@@ -831,7 +831,7 @@
}
if (pdfDoc) {
NSURL *url = [absoluteURL
URLReplacingPathExtension:@"skim"];
- if ([[NSFileManager defaultManager] fileExistsAtURL:url]) {
+ if ([url checkResourceIsReachableAndReturnError:NULL]) {
NSInteger readOption = [[NSUserDefaults
standardUserDefaults] integerForKey:SKReadMissingNotesFromSkimFileOptionKey];
if (readOption == NSAlertOtherReturn) {
NSAlert *alert = [NSAlert
alertWithMessageText:NSLocalizedString(@"Found Separate Notes", @"Message in
alert dialog")
@@ -1153,7 +1153,7 @@
- (IBAction)saveArchive:(id)sender {
NSURL *fileURL = [self fileURL];
- if (fileURL && [[NSFileManager defaultManager] fileExistsAtURL:fileURL] &&
[self isDocumentEdited] == NO) {
+ if (fileURL && [fileURL checkResourceIsReachableAndReturnError:NULL] &&
[self isDocumentEdited] == NO) {
NSSavePanel *sp = [NSSavePanel savePanel];
[sp setAllowedFileTypes:[NSArray arrayWithObjects:@"tgz", nil]];
[sp setCanCreateDirectories:YES];
@@ -1169,8 +1169,8 @@
}
- (IBAction)emailArchive:(id)sender {
- NSString *path = [[self fileURL] path];
- if (path && [[NSFileManager defaultManager] fileExistsAtPath:path] &&
[self isDocumentEdited] == NO) {
+ NSURL *fileURL = [self fileURL];
+ if ([fileURL checkResourceIsReachableAndReturnError:NULL] && [self
isDocumentEdited] == NO) {
NSURL *tmpDirURL = [[NSFileManager defaultManager]
uniqueChewableItemsDirectoryURL];
NSURL *tmpFileURL = [tmpDirURL URLByAppendingPathComponent:[[self
fileURL] lastPathComponentReplacingPathExtension:@"tgz"]];
[self saveArchiveToURL:tmpFileURL email:YES];
@@ -1202,7 +1202,7 @@
- (IBAction)saveDiskImage:(id)sender {
NSURL *fileURL = [self fileURL];
- if (fileURL && [[NSFileManager defaultManager] fileExistsAtURL:fileURL] &&
[self isDocumentEdited] == NO) {
+ if (fileURL && [fileURL checkResourceIsReachableAndReturnError:NULL] &&
[self isDocumentEdited] == NO) {
NSSavePanel *sp = [NSSavePanel savePanel];
[sp setAllowedFileTypes:[NSArray arrayWithObjects:@"dmg", nil]];
[sp setCanCreateDirectories:YES];
@@ -1218,8 +1218,8 @@
}
- (IBAction)emailDiskImage:(id)sender {
- NSString *path = [[self fileURL] path];
- if (path && [[NSFileManager defaultManager] fileExistsAtPath:path] &&
[self isDocumentEdited] == NO) {
+ NSURL *fileURL = [self fileURL];
+ if ([fileURL checkResourceIsReachableAndReturnError:NULL] && [self
isDocumentEdited] == NO) {
NSURL *tmpDirURL = [[NSFileManager defaultManager]
uniqueChewableItemsDirectoryURL];
NSURL *tmpFileURL = [tmpDirURL URLByAppendingPathComponent:[[self
fileURL] lastPathComponentReplacingPathExtension:@"dmg"]];
[self saveDiskImageToURL:tmpFileURL email:YES];
@@ -1231,7 +1231,7 @@
- (IBAction)moveToTrash:(id)sender {
NSURL *fileURL = [self fileURL];
- if ([[NSFileManager defaultManager] fileExistsAtURL:fileURL]) {
+ if ([fileURL checkResourceIsReachableAndReturnError:NULL]) {
NSURL *folderURL = [fileURL URLByDeletingLastPathComponent];
NSString *fileName = [fileURL lastPathComponent];
NSInteger tag = 0;
@@ -1276,7 +1276,7 @@
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem {
if ([anItem action] == @selector(revertDocumentToSaved:)) {
- if ([self fileURL] == nil || [[NSFileManager defaultManager]
fileExistsAtURL:[self fileURL]] == NO)
+ if ([self fileURL] == nil || [[self fileURL]
checkResourceIsReachableAndReturnError:NULL] == NO)
return NO;
return [self isDocumentEdited] || [fileUpdateChecker
fileChangedOnDisk] ||
NSOrderedAscending == [[self fileModificationDate]
compare:[[[NSFileManager defaultManager] attributesOfItemAtPath:[[self fileURL]
path] error:NULL] fileModificationDate]];
@@ -1285,9 +1285,9 @@
} else if ([anItem action] == @selector(convertNotes:)) {
return [[NSWorkspace sharedWorkspace] type:[self fileType]
conformsToType:SKPDFDocumentType] && [[self pdfDocument] isLocked] == NO;
} else if ([anItem action] == @selector(saveArchive:) || [anItem action]
== @selector(saveDiskImage:) || [anItem action] == @selector(emailArchive:) ||
[anItem action] == @selector(emailDiskImage:)) {
- return [self fileURL] && [[NSFileManager defaultManager]
fileExistsAtURL:[self fileURL]] && [self isDocumentEdited] == NO;
+ return [self fileURL] && [[self fileURL]
checkResourceIsReachableAndReturnError:NULL] && [self isDocumentEdited] == NO;
} else if ([anItem action] == @selector(moveToTrash:)) {
- return [self fileURL] && [[NSFileManager defaultManager]
fileExistsAtURL:[self fileURL]];
+ return [self fileURL] && [[self fileURL]
checkResourceIsReachableAndReturnError:NULL];
}
return [super validateUserInterfaceItem:anItem];
}
@@ -1905,7 +1905,7 @@
}
- (void)handleRevertScriptCommand:(NSScriptCommand *)command {
- if ([self fileURL] && [[NSFileManager defaultManager]
fileExistsAtURL:[self fileURL]]) {
+ if ([self fileURL] && [[self fileURL]
checkResourceIsReachableAndReturnError:NULL]) {
if ([fileUpdateChecker isUpdatingFile] == NO && [self
revertToContentsOfURL:[self fileURL] ofType:[self fileType] error:NULL] == NO) {
[command setScriptErrorNumber:NSInternalScriptError];
[command setScriptErrorString:@"Revert failed."];
Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKMainWindowController_UI.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -75,7 +75,7 @@
#import "NSError_SKExtensions.h"
#import "PDFView_SKExtensions.h"
#import "NSInvocation_SKExtensions.h"
-#import "NSFileManager_SKExtensions.h"
+#import "NSURL_SKExtensions.h"
#define NOTES_KEY @"notes"
#define SNAPSHOTS_KEY @"snapshots"
@@ -346,7 +346,7 @@
data = [page TIFFDataForRect:[page boundsForBox:[pdfView
displayBox]]];
}
- fileURL = [[NSFileManager defaultManager] uniqueFileURL:[fileURL
URLByAppendingPathExtension:pathExt]];
+ fileURL = [[fileURL URLByAppendingPathExtension:pathExt]
uniqueFileURL];
if ([data writeToURL:fileURL atomically:YES])
return [NSArray arrayWithObjects:[fileURL lastPathComponent],
nil];
}
@@ -356,7 +356,7 @@
SKSnapshotWindowController *snapshot = [self
objectInSnapshotsAtIndex:idx];
PDFPage *page = [[pdfView document] pageAtIndex:[snapshot
pageIndex]];
NSURL *fileURL = [[dropDestination
URLByAppendingPathComponent:[self draggedFileNameForPage:page]]
URLByAppendingPathExtension:@"tiff"];
- fileURL = [[NSFileManager defaultManager] uniqueFileURL:fileURL];
+ fileURL = [fileURL uniqueFileURL];
if ([[[snapshot thumbnailWithSize:0.0] TIFFRepresentation]
writeToURL:fileURL atomically:YES])
return [NSArray arrayWithObjects:[fileURL lastPathComponent],
nil];
}
Modified: trunk/SKNoteWindowController.m
===================================================================
--- trunk/SKNoteWindowController.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKNoteWindowController.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -55,7 +55,7 @@
#import "NSGraphics_SKExtensions.h"
#import "SKNoteTextView.h"
#import "NSInvocation_SKExtensions.h"
-#import "NSFileManager_SKExtensions.h"
+#import "NSURL_SKExtensions.h"
#define EM_DASH_CHARACTER (unichar)0x2014
@@ -348,7 +348,7 @@
name = @"NoteImage";
name = [name stringByAppendingPathExtension:@"tiff"];
NSURL *fileURL = [[dropDestination URLByAppendingPathComponent:name]
URLByAppendingPathExtension:@"tiff"];
- fileURL = [[NSFileManager defaultManager] uniqueFileURL:fileURL];
+ fileURL = [fileURL uniqueFileURL];
if ([[image TIFFRepresentation] writeToURL:fileURL atomically:YES])
return [NSArray arrayWithObjects:[fileURL lastPathComponent], nil];
}
Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKNotesDocument.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -284,7 +284,7 @@
} else if ([ws type:SKNotesFDFDocumentType conformsToType:typeName]) {
NSString *filename = nil;
NSURL *pdfURL = [[self fileURL] URLReplacingPathExtension:@"pdf"];
- if ([[NSFileManager defaultManager] fileExistsAtURL:pdfURL])
+ if ([pdfURL checkResourceIsReachableAndReturnError:NULL])
filename = [pdfURL lastPathComponent];
data = [self notesFDFDataForFile:filename fileIDStrings:nil];
} else {
@@ -440,7 +440,7 @@
- (IBAction)openPDF:(id)sender {
NSURL *url = sourceFileURL ?: [[self fileURL]
URLReplacingPathExtension:@"pdf"];
NSError *error = nil;
- if ([[NSFileManager defaultManager] fileExistsAtURL:url]) {
+ if ([url checkResourceIsReachableAndReturnError:NULL]) {
// resolve symlinks and aliases
NSNumber *isAlias = nil;
url = [url URLByResolvingSymlinksInPath];
@@ -830,7 +830,7 @@
if ([[[[[self windowControllers] objectAtIndex:0] window] toolbar]
customizationPaletteIsRunning])
return NO;
else if ([[toolbarItem itemIdentifier]
isEqualToString:SKNotesDocumentOpenPDFToolbarItemIdentifier])
- return [[NSFileManager defaultManager] fileExistsAtURL:(sourceFileURL
?: [[self fileURL] URLReplacingPathExtension:@"pdf"])];
+ return [(sourceFileURL ?: [[self fileURL]
URLReplacingPathExtension:@"pdf"]) checkResourceIsReachableAndReturnError:NULL];
return YES;
}
Modified: trunk/SKTemplateManager.m
===================================================================
--- trunk/SKTemplateManager.m 2012-11-30 16:26:30 UTC (rev 7809)
+++ trunk/SKTemplateManager.m 2012-12-06 12:38:41 UTC (rev 7810)
@@ -91,7 +91,7 @@
for (NSURL *appSupportURL in [[fm applicationSupportDirectoryURLs]
arrayByAddingObject:[[NSBundle mainBundle] sharedSupportPath]]) {
url = [[appSupportURL URLByAppendingPathComponent:TEMPLATES_DIRECTORY]
URLByAppendingPathComponent:typeName];
- if ([fm fileExistsAtURL:url] == NO)
+ if ([url checkResourceIsReachableAndReturnError:NULL] == NO)
url = nil;
else break;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit