Revision: 2683 http://skim-app.svn.sourceforge.net/skim-app/?rev=2683&view=rev Author: hofman Date: 2007-08-18 12:40:05 -0700 (Sat, 18 Aug 2007)
Log Message: ----------- Move some therad safe file functions to category file. Modified Paths: -------------- trunk/SKApplicationController.m trunk/SKBookmarkController.m trunk/SKDocument.m trunk/SKPDFSynchronizer.m trunk/Skim.xcodeproj/project.pbxproj Added Paths: ----------- trunk/Files_SKExtensions.h trunk/Files_SKExtensions.m Removed Paths: ------------- trunk/NSFileManager_SKExtensions.h trunk/NSFileManager_SKExtensions.m Copied: trunk/Files_SKExtensions.h (from rev 2682, trunk/NSFileManager_SKExtensions.h) =================================================================== --- trunk/Files_SKExtensions.h (rev 0) +++ trunk/Files_SKExtensions.h 2007-08-18 19:40:05 UTC (rev 2683) @@ -0,0 +1,46 @@ +// +// Files_SKExtensions.h +// Skim +// +// Created by Christiaan Hofman on 8/18/07. +/* + This software is Copyright (c) 2007 + Christiaan Hofman. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of Christiaan Hofman nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import <Cocoa/Cocoa.h> + +// These functions are thread safe + +extern BOOL SKFileIsInTrash(NSURL *fileURL); +extern BOOL SKFileExistsAtPath(NSString *path); +extern NSDate *SKFileModificationDateAtPath(NSString *path); +extern NSString *SKTemporaryDirectoryCreating(BOOL create); Copied: trunk/Files_SKExtensions.m (from rev 2682, trunk/NSFileManager_SKExtensions.m) =================================================================== --- trunk/Files_SKExtensions.m (rev 0) +++ trunk/Files_SKExtensions.m 2007-08-18 19:40:05 UTC (rev 2683) @@ -0,0 +1,102 @@ +// +// Files_SKExtensions.m +// Skim +// +// Created by Christiaan Hofman on 8/18/07. +/* + This software is Copyright (c) 2007 + Christiaan Hofman. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of Christiaan Hofman nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "Files_SKExtensions.h" +#import <Carbon/Carbon.h> + + +BOOL SKFileIsInTrash(NSURL *fileURL) { + NSCParameterAssert([fileURL isFileURL]); + FSRef parentRef; + CFURLRef parentURL = CFURLCreateCopyDeletingLastPathComponent(CFGetAllocator((CFURLRef)fileURL), (CFURLRef)fileURL); + [(id)parentURL autorelease]; + if (CFURLGetFSRef(parentURL, &parentRef)) { + OSStatus err; + FSRef fsRef; + err = FSFindFolder(kUserDomain, kTrashFolderType, TRUE, &fsRef); + if (noErr == err && noErr == FSCompareFSRefs(&fsRef, &parentRef)) + return YES; + + err = FSFindFolder(kOnAppropriateDisk, kSystemTrashFolderType, TRUE, &fsRef); + if (noErr == err && noErr == FSCompareFSRefs(&fsRef, &parentRef)) + return YES; + } + return NO; +} + +BOOL SKFileExistsAtPath(NSString *path) { + FSRef fileRef; + + if (path && noErr == FSPathMakeRef((UInt8 *)[path fileSystemRepresentation], &fileRef, NULL)) + return YES; + else + return NO; +} + +NSDate *SKFileModificationDateAtPath(NSString *path) { + FSRef fileRef; + FSCatalogInfo info; + CFAbsoluteTime absoluteTime; + + if (CFURLGetFSRef((CFURLRef)[NSURL fileURLWithPath:path], &fileRef) && + noErr == FSGetCatalogInfo(&fileRef, kFSCatInfoContentMod, &info, NULL, NULL, NULL) && + noErr == UCConvertUTCDateTimeToCFAbsoluteTime(&info.contentModDate, &absoluteTime)) + return [NSDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)absoluteTime]; + else + return nil; +} + +NSString *SKTemporaryDirectoryCreating(BOOL create) { + NSString *baseTmpDir = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSBundle mainBundle] bundleIdentifier]]; + NSString *tmpDir = baseTmpDir; + NSString *tmpDirName; + int i = 0; + BOOL success = YES; + + while (SKFileExistsAtPath(tmpDir)) + tmpDir = [baseTmpDir stringByAppendingFormat:@"-%i", ++i]; + + tmpDirName = [tmpDir lastPathComponent]; + if (success && create) { + FSRef tmpRef; + success = noErr == FSPathMakeRef((UInt8 *)[NSTemporaryDirectory() fileSystemRepresentation], &tmpRef, NULL) && + noErr == FSCreateDirectoryUnicode(&tmpRef, [tmpDirName length], (const UniChar *)[tmpDirName cStringUsingEncoding:NSUnicodeStringEncoding], kFSCatInfoNone, NULL, NULL, NULL, NULL); + } + + return success ? tmpDir : nil; +} Deleted: trunk/NSFileManager_SKExtensions.h =================================================================== --- trunk/NSFileManager_SKExtensions.h 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/NSFileManager_SKExtensions.h 2007-08-18 19:40:05 UTC (rev 2683) @@ -1,44 +0,0 @@ -// -// NSFileManager_SKExtensions.h -// Skim -// -// Created by Christiaan Hofman on 8/18/07. -/* - This software is Copyright (c) 2007 - Christiaan Hofman. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - - Neither the name of Christiaan Hofman nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import <Cocoa/Cocoa.h> - - [EMAIL PROTECTED] NSFileManager (SKExtensions) -- (BOOL)fileIsInTrash:(NSURL *)fileURL; [EMAIL PROTECTED] Deleted: trunk/NSFileManager_SKExtensions.m =================================================================== --- trunk/NSFileManager_SKExtensions.m 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/NSFileManager_SKExtensions.m 2007-08-18 19:40:05 UTC (rev 2683) @@ -1,63 +0,0 @@ -// -// NSFileManager_SKExtensions.m -// Skim -// -// Created by Christiaan Hofman on 8/18/07. -/* - This software is Copyright (c) 2007 - Christiaan Hofman. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - - Neither the name of Christiaan Hofman nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import "NSFileManager_SKExtensions.h" -#import <Carbon/Carbon.h> - [EMAIL PROTECTED] NSFileManager (SKExtensions) - -- (BOOL)fileIsInTrash:(NSURL *)fileURL { - NSCParameterAssert([fileURL isFileURL]); - FSRef parentRef; - CFURLRef parentURL = CFURLCreateCopyDeletingLastPathComponent(CFGetAllocator((CFURLRef)fileURL), (CFURLRef)fileURL); - [(id)parentURL autorelease]; - if (CFURLGetFSRef(parentURL, &parentRef)) { - OSStatus err; - FSRef fsRef; - err = FSFindFolder(kUserDomain, kTrashFolderType, TRUE, &fsRef); - if (noErr == err && noErr == FSCompareFSRefs(&fsRef, &parentRef)) - return YES; - - err = FSFindFolder(kOnAppropriateDisk, kSystemTrashFolderType, TRUE, &fsRef); - if (noErr == err && noErr == FSCompareFSRefs(&fsRef, &parentRef)) - return YES; - } - return NO; -} - [EMAIL PROTECTED] Modified: trunk/SKApplicationController.m =================================================================== --- trunk/SKApplicationController.m 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/SKApplicationController.m 2007-08-18 19:40:05 UTC (rev 2683) @@ -55,7 +55,7 @@ #import "SKDownloadController.h" #import "NSURL_SKExtensions.h" #import "SKDocumentController.h" -#import "NSFileManager_SKExtensions.h" +#import "Files_SKExtensions.h" @implementation SKApplicationController @@ -118,7 +118,7 @@ fileURL = [[BDAlias aliasWithData:[dict objectForKey:@"_BDAlias"]] fileURL]; if(fileURL == nil && [dict objectForKey:@"fileName"]) fileURL = [NSURL fileURLWithPath:[dict objectForKey:@"fileName"]]; - if(fileURL && NO == [[NSFileManager defaultManager] fileIsInTrash:fileURL]) { + if(fileURL && NO == SKFileIsInTrash(fileURL)) { if (document = [[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:fileURL display:NO error:&error]) { [document makeWindowControllers]; if ([document respondsToSelector:@selector(mainWindowController)]) Modified: trunk/SKBookmarkController.m =================================================================== --- trunk/SKBookmarkController.m 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/SKBookmarkController.m 2007-08-18 19:40:05 UTC (rev 2683) @@ -40,7 +40,7 @@ #import "BDAlias.h" #import "SKDocument.h" #import "SKMainWindowController.h" -#import "NSFileManager_SKExtensions.h" +#import "Files_SKExtensions.h" @implementation SKBookmarkController @@ -240,7 +240,7 @@ if (fileURL == nil && [bm objectForKey:@"path"]) fileURL = [NSURL fileURLWithPath:[bm objectForKey:@"path"]]; - if (fileURL && NO == [[NSFileManager defaultManager] fileIsInTrash:fileURL]) { + if (fileURL && NO == SKFileIsInTrash(fileURL)) { if (document = [[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:fileURL display:YES error:&error]) { [[document mainWindowController] setPageNumber:[[bm objectForKey:@"pageIndex"] unsignedIntValue] + 1]; } else { Modified: trunk/SKDocument.m =================================================================== --- trunk/SKDocument.m 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/SKDocument.m 2007-08-18 19:40:05 UTC (rev 2683) @@ -59,6 +59,7 @@ #import "SKInfoWindowController.h" #import "SKLine.h" #import "SKApplicationController.h" +#import "Files_SKExtensions.h" // maximum length of xattr value recommended by Apple #define MAX_XATTR_LENGTH 2048 @@ -590,21 +591,9 @@ NSAutoreleasePool *pool = [NSAutoreleasePool new]; - NSString *baseTmpDir = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSBundle mainBundle] bundleIdentifier]]; - NSString *tmpDir = baseTmpDir; - NSString *tmpDirName; - FSRef tmpRef; - int i = 0; - BOOL success = YES; + NSString *tmpDir = SKTemporaryDirectoryCreating(YES); + BOOL success = tmpDir != nil; - while (fnfErr != FSPathMakeRef((UInt8 *)[tmpDir fileSystemRepresentation], &tmpRef, NULL)) - tmpDir = [baseTmpDir stringByAppendingFormat:@"-%i", ++i]; - - tmpDirName = [tmpDir lastPathComponent]; - success = noErr == FSPathMakeRef((UInt8 *)[NSTemporaryDirectory() fileSystemRepresentation], &tmpRef, NULL); - if (success) - success = noErr == FSCreateDirectoryUnicode(&tmpRef, [tmpDirName length], (const UniChar *)[tmpDirName cStringUsingEncoding:NSUnicodeStringEncoding], kFSCatInfoNone, NULL, NULL, NULL, NULL); - NSString *sourcePath = [[[info objectForKey:@"sourcePath"] copy] autorelease]; NSString *targetPath = [[[info objectForKey:@"targetPath"] copy] autorelease]; NSString *name = [[targetPath lastPathComponent] stringByDeletingPathExtension]; Modified: trunk/SKPDFSynchronizer.m =================================================================== --- trunk/SKPDFSynchronizer.m 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/SKPDFSynchronizer.m 2007-08-18 19:40:05 UTC (rev 2683) @@ -40,31 +40,9 @@ #import "NSCharacterSet_SKExtensions.h" #import "NSScanner_SKExtensions.h" #import <Carbon/Carbon.h> +#import "Files_SKExtensions.h" -// NSFileManager is not thread safe -static BOOL SKFileExistsAtPath(NSString *path) { - FSRef fileRef; - - if (path && noErr == FSPathMakeRef((UInt8 *)[path fileSystemRepresentation], &fileRef, NULL)) - return YES; - else - return NO; -} - -static NSDate *SKFileModificationDateAtPath(NSString *path) { - FSRef fileRef; - FSCatalogInfo info; - CFAbsoluteTime absoluteTime; - - if (CFURLGetFSRef((CFURLRef)[NSURL fileURLWithPath:path], &fileRef) && - noErr == FSGetCatalogInfo(&fileRef, kFSCatInfoContentMod, &info, NULL, NULL, NULL) && - noErr == UCConvertUTCDateTimeToCFAbsoluteTime(&info.contentModDate, &absoluteTime)) - return [NSDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)absoluteTime]; - else - return nil; -} - static NSString *SKTeXSourceFile(NSString *file, NSString *base) { if ([[file pathExtension] caseInsensitiveCompare:@"tex"] != NSOrderedSame) file = [file stringByAppendingPathExtension:@"tex"]; Modified: trunk/Skim.xcodeproj/project.pbxproj =================================================================== --- trunk/Skim.xcodeproj/project.pbxproj 2007-08-18 18:50:01 UTC (rev 2682) +++ trunk/Skim.xcodeproj/project.pbxproj 2007-08-18 19:40:05 UTC (rev 2683) @@ -176,7 +176,7 @@ CEF711A10B90B714003A2771 /* NSUserDefaultsController_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF711A00B90B714003A2771 /* NSUserDefaultsController_SKExtensions.m */; }; CEF7175C0B90DEEF003A2771 /* ReleaseNotes.nib in Resources */ = {isa = PBXBuildFile; fileRef = CEF717560B90DEEF003A2771 /* ReleaseNotes.nib */; }; CEF7175F0B90DF10003A2771 /* SKReleaseNotesController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF7175E0B90DF10003A2771 /* SKReleaseNotesController.m */; }; - CEF839B30C77742A00A3AD51 /* NSFileManager_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF839B10C77742A00A3AD51 /* NSFileManager_SKExtensions.m */; }; + CEF839B30C77742A00A3AD51 /* Files_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF839B10C77742A00A3AD51 /* Files_SKExtensions.m */; }; CEFD68740C01D4080027B933 /* SkimImporter.mdimporter in CopyFiles */ = {isa = PBXBuildFile; fileRef = CEFD68690C01D3BB0027B933 /* SkimImporter.mdimporter */; }; CEFDF8BE0B3848C40091C61A /* SKNavigationWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFDF8BD0B3848C40091C61A /* SKNavigationWindow.m */; }; F92DB5AC0B36FE1F002A26E9 /* BDSKHeaderPopUpButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F92DB5A90B36FE1F002A26E9 /* BDSKHeaderPopUpButtonCell.m */; }; @@ -576,8 +576,8 @@ CEF717570B90DEEF003A2771 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/ReleaseNotes.nib; sourceTree = "<group>"; }; CEF7175D0B90DF10003A2771 /* SKReleaseNotesController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SKReleaseNotesController.h; sourceTree = "<group>"; }; CEF7175E0B90DF10003A2771 /* SKReleaseNotesController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SKReleaseNotesController.m; sourceTree = "<group>"; }; - CEF839B00C77742A00A3AD51 /* NSFileManager_SKExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSFileManager_SKExtensions.h; sourceTree = "<group>"; }; - CEF839B10C77742A00A3AD51 /* NSFileManager_SKExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSFileManager_SKExtensions.m; sourceTree = "<group>"; }; + CEF839B00C77742A00A3AD51 /* Files_SKExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Files_SKExtensions.h; sourceTree = "<group>"; }; + CEF839B10C77742A00A3AD51 /* Files_SKExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Files_SKExtensions.m; sourceTree = "<group>"; }; CEFD68610C01D3BB0027B933 /* SkimImporter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SkimImporter.xcodeproj; path = SkimImporter/SkimImporter.xcodeproj; sourceTree = "<group>"; }; CEFDF8BC0B3848C40091C61A /* SKNavigationWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKNavigationWindow.h; sourceTree = "<group>"; }; CEFDF8BD0B3848C40091C61A /* SKNavigationWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKNavigationWindow.m; sourceTree = "<group>"; }; @@ -781,8 +781,8 @@ CE2DE4ED0B85DB6300D0DA12 /* NSCursor_SKExtensions.m */, CE5487BA0B35A20A00F8AFB6 /* NSFileManager_ExtendedAttributes.h */, CE5487BB0B35A20A00F8AFB6 /* NSFileManager_ExtendedAttributes.m */, - CEF839B00C77742A00A3AD51 /* NSFileManager_SKExtensions.h */, - CEF839B10C77742A00A3AD51 /* NSFileManager_SKExtensions.m */, + CEF839B00C77742A00A3AD51 /* Files_SKExtensions.h */, + CEF839B10C77742A00A3AD51 /* Files_SKExtensions.m */, CECDC4FC0C5966A80026AAEC /* NSImage_SKExtensions.h */, CECDC4FD0C5966A80026AAEC /* NSImage_SKExtensions.m */, CE6C03EE0BEDF759007BF0B5 /* NSParagraphStyle_SKExtensions.h */, @@ -1455,7 +1455,7 @@ CEAA559E0C6DE235006BD633 /* SKDownload.m in Sources */, CEAA55B70C6DE452006BD633 /* SKProgressCell.m in Sources */, CEAA67260C70A882006BD633 /* NSURL_SKExtensions.m in Sources */, - CEF839B30C77742A00A3AD51 /* NSFileManager_SKExtensions.m in Sources */, + CEF839B30C77742A00A3AD51 /* Files_SKExtensions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit