Revision: 7075 http://skim-app.svn.sourceforge.net/skim-app/?rev=7075&view=rev Author: hofman Date: 2011-01-21 16:10:14 +0000 (Fri, 21 Jan 2011)
Log Message: ----------- convenience class factory method for our errors Modified Paths: -------------- trunk/NSDocument_SKExtensions.h trunk/NSDocument_SKExtensions.m trunk/SKConversionProgressController.m trunk/SKDocumentController.m trunk/SKMainDocument.m trunk/SKNotesDocument.m trunk/Skim.xcodeproj/project.pbxproj Added Paths: ----------- trunk/NSError_SKExtensions.h trunk/NSError_SKExtensions.m Modified: trunk/NSDocument_SKExtensions.h =================================================================== --- trunk/NSDocument_SKExtensions.h 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/NSDocument_SKExtensions.h 2011-01-21 16:10:14 UTC (rev 7075) @@ -39,15 +39,7 @@ #import <Cocoa/Cocoa.h> #import <Quartz/Quartz.h> -extern NSString *SKDocumentErrorDomain; - enum { - SKWriteFileError = 1, - SKReadFileError = 2, - SKReadPasteboardError = 3 -}; - -enum { SKNormalMode, SKFullScreenMode, SKPresentationMode Modified: trunk/NSDocument_SKExtensions.m =================================================================== --- trunk/NSDocument_SKExtensions.m 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/NSDocument_SKExtensions.m 2011-01-21 16:10:14 UTC (rev 7075) @@ -51,8 +51,6 @@ #import "NSWindowController_SKExtensions.h" #import "PDFPage_SKExtensions.h" -NSString *SKDocumentErrorDomain = @"SKDocumentErrorDomain"; - #define SKDisableExportAttributesKey @"SKDisableExportAttributes" #define TEMPLATES_FOLDER_NAME @"Templates" Added: trunk/NSError_SKExtensions.h =================================================================== --- trunk/NSError_SKExtensions.h (rev 0) +++ trunk/NSError_SKExtensions.h 2011-01-21 16:10:14 UTC (rev 7075) @@ -0,0 +1,56 @@ +// +// NSError_SKExtensions.h +// Skim +// +// Created by Christiaan Hofman on 1/21/11. +/* + This software is Copyright (c) 2011 + 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> + +extern NSString *SKDocumentErrorDomain; + +enum { + SKWriteFileError = 1, + SKReadFileError = 2, + SKReadPasteboardError = 3 +}; + +@interface NSError (SKExtensions) + ++ (id)writeFileErrorWithLocalizedDescription:(NSString *)description; ++ (id)readFileErrorWithLocalizedDescription:(NSString *)description; ++ (id)readPasteboardErrorWithLocalizedDescription:(NSString *)description; ++ (id)userCancelledErrorWithUnderlyingError:(NSError *)error; + +@end Added: trunk/NSError_SKExtensions.m =================================================================== --- trunk/NSError_SKExtensions.m (rev 0) +++ trunk/NSError_SKExtensions.m 2011-01-21 16:10:14 UTC (rev 7075) @@ -0,0 +1,61 @@ +// +// NSError_SKExtensions.m +// Skim +// +// Created by Christiaan Hofman on 1/21/11. +/* + This software is Copyright (c) 2011 + 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 "NSError_SKExtensions.h" + +NSString *SKDocumentErrorDomain = @"SKDocumentErrorDomain"; + +@implementation NSError (SKExtensions) + ++ (id)writeFileErrorWithLocalizedDescription:(NSString *)description { + return [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey, nil]]; +} + ++ (id)readFileErrorWithLocalizedDescription:(NSString *)description { + return [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey, nil]]; +} + ++ (id)readPasteboardErrorWithLocalizedDescription:(NSString *)description { + return [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadPasteboardError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey, nil]]; +} + ++ (id)userCancelledErrorWithUnderlyingError:(NSError *)error { + return [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:error, NSUnderlyingErrorKey, nil]]; +} + +@end Modified: trunk/SKConversionProgressController.m =================================================================== --- trunk/SKConversionProgressController.m 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/SKConversionProgressController.m 2011-01-21 16:10:14 UTC (rev 7075) @@ -46,6 +46,7 @@ #import <libkern/OSAtomic.h> #import "NSGeometry_SKExtensions.h" #import "NSDocument_SKExtensions.h" +#import "NSError_SKExtensions.h" #define PROVIDER_KEY @"provider" #define CONSUMER_KEY @"consumer" @@ -267,9 +268,9 @@ SKCFDESTROY(pdfData); if (outError) { if ([self shouldKeepRunning]) - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError readFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load file", @"Error description")]; else - *outError = [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:nil]; + *outError = [NSError userCancelledErrorWithUnderlyingError:nil]; } } @@ -408,9 +409,9 @@ SKDESTROY(pdfData); if (outError) { if ([self shouldKeepRunning]) - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError readFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load file", @"Error description")]; else - *outError = [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:nil]; + *outError = [NSError userCancelledErrorWithUnderlyingError:nil]; } } Modified: trunk/SKDocumentController.m =================================================================== --- trunk/SKDocumentController.m 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/SKDocumentController.m 2011-01-21 16:10:14 UTC (rev 7075) @@ -46,6 +46,7 @@ #import "NSFileManager_SKExtensions.h" #import "BDAlias.h" #import "SKMainWindowController.h" +#import "NSError_SKExtensions.h" #define SKAutosaveIntervalKey @"SKAutosaveInterval" @@ -232,7 +233,7 @@ } } else if (outError) { - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadPasteboardError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load data from clipboard", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError readPasteboardErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load data from clipboard", @"Error description")]; } return document; @@ -249,7 +250,7 @@ if ([[NSUserDefaults standardUserDefaults] boolForKey:SKAutoOpenDownloadsWindowKey]) [[SKDownloadController sharedDownloadController] showWindow:self]; } else if (outError) { - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadPasteboardError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load data from clipboard", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError readPasteboardErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load data from clipboard", @"Error description")]; } return document; @@ -334,7 +335,7 @@ if (NSAlertDefaultReturn == [alert runModal]) { urls = nil; - error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:nil]; + error = [NSError userCancelledErrorWithUnderlyingError:nil]; } } @@ -347,7 +348,7 @@ if (failed) doc = nil; if (doc == nil && outError) - *outError = error ?: [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = error ?: [NSError readFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load file", @"Error description")]; return doc; } return [super openDocumentWithContentsOfURL:absoluteURL display:displayDocument error:outError]; Modified: trunk/SKMainDocument.m =================================================================== --- trunk/SKMainDocument.m 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/SKMainDocument.m 2011-01-21 16:10:14 UTC (rev 7075) @@ -82,6 +82,7 @@ #import "NSScreen_SKExtensions.h" #import "NSURL_SKExtensions.h" #import "SKFileUpdateChecker.h" +#import "NSError_SKExtensions.h" #define BUNDLE_DATA_FILENAME @"data" #define PRESENTATION_OPTIONS_KEY @"net_sourceforge_skim-app_presentation_options" @@ -545,7 +546,7 @@ if (fileWrapper) didWrite = [fileWrapper writeToFile:[absoluteURL path] atomically:NO updateFilenames:NO]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write file", @"Error description")]; } else if ([typeName isEqualToString:SKNotesDocumentType]) { didWrite = [[NSFileManager defaultManager] writeSkimNotes:[[self notes] valueForKey:@"SkimNoteProperties"] toSkimFileAtURL:absoluteURL error:&error]; } else if ([typeName isEqualToString:SKNotesRTFDocumentType]) { @@ -553,19 +554,19 @@ if (data) didWrite = [data writeToURL:absoluteURL options:0 error:&error]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes as RTF", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes as RTF", @"Error description")]; } else if ([typeName isEqualToString:SKNotesRTFDDocumentType]) { NSFileWrapper *fileWrapper = [self notesRTFDFileWrapper]; if (fileWrapper) didWrite = [fileWrapper writeToFile:[absoluteURL path] atomically:NO updateFilenames:NO]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes as RTFD", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes as RTFD", @"Error description")]; } else if ([typeName isEqualToString:SKNotesTextDocumentType]) { NSString *string = [self notesString]; if (string) didWrite = [string writeToURL:absoluteURL atomically:YES encoding:NSUTF8StringEncoding error:&error]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes as text", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes as text", @"Error description")]; } else if ([typeName isEqualToString:SKNotesFDFDocumentType]) { NSString *filePath = [[self fileURL] path]; NSString *filename = [filePath lastPathComponent]; @@ -575,23 +576,23 @@ if (data) didWrite = [data writeToURL:absoluteURL options:0 error:&error]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes as FDF", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes as FDF", @"Error description")]; } else if ([[typeName pathExtension] isCaseInsensitiveEqual:@"rtfd"]) { NSFileWrapper *fileWrapper = [self notesFileWrapperUsingTemplateFile:typeName]; if (fileWrapper) didWrite = [fileWrapper writeToFile:[absoluteURL path] atomically:NO updateFilenames:NO]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes using template", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes using template", @"Error description")]; } else { NSData *data = [self notesDataUsingTemplateFile:typeName]; if (data) didWrite = [data writeToURL:absoluteURL options:0 error:&error]; else - error = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes using template", @"Error description"), NSLocalizedDescriptionKey, nil]]; + error = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes using template", @"Error description")]; } if (didWrite == NO && outError != NULL) - *outError = error ?: [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = error ?: [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write file", @"Error description")]; return didWrite; } @@ -665,7 +666,7 @@ return YES; } else { if (outError != NULL) - *outError = error ?: [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = error ?: [NSError readFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load file", @"Error description")]; return NO; } } @@ -706,7 +707,7 @@ data = nil; [pdfDoc release]; pdfDoc = nil; - error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:error, NSUnderlyingErrorKey, nil]]; + error = [NSError userCancelledErrorWithUnderlyingError:error]; } } else if ([array count]) { [tmpData setNoteDicts:array]; @@ -748,7 +749,7 @@ data = nil; [pdfDoc release]; pdfDoc = nil; - error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:error, NSUnderlyingErrorKey, nil]]; + error = [NSError userCancelledErrorWithUnderlyingError:error]; } } if (pdfDoc) { @@ -819,7 +820,7 @@ [fileData release]; if (didRead == NO && outError != NULL) - *outError = error ?: [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = error ?: [NSError readFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load file", @"Error description")]; return didRead; } Modified: trunk/SKNotesDocument.m =================================================================== --- trunk/SKNotesDocument.m 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/SKNotesDocument.m 2011-01-21 16:10:14 UTC (rev 7075) @@ -64,6 +64,7 @@ #import "SKFloatMapTable.h" #import "NSColor_SKExtensions.h" #import "NSString_SKExtensions.h" +#import "NSError_SKExtensions.h" #define SKNotesDocumentWindowFrameAutosaveName @"SKNotesDocumentWindow" @@ -221,7 +222,7 @@ fileWrapper = [self notesFileWrapperUsingTemplateFile:typeName]; if (fileWrapper == nil && outError != NULL) - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes", @"Error description")]; return fileWrapper; } @@ -247,7 +248,7 @@ } if (data == nil && outError != NULL) - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKWriteFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to write notes", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError writeFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to write notes", @"Error description")]; return data; } @@ -305,7 +306,7 @@ } if (didRead == NO && outError != NULL) - *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:SKReadFileError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable to load file", @"Error description"), NSLocalizedDescriptionKey, nil]]; + *outError = [NSError readFileErrorWithLocalizedDescription:NSLocalizedString(@"Unable to load file", @"Error description")]; return didRead; } Modified: trunk/Skim.xcodeproj/project.pbxproj =================================================================== --- trunk/Skim.xcodeproj/project.pbxproj 2011-01-20 15:59:28 UTC (rev 7074) +++ trunk/Skim.xcodeproj/project.pbxproj 2011-01-21 16:10:14 UTC (rev 7075) @@ -246,6 +246,7 @@ CEE8DFCE0E5C809C00EFA97F /* SkimNotes.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE7DC7320E09286500D6D76D /* SkimNotes.framework */; }; CEE8DFCF0E5C809C00EFA97F /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2BD8200BD4127A00A5F4DB /* Sparkle.framework */; }; CEEC0A0A0DCB2594003DD9B6 /* SKMainWindowController_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CEEC0A090DCB2594003DD9B6 /* SKMainWindowController_UI.m */; }; + CEECD61C12E9E30B00B9E35E /* NSError_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEECD61B12E9E30B00B9E35E /* NSError_SKExtensions.m */; }; CEEE7C520E7D3F2000B7B208 /* PDFAnnotationInk_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEEE7C510E7D3F2000B7B208 /* PDFAnnotationInk_SKExtensions.m */; }; CEF1D608117EF9E90069E249 /* SkimHelp in Resources */ = {isa = PBXBuildFile; fileRef = CEF1D5F8117EF9E90069E249 /* SkimHelp */; }; CEF60CE3114C01CA0074ACC4 /* SKLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF60CE2114C01CA0074ACC4 /* SKLocalization.m */; }; @@ -978,6 +979,8 @@ CEE73ECD106CEC1900419544 /* SKSeparatorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKSeparatorCell.m; sourceTree = "<group>"; }; CEEC0A080DCB2594003DD9B6 /* SKMainWindowController_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKMainWindowController_UI.h; sourceTree = "<group>"; }; CEEC0A090DCB2594003DD9B6 /* SKMainWindowController_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKMainWindowController_UI.m; sourceTree = "<group>"; }; + CEECD61A12E9E30B00B9E35E /* NSError_SKExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSError_SKExtensions.h; sourceTree = "<group>"; }; + CEECD61B12E9E30B00B9E35E /* NSError_SKExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSError_SKExtensions.m; sourceTree = "<group>"; }; CEEE7C500E7D3F2000B7B208 /* PDFAnnotationInk_SKExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PDFAnnotationInk_SKExtensions.h; sourceTree = "<group>"; }; CEEE7C510E7D3F2000B7B208 /* PDFAnnotationInk_SKExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PDFAnnotationInk_SKExtensions.m; sourceTree = "<group>"; }; CEF1D5F9117EF9E90069E249 /* English */ = {isa = PBXFileReference; lastKnownFileType = folder; name = English; path = English.lproj/SkimHelp; sourceTree = "<group>"; }; @@ -1427,6 +1430,8 @@ CE1E30270BDB9D8E0011D9DD /* NSCharacterSet_SKExtensions.m */, CEA182250C92E3300061A6D4 /* NSData_SKExtensions.h */, CEA182260C92E3300061A6D4 /* NSData_SKExtensions.m */, + CEECD61A12E9E30B00B9E35E /* NSError_SKExtensions.h */, + CEECD61B12E9E30B00B9E35E /* NSError_SKExtensions.m */, CE5BB21410517AEF00161B87 /* NSFileManager_SKExtensions.h */, CE5BB21510517AEF00161B87 /* NSFileManager_SKExtensions.m */, CE5BEA160C7C635400EBDCF7 /* NSGeometry_SKExtensions.h */, @@ -2636,6 +2641,7 @@ CE1D798F129FE44E00EA3AF0 /* NSScriptCommand_SKExtensions.m in Sources */, CE4E1E9A12BCFF5A005227ED /* HIDRemote.m in Sources */, CE171E3512C3AC1600291179 /* SKFileUpdateChecker.m in Sources */, + CEECD61C12E9E30B00B9E35E /* NSError_SKExtensions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit