Revision: 7436
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7436&view=rev
Author:   hofman
Date:     2011-08-19 18:13:44 +0000 (Fri, 19 Aug 2011)

Log Message:
-----------
move template management code to a separate singleton class

Modified Paths:
--------------
    trunk/NSDocument_SKExtensions.m
    trunk/SKDocumentController.h
    trunk/SKDocumentController.m
    trunk/SKFormatCommand.m
    trunk/SKMainDocument.m
    trunk/SKNotesDocument.m
    trunk/Skim.xcodeproj/project.pbxproj

Added Paths:
-----------
    trunk/SKTemplateManager.h
    trunk/SKTemplateManager.m

Modified: trunk/NSDocument_SKExtensions.m
===================================================================
--- trunk/NSDocument_SKExtensions.m     2011-08-19 17:54:14 UTC (rev 7435)
+++ trunk/NSDocument_SKExtensions.m     2011-08-19 18:13:44 UTC (rev 7436)
@@ -50,6 +50,7 @@
 #import "SKBookmarkController.h"
 #import "NSWindowController_SKExtensions.h"
 #import "PDFPage_SKExtensions.h"
+#import "SKTemplateManager.h"
 
 #define SKDisableExportAttributesKey @"SKDisableExportAttributes"
 
@@ -143,8 +144,8 @@
 
 - (NSString *)notesStringUsingTemplateFile:(NSString *)templateFile {
     NSString *string = nil;
-    if ([[NSDocumentController sharedDocumentController] 
isRichTextTemplateFile:templateFile] == NO) {
-        NSString *templatePath = [[NSDocumentController 
sharedDocumentController] pathForTemplateFile:templateFile];
+    if ([[SKTemplateManager sharedManager] 
isRichTextTemplateFile:templateFile] == NO) {
+        NSString *templatePath = [[SKTemplateManager sharedManager] 
pathForTemplateFile:templateFile];
         NSError *error = nil;
         NSString *templateString = [[NSString alloc] 
initWithContentsOfFile:templatePath encoding:NSUTF8StringEncoding error:&error];
         string = [SKTemplateParser 
stringByParsingTemplateString:templateString usingObject:self];
@@ -155,8 +156,8 @@
 
 - (NSData *)notesDataUsingTemplateFile:(NSString *)templateFile {
     NSData *data = nil;
-    if ([[NSDocumentController sharedDocumentController] 
isRichTextTemplateFile:templateFile]) {
-        NSString *templatePath = [[NSDocumentController 
sharedDocumentController] pathForTemplateFile:templateFile];
+    if ([[SKTemplateManager sharedManager] 
isRichTextTemplateFile:templateFile]) {
+        NSString *templatePath = [[SKTemplateManager sharedManager] 
pathForTemplateFile:templateFile];
         NSDictionary *docAttributes = nil;
         NSError *error = nil;
         NSAttributedString *templateAttrString = [[NSAttributedString alloc] 
initWithPath:templatePath documentAttributes:&docAttributes];
@@ -177,7 +178,7 @@
 - (NSFileWrapper *)notesFileWrapperUsingTemplateFile:(NSString *)templateFile {
     NSFileWrapper *fileWrapper = nil;
     if ([[templateFile pathExtension] isCaseInsensitiveEqual:@"rtfd"]) {
-        NSString *templatePath = [[NSDocumentController 
sharedDocumentController] pathForTemplateFile:templateFile];
+        NSString *templatePath = [[SKTemplateManager sharedManager] 
pathForTemplateFile:templateFile];
         NSDictionary *docAttributes = nil;
         NSAttributedString *templateAttrString = [[NSAttributedString alloc] 
initWithPath:templatePath documentAttributes:&docAttributes];
         NSAttributedString *attrString = [SKTemplateParser 
attributedStringByParsingTemplateAttributedString:templateAttrString 
usingObject:self];

Modified: trunk/SKDocumentController.h
===================================================================
--- trunk/SKDocumentController.h        2011-08-19 17:54:14 UTC (rev 7435)
+++ trunk/SKDocumentController.h        2011-08-19 18:13:44 UTC (rev 7436)
@@ -64,9 +64,7 @@
 
 extern NSString *SKDocumentControllerDocumentKey;
 
-@interface SKDocumentController : NSDocumentController {
-    NSArray *customExportTemplateFiles;
-}
+@interface SKDocumentController : NSDocumentController
 
 - (IBAction)newDocumentFromClipboard:(id)sender;
 
@@ -78,10 +76,4 @@
 
 - (Class)documentClassForContentsOfURL:(NSURL *)inAbsoluteURL;
 
-- (NSArray *)customExportTemplateFiles;
-- (NSArray *)customExportTemplateFilesResetting;
-
-- (BOOL)isRichTextTemplateFile:(NSString *)templateFile;
-- (NSString *)pathForTemplateFile:(NSString *)filename;
-
 @end

Modified: trunk/SKDocumentController.m
===================================================================
--- trunk/SKDocumentController.m        2011-08-19 17:54:14 UTC (rev 7435)
+++ trunk/SKDocumentController.m        2011-08-19 18:13:44 UTC (rev 7436)
@@ -49,13 +49,12 @@
 #import "NSError_SKExtensions.h"
 #import <SkimNotes/SkimNotes.h>
 #import "SKNotesDocument.h"
+#import "SKTemplateManager.h"
 
 #define SKAutosaveIntervalKey @"SKAutosaveInterval"
 
 #define SKIM_NOTES_KEY @"net_sourceforge_skim-app_notes"
 
-#define TEMPLATES_DIRECTORY @"Templates"
-
 // See CFBundleTypeName in Info.plist
 NSString *SKPDFDocumentType = nil;
 NSString *SKPDFBundleDocumentType = @"PDF Bundle";
@@ -107,11 +106,6 @@
     return self;
 }
 
-- (void)dealloc {
-    SKDESTROY(customExportTemplateFiles);
-    [super dealloc];
-}
-
 - (void)removeDocument:(NSDocument *)document {
     [[NSNotificationCenter defaultCenter] 
postNotificationName:SKDocumentControllerWillRemoveDocumentNotification 
             object:self userInfo:[NSDictionary 
dictionaryWithObjectsAndKeys:document, SKDocumentControllerDocumentKey, nil]];
@@ -420,63 +414,16 @@
         return YES;
 }
 
-- (NSArray *)customExportTemplateFiles {
-    if (customExportTemplateFiles == nil) {
-        NSFileManager *fm = [NSFileManager defaultManager];
-        NSMutableArray *templateFiles = [NSMutableArray array];
-        
-        for (NSString *appSupportPath in [[NSFileManager defaultManager] 
applicationSupportDirectories]) {
-            NSString *templatesPath = [appSupportPath 
stringByAppendingPathComponent:TEMPLATES_DIRECTORY];
-            BOOL isDir;
-            if ([fm fileExistsAtPath:templatesPath isDirectory:&isDir] && 
isDir) {
-                for (NSString *file in [fm subpathsAtPath:templatesPath]) {
-                    if ([file hasPrefix:@"."] == NO && [[file 
stringByDeletingPathExtension] isEqualToString:@"notesTemplate"] == NO)
-                        [templateFiles addObject:file];
-                }
-            }
-        }
-        [templateFiles sortUsingSelector:@selector(caseInsensitiveCompare:)];
-        customExportTemplateFiles = [templateFiles copy];
-    }
-    return customExportTemplateFiles;
-}
-
-- (NSArray *)customExportTemplateFilesResetting {
-    SKDESTROY(customExportTemplateFiles);
-    return [self customExportTemplateFiles];
-}
-
-- (NSString *)pathForTemplateFile:(NSString *)filename {
-    NSFileManager *fm = [NSFileManager defaultManager];
-    NSString *fullPath = nil;
-    
-    for (NSString *appSupportPath in [[fm applicationSupportDirectories] 
arrayByAddingObject:[[NSBundle mainBundle] sharedSupportPath]]) {
-        fullPath = [[appSupportPath 
stringByAppendingPathComponent:TEMPLATES_DIRECTORY] 
stringByAppendingPathComponent:filename];
-        if ([fm fileExistsAtPath:fullPath] == NO)
-            fullPath = nil;
-        else break;
-    }
-    
-    return fullPath;
-}
-
-- (BOOL)isRichTextTemplateFile:(NSString *)templateFile {
-    static NSSet *types = nil;
-    if (types == nil)
-        types = [[NSSet alloc] initWithObjects:@"rtf", @"doc", @"docx", 
@"odt", @"webarchive", @"rtfd", nil];
-    return [types containsObject:[[templateFile pathExtension] 
lowercaseString]];
-}
-
 - (NSArray *)fileExtensionsFromType:(NSString *)documentTypeName {
     NSArray *fileExtensions = [super fileExtensionsFromType:documentTypeName];
-    if ([fileExtensions count] == 0 && [[self customExportTemplateFiles] 
containsObject:documentTypeName])
+    if ([fileExtensions count] == 0 && [[[SKTemplateManager sharedManager] 
templateFiles] containsObject:documentTypeName])
         fileExtensions = [NSArray arrayWithObjects:[documentTypeName 
pathExtension], nil];
        return fileExtensions;
 }
 
 - (NSString *)displayNameForType:(NSString *)documentTypeName{
     NSString *displayName = nil;
-    if ([[self customExportTemplateFiles] containsObject:documentTypeName])
+    if ([[[SKTemplateManager sharedManager] templateFiles] 
containsObject:documentTypeName])
         displayName = [documentTypeName stringByDeletingPathExtension];
     else
         displayName = [super displayNameForType:documentTypeName];

Modified: trunk/SKFormatCommand.m
===================================================================
--- trunk/SKFormatCommand.m     2011-08-19 17:54:14 UTC (rev 7435)
+++ trunk/SKFormatCommand.m     2011-08-19 18:13:44 UTC (rev 7436)
@@ -39,7 +39,7 @@
 #import "SKFormatCommand.h"
 #import "SKTemplateParser.h"
 #import "SKRichTextFormat.h"
-#import "SKDocumentController.h"
+#import "SKTemplateManager.h"
 
 
 @implementation SKFormatCommand
@@ -62,7 +62,7 @@
         attrString = template;
     else if ([template isKindOfClass:[NSURL class]] == NO)
                [self setScriptErrorNumber:NSArgumentsWrongScriptError]; 
-    else if ([[NSDocumentController sharedDocumentController] 
isRichTextTemplateFile:[template path]])
+    else if ([[SKTemplateManager sharedManager] 
isRichTextTemplateFile:[template path]])
         attrString = [[[NSAttributedString alloc] initWithURL:template 
documentAttributes:&docAttrs] autorelease];
     else
         string = [NSString stringWithContentsOfURL:template 
encoding:NSUTF8StringEncoding error:NULL];

Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m      2011-08-19 17:54:14 UTC (rev 7435)
+++ trunk/SKMainDocument.m      2011-08-19 18:13:44 UTC (rev 7436)
@@ -87,6 +87,7 @@
 #import "PDFDocument_SKExtensions.h"
 #import "SKPrintAccessoryController.h"
 #import "SKTemporaryData.h"
+#import "SKTemplateManager.h"
 
 #define BUNDLE_DATA_FILENAME @"data"
 #define PRESENTATION_OPTIONS_KEY 
@"net_sourceforge_skim-app_presentation_options"
@@ -314,7 +315,7 @@
         [writableTypes removeObject:SKBareXDVDocumentType];
     }
     if (saveOperation == NSSaveToOperation) {
-        [writableTypes addObjectsFromArray:[[NSDocumentController 
sharedDocumentController] customExportTemplateFilesResetting]];
+        [writableTypes addObjectsFromArray:[[SKTemplateManager sharedManager] 
templateFilesResetting]];
     }
     return writableTypes;
 }
@@ -322,7 +323,7 @@
 - (NSString *)fileNameExtensionForType:(NSString *)typeName 
saveOperation:(NSSaveOperationType)saveOperation {
     NSString *fileExtension = nil;
     fileExtension = [super fileNameExtensionForType:typeName 
saveOperation:saveOperation];
-    if (fileExtension == nil && [[[NSDocumentController 
sharedDocumentController] customExportTemplateFiles] containsObject:typeName])
+    if (fileExtension == nil && [[[SKTemplateManager sharedManager] 
templateFiles] containsObject:typeName])
         fileExtension = [typeName pathExtension];
     return fileExtension;
 }
@@ -1840,7 +1841,7 @@
         else if ([fileType isEqualToString:@"XDV"])
             normalizedType = SKXDVDocumentType;
         else if ([[self writableTypesForSaveOperation:NSSaveToOperation] 
containsObject:fileType] == NO) {
-            NSArray *templateTypes = [[NSDocumentController 
sharedDocumentController] customExportTemplateFiles];
+            NSArray *templateTypes = [[SKTemplateManager sharedManager] 
templateFiles];
             NSArray *templateTypesWithoutExtension = [templateTypes 
valueForKey:@"stringByDeletingPathExtension"];
             NSUInteger idx = [templateTypesWithoutExtension 
indexOfObject:fileType];
             if (idx != NSNotFound)

Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m     2011-08-19 17:54:14 UTC (rev 7435)
+++ trunk/SKNotesDocument.m     2011-08-19 18:13:44 UTC (rev 7436)
@@ -65,6 +65,7 @@
 #import "NSColor_SKExtensions.h"
 #import "NSString_SKExtensions.h"
 #import "NSError_SKExtensions.h"
+#import "SKTemplateManager.h"
 
 #define SKNotesDocumentWindowFrameAutosaveName @"SKNotesDocumentWindow"
 
@@ -192,7 +193,7 @@
     NSArray *writableTypes = [super 
writableTypesForSaveOperation:saveOperation];
     if (saveOperation == NSSaveToOperation) {
         NSMutableArray *tmpArray = [[writableTypes mutableCopy] autorelease];
-        [tmpArray addObjectsFromArray:[[NSDocumentController 
sharedDocumentController] customExportTemplateFilesResetting]];
+        [tmpArray addObjectsFromArray:[[SKTemplateManager sharedManager] 
templateFilesResetting]];
         writableTypes = tmpArray;
     }
     return writableTypes;
@@ -201,7 +202,7 @@
 - (NSString *)fileNameExtensionForType:(NSString *)typeName 
saveOperation:(NSSaveOperationType)saveOperation {
     NSString *fileExtension = nil;
     fileExtension = [super fileNameExtensionForType:typeName 
saveOperation:saveOperation];
-    if (fileExtension == nil && [[[NSDocumentController 
sharedDocumentController] customExportTemplateFiles] containsObject:typeName])
+    if (fileExtension == nil && [[[SKTemplateManager sharedManager] 
templateFiles] containsObject:typeName])
         fileExtension = [typeName pathExtension];
     return fileExtension;
 }
@@ -829,7 +830,7 @@
     if (fileType) {
         NSString *normalizedType = nil;
         if ([[self writableTypesForSaveOperation:NSSaveToOperation] 
containsObject:fileType] == NO) {
-            NSArray *templateTypes = [[NSDocumentController 
sharedDocumentController] customExportTemplateFiles];
+            NSArray *templateTypes = [[SKTemplateManager sharedManager] 
templateFiles];
             NSArray *templateTypesWithoutExtension = [templateTypes 
valueForKey:@"stringByDeletingPathExtension"];
             NSUInteger idx = [templateTypesWithoutExtension 
indexOfObject:fileType];
             if (idx != NSNotFound)

Added: trunk/SKTemplateManager.h
===================================================================
--- trunk/SKTemplateManager.h                           (rev 0)
+++ trunk/SKTemplateManager.h   2011-08-19 18:13:44 UTC (rev 7436)
@@ -0,0 +1,55 @@
+//
+//  SKTemplateManager.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 8/19/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>
+
+
+@interface SKTemplateManager : NSObject {
+    NSArray *templateFiles;
+}
+
++ (id)sharedManager;
+
+- (NSArray *)templateFiles;
+- (NSArray *)templateFilesResetting;
+
+- (NSString *)pathForTemplateFile:(NSString *)filename;
+
+- (BOOL)isRichTextTemplateFile:(NSString *)templateFile;
+
+@end

Added: trunk/SKTemplateManager.m
===================================================================
--- trunk/SKTemplateManager.m                           (rev 0)
+++ trunk/SKTemplateManager.m   2011-08-19 18:13:44 UTC (rev 7436)
@@ -0,0 +1,106 @@
+//
+//  SKTemplateManager.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 8/19/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 "SKTemplateManager.h"
+#import "NSFileManager_SKExtensions.h"
+
+#define TEMPLATES_DIRECTORY @"Templates"
+
+
+@implementation SKTemplateManager
+
++ (id)sharedManager {
+    static id sharedManager = nil;
+    if (sharedManager == nil)
+        sharedManager = [[self alloc] init];
+    return sharedManager;
+}
+
+- (void)dealloc {
+    SKDESTROY(templateFiles);
+    [super dealloc];
+}
+
+- (NSArray *)templateFiles {
+    if (templateFiles == nil) {
+        NSFileManager *fm = [NSFileManager defaultManager];
+        NSMutableArray *templates = [NSMutableArray array];
+        
+        for (NSString *appSupportPath in [[NSFileManager defaultManager] 
applicationSupportDirectories]) {
+            NSString *templatesPath = [appSupportPath 
stringByAppendingPathComponent:TEMPLATES_DIRECTORY];
+            BOOL isDir;
+            if ([fm fileExistsAtPath:templatesPath isDirectory:&isDir] && 
isDir) {
+                for (NSString *file in [fm subpathsAtPath:templatesPath]) {
+                    if ([file hasPrefix:@"."] == NO && [[file 
stringByDeletingPathExtension] isEqualToString:@"notesTemplate"] == NO)
+                        [templates addObject:file];
+                }
+            }
+        }
+        [templates sortUsingSelector:@selector(caseInsensitiveCompare:)];
+        templateFiles = [templates copy];
+    }
+    return templateFiles;
+}
+
+- (NSArray *)templateFilesResetting {
+    SKDESTROY(templateFiles);
+    return [self templateFiles];
+}
+
+- (NSString *)pathForTemplateFile:(NSString *)filename {
+    NSFileManager *fm = [NSFileManager defaultManager];
+    NSString *fullPath = nil;
+    
+    for (NSString *appSupportPath in [[fm applicationSupportDirectories] 
arrayByAddingObject:[[NSBundle mainBundle] sharedSupportPath]]) {
+        fullPath = [[appSupportPath 
stringByAppendingPathComponent:TEMPLATES_DIRECTORY] 
stringByAppendingPathComponent:filename];
+        if ([fm fileExistsAtPath:fullPath] == NO)
+            fullPath = nil;
+        else break;
+    }
+    
+    return fullPath;
+}
+
+- (BOOL)isRichTextTemplateFile:(NSString *)templateFile {
+    static NSSet *types = nil;
+    if (types == nil)
+        types = [[NSSet alloc] initWithObjects:@"rtf", @"doc", @"docx", 
@"odt", @"webarchive", @"rtfd", nil];
+    return [types containsObject:[[templateFile pathExtension] 
lowercaseString]];
+}
+
+@end

Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj        2011-08-19 17:54:14 UTC (rev 
7435)
+++ trunk/Skim.xcodeproj/project.pbxproj        2011-08-19 18:13:44 UTC (rev 
7436)
@@ -73,6 +73,7 @@
                CE121AC81180644A00951425 /* SKScriptMenu.m in Sources */ = {isa 
= PBXBuildFile; fileRef = CE121AC71180644A00951425 /* SKScriptMenu.m */; };
                CE121B2D1180770900951425 /* ScriptMenu.tiff in Resources */ = 
{isa = PBXBuildFile; fileRef = CE121B2C1180770900951425 /* ScriptMenu.tiff */; 
};
                CE121BFB11529D15001D92ED /* SKIBArray.m in Sources */ = {isa = 
PBXBuildFile; fileRef = CE121BFA11529D15001D92ED /* SKIBArray.m */; };
+               CE1248C513FEDCF200FFAE20 /* SKTemplateManager.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE1248C413FEDCF200FFAE20 /* SKTemplateManager.m 
*/; };
                CE12A73E134F215F003AED67 /* SKSelectCommand.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE12A73D134F215F003AED67 /* SKSelectCommand.m 
*/; };
                CE171E3512C3AC1600291179 /* SKFileUpdateChecker.m in Sources */ 
= {isa = PBXBuildFile; fileRef = CE171E3412C3AC1600291179 /* 
SKFileUpdateChecker.m */; };
                CE17F47E0F1A17E200E741DD /* SKPDFSynchronizerServer.m in 
Sources */ = {isa = PBXBuildFile; fileRef = CE17F47D0F1A17E200E741DD /* 
SKPDFSynchronizerServer.m */; };
@@ -587,6 +588,8 @@
                CE121B2C1180770900951425 /* ScriptMenu.tiff */ = {isa = 
PBXFileReference; lastKnownFileType = image.tiff; path = ScriptMenu.tiff; 
sourceTree = "<group>"; };
                CE121BF911529D15001D92ED /* SKIBArray.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKIBArray.h; sourceTree = "<group>"; };
                CE121BFA11529D15001D92ED /* SKIBArray.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKIBArray.m; sourceTree = "<group>"; };
+               CE1248C313FEDCF200FFAE20 /* SKTemplateManager.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKTemplateManager.h; sourceTree = "<group>"; };
+               CE1248C413FEDCF200FFAE20 /* SKTemplateManager.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKTemplateManager.m; sourceTree = "<group>"; };
                CE12A73C134F215F003AED67 /* SKSelectCommand.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKSelectCommand.h; sourceTree = "<group>"; };
                CE12A73D134F215F003AED67 /* SKSelectCommand.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKSelectCommand.m; sourceTree = "<group>"; };
                CE157ED212D4EBC000515B85 /* Japanese */ = {isa = 
PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; 
name = Japanese; path = Japanese.lproj/BookmarkSheet.strings; sourceTree = 
"<group>"; };
@@ -1563,6 +1566,8 @@
                                CEF60F2E114C54090074ACC4 /* 
SKNotesPreferences.m */,
                                CEF60F30114C54360074ACC4 /* SKSyncPreferences.h 
*/,
                                CEF60F31114C54360074ACC4 /* SKSyncPreferences.m 
*/,
+                               CE1248C313FEDCF200FFAE20 /* SKTemplateManager.h 
*/,
+                               CE1248C413FEDCF200FFAE20 /* SKTemplateManager.m 
*/,
                        );
                        name = Controllers;
                        sourceTree = "<group>";
@@ -2538,6 +2543,7 @@
                                CE12A73E134F215F003AED67 /* SKSelectCommand.m 
in Sources */,
                                CE030C6113C07A57007A47E9 /* 
PDFView_SKExtensions.m in Sources */,
                                CEB402C313EDAD6100851D1B /* SKTemporaryData.m 
in Sources */,
+                               CE1248C513FEDCF200FFAE20 /* SKTemplateManager.m 
in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };


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

------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to