Revision: 2932
http://skim-app.svn.sourceforge.net/skim-app/?rev=2932&view=rev
Author: hofman
Date: 2007-09-17 10:45:28 -0700 (Mon, 17 Sep 2007)
Log Message:
-----------
Add an RTFD template for export and support for it. Make snapshots and pages
accessible to templates so thumbnails can be included in the RTFD template.
Modified Paths:
--------------
trunk/Dutch.lproj/InfoPlist.strings
trunk/English.lproj/InfoPlist.strings
trunk/French.lproj/InfoPlist.strings
trunk/Info.plist
trunk/Italian.lproj/InfoPlist.strings
trunk/PDFPage_SKExtensions.h
trunk/PDFPage_SKExtensions.m
trunk/SKDocument.h
trunk/SKDocument.m
trunk/SKDocumentController.h
trunk/SKDocumentController.m
trunk/SKSnapshotWindowController.h
trunk/SKSnapshotWindowController.m
trunk/Skim.xcodeproj/project.pbxproj
trunk/vendorsrc/andymatuschak/Sparkle/Sparkle.xcodeproj/project.pbxproj
Added Paths:
-----------
trunk/notesTemplate.rtfd/
trunk/notesTemplate.rtfd/TXT.rtf
Modified: trunk/Dutch.lproj/InfoPlist.strings
===================================================================
(Binary files differ)
Modified: trunk/English.lproj/InfoPlist.strings
===================================================================
(Binary files differ)
Modified: trunk/French.lproj/InfoPlist.strings
===================================================================
(Binary files differ)
Modified: trunk/Info.plist
===================================================================
--- trunk/Info.plist 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/Info.plist 2007-09-17 17:45:28 UTC (rev 2932)
@@ -41,8 +41,9 @@
<string>PDF With Embedded Notes</string>
<string>PDF Without Notes</string>
<string>Skim Notes</string>
+ <string>Notes as Text</string>
<string>Notes as RTF</string>
- <string>Notes as Text</string>
+ <string>Notes as RTFD</string>
<string>Notes as FDF</string>
</array>
</dict>
@@ -78,8 +79,9 @@
<string>PDF With Embedded Notes</string>
<string>PDF Without Notes</string>
<string>Skim Notes</string>
+ <string>Notes as Text</string>
<string>Notes as RTF</string>
- <string>Notes as Text</string>
+ <string>Notes as RTFD</string>
<string>Notes as FDF</string>
</array>
<key>NSPersistentStoreTypeKey</key>
@@ -300,6 +302,26 @@
<dict>
<key>CFBundleTypeExtensions</key>
<array>
+ <string>txt</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>text/plain</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Notes as Text</string>
+ <key>CFBundleTypeRole</key>
+ <string>None</string>
+ <key>LSTypeIsPackage</key>
+ <false/>
+ <key>NSDocumentClass</key>
+ <string>SKDocument</string>
+ <key>NSPersistentStoreTypeKey</key>
+ <string>Binary</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
<string>rtf</string>
</array>
<key>CFBundleTypeMIMETypes</key>
@@ -324,14 +346,18 @@
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>txt</string>
+ <string>rtfd</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
- <string>text/plain</string>
+ <string>text/rtfd</string>
</array>
<key>CFBundleTypeName</key>
- <string>Notes as Text</string>
+ <string>Notes as RTFD</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>RTFD</string>
+ </array>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSTypeIsPackage</key>
Modified: trunk/Italian.lproj/InfoPlist.strings
===================================================================
(Binary files differ)
Modified: trunk/PDFPage_SKExtensions.h
===================================================================
--- trunk/PDFPage_SKExtensions.h 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/PDFPage_SKExtensions.h 2007-09-17 17:45:28 UTC (rev 2932)
@@ -53,6 +53,14 @@
- (NSImage *)thumbnailWithSize:(float)size forBox:(PDFDisplayBox)box
readingBarRect:(NSRect)readingBarRect;
- (NSImage *)thumbnailWithSize:(float)size forBox:(PDFDisplayBox)box
shadowBlurRadius:(float)shadowBlurRadius shadowOffset:(NSSize)shadowOffset
readingBarRect:(NSRect)readingBarRect;
+- (NSAttributedString *)thumbnailAttachmentWithSize:(float)size;
+- (NSAttributedString *)thumbnailAttachment;
+- (NSAttributedString *)thumbnail512Attachment;
+- (NSAttributedString *)thumbnail256Attachment;
+- (NSAttributedString *)thumbnail128Attachment;
+- (NSAttributedString *)thumbnail64Attachment;
+- (NSAttributedString *)thumbnail32Attachment;
+
- (NSArray *)lineBounds;
- (unsigned int)pageIndex;
Modified: trunk/PDFPage_SKExtensions.m
===================================================================
--- trunk/PDFPage_SKExtensions.m 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/PDFPage_SKExtensions.m 2007-09-17 17:45:28 UTC (rev 2932)
@@ -211,6 +211,45 @@
return [image autorelease];
}
+- (NSAttributedString *)thumbnailAttachmentWithSize:(float)size {
+ NSImage *image = [self thumbnailWithSize:size
forBox:kPDFDisplayBoxCropBox];
+
+ NSFileWrapper *wrapper = [[NSFileWrapper alloc]
initRegularFileWithContents:[image TIFFRepresentation]];
+ [wrapper setFilename:@"page.tiff"];
+ [wrapper setPreferredFilename:@"page.tiff"];
+
+ NSTextAttachment *attachment = [[NSTextAttachment alloc]
initWithFileWrapper:wrapper];
+ [wrapper release];
+ NSAttributedString *attrString = [NSAttributedString
attributedStringWithAttachment:attachment];
+ [attachment release];
+
+ return attrString;
+}
+
+- (NSAttributedString *)thumbnailAttachment {
+ return [self thumbnailAttachmentWithSize:0.0];
+}
+
+- (NSAttributedString *)thumbnail512Attachment {
+ return [self thumbnailAttachmentWithSize:512.0];
+}
+
+- (NSAttributedString *)thumbnail256Attachment {
+ return [self thumbnailAttachmentWithSize:256.0];
+}
+
+- (NSAttributedString *)thumbnail128Attachment {
+ return [self thumbnailAttachmentWithSize:128.0];
+}
+
+- (NSAttributedString *)thumbnail64Attachment {
+ return [self thumbnailAttachmentWithSize:64.0];
+}
+
+- (NSAttributedString *)thumbnail32Attachment {
+ return [self thumbnailAttachmentWithSize:32.0];
+}
+
- (NSArray *)lineBounds {
NSMutableArray *lines = [NSMutableArray array];
PDFSelection *sel = [self selectionForRect:[self
boundsForBox:kPDFDisplayBoxCropBox]];
Modified: trunk/SKDocument.h
===================================================================
--- trunk/SKDocument.h 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/SKDocument.h 2007-09-17 17:45:28 UTC (rev 2932)
@@ -100,6 +100,7 @@
- (NSString *)notesString;
- (NSData *)notesRTFData;
+- (NSFileWrapper *)notesRTFDFileWrapper;
- (NSString *)notesFDFString;
- (NSString *)notesFDFStringForFile:(NSString *)filename;
@@ -109,6 +110,9 @@
- (SKPDFSynchronizer *)synchronizer;
+- (NSArray *)snapshots;
+- (NSArray *)pages;
+
- (unsigned int)countOfPages;
- (PDFPage *)objectInPagesAtIndex:(unsigned int)index;
- (NSArray *)notes;
Modified: trunk/SKDocument.m
===================================================================
--- trunk/SKDocument.m 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/SKDocument.m 2007-09-17 17:45:28 UTC (rev 2932)
@@ -388,6 +388,12 @@
didWrite = [data writeToURL:absoluteURL options:NSAtomicWrite
error:outError];
else if (outError != NULL)
*outError = [NSError errorWithDomain:SKDocumentErrorDomain code:1
userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable
to write notes as RTF", @"Error description"), NSLocalizedDescriptionKey, nil]];
+ } else if ([typeName isEqualToString:SKNotesRTFDDocumentType]) {
+ NSFileWrapper *fileWrapper = [self notesRTFDFileWrapper];
+ if (fileWrapper)
+ didWrite = [fileWrapper writeToFile:[absoluteURL path]
atomically:NO updateFilenames:NO];
+ else if (outError != NULL)
+ *outError = [NSError errorWithDomain:SKDocumentErrorDomain code:1
userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable
to write notes as RTFD", @"Error description"), NSLocalizedDescriptionKey,
nil]];
} else if ([typeName isEqualToString:SKNotesTextDocumentType]) {
NSString *string = [self notesString];
if (string)
@@ -1297,6 +1303,16 @@
return data;
}
+- (NSFileWrapper *)notesRTFDFileWrapper {
+ NSString *templatePath = [[NSApp delegate]
pathForApplicationSupportFile:@"notesTemplate" ofType:@"rtfd"];
+ NSDictionary *docAttributes = nil;
+ NSAttributedString *templateAttrString = [[NSAttributedString alloc]
initWithPath:templatePath documentAttributes:&docAttributes];
+ NSAttributedString *attrString = [SKTemplateParser
attributedStringByParsingTemplate:templateAttrString usingObject:self];
+ NSFileWrapper *fileWrapper = [attrString
RTFDFileWrapperFromRange:NSMakeRange(0, [attrString length])
documentAttributes:docAttributes];
+ [templateAttrString release];
+ return fileWrapper;
+}
+
- (NSArray *)fileIDStrings {
if (pdfData == nil)
return nil;
@@ -1416,8 +1432,21 @@
return YES;
}
+- (NSArray *)snapshots {
+ return [[self mainWindowController] snapshots];
+}
+
#pragma mark Scripting support
+- (NSArray *)pages {
+ NSMutableArray *pages = [NSMutableArray array];
+ PDFDocument *pdfDoc = [self pdfDocument];
+ int i, count = [pdfDoc pageCount];
+ for (i = 0; i < count; i++)
+ [pages addObject:[pdfDoc pageAtIndex:i]];
+ return pages;
+}
+
- (unsigned int)countOfPages {
return [[self pdfDocument] pageCount];
}
Modified: trunk/SKDocumentController.h
===================================================================
--- trunk/SKDocumentController.h 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/SKDocumentController.h 2007-09-17 17:45:28 UTC (rev 2932)
@@ -43,8 +43,9 @@
extern NSString *SKEmbeddedPDFDocumentType;
extern NSString *SKBarePDFDocumentType;
extern NSString *SKNotesDocumentType;
+extern NSString *SKNotesTextDocumentType;
extern NSString *SKNotesRTFDocumentType;
-extern NSString *SKNotesTextDocumentType;
+extern NSString *SKNotesRTFDDocumentType;
extern NSString *SKNotesFDFDocumentType;
extern NSString *SKPostScriptDocumentType;
extern NSString *SKDVIDocumentType;
Modified: trunk/SKDocumentController.m
===================================================================
--- trunk/SKDocumentController.m 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/SKDocumentController.m 2007-09-17 17:45:28 UTC (rev 2932)
@@ -49,8 +49,9 @@
NSString *SKEmbeddedPDFDocumentType = @"PDF With Embedded Notes";
NSString *SKBarePDFDocumentType = @"PDF Without Notes";
NSString *SKNotesDocumentType = @"Skim Notes";
+NSString *SKNotesTextDocumentType = @"Notes as Text";
NSString *SKNotesRTFDocumentType = @"Notes as RTF";
-NSString *SKNotesTextDocumentType = @"Notes as Text";
+NSString *SKNotesRTFDDocumentType = @"Notes as RTFD";
NSString *SKNotesFDFDocumentType = @"Notes as FDF";
NSString *SKPostScriptDocumentType = @"PostScript document";
NSString *SKDVIDocumentType = @"DVI document";
Modified: trunk/SKSnapshotWindowController.h
===================================================================
--- trunk/SKSnapshotWindowController.h 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/SKSnapshotWindowController.h 2007-09-17 17:45:28 UTC (rev 2932)
@@ -74,6 +74,14 @@
- (NSImage *)thumbnailWithSize:(float)size;
- (NSImage *)thumbnailWithSize:(float)size
shadowBlurRadius:(float)shadowBlurRadius shadowOffset:(NSSize)shadowOffset;
+- (NSAttributedString *)thumbnailAttachmentWithSize:(float)size;
+- (NSAttributedString *)thumbnailAttachment;
+- (NSAttributedString *)thumbnail512Attachment;
+- (NSAttributedString *)thumbnail256Attachment;
+- (NSAttributedString *)thumbnail128Attachment;
+- (NSAttributedString *)thumbnail64Attachment;
+- (NSAttributedString *)thumbnail32Attachment;
+
- (void)miniaturize;
- (void)deminiaturize;
Modified: trunk/SKSnapshotWindowController.m
===================================================================
--- trunk/SKSnapshotWindowController.m 2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/SKSnapshotWindowController.m 2007-09-17 17:45:28 UTC (rev 2932)
@@ -354,6 +354,45 @@
return [image autorelease];
}
+- (NSAttributedString *)thumbnailAttachmentWithSize:(float)size {
+ NSImage *image = [self thumbnailWithSize:size];
+
+ NSFileWrapper *wrapper = [[NSFileWrapper alloc]
initRegularFileWithContents:[image TIFFRepresentation]];
+ [wrapper setFilename:@"page.tiff"];
+ [wrapper setPreferredFilename:@"page.tiff"];
+
+ NSTextAttachment *attachment = [[NSTextAttachment alloc]
initWithFileWrapper:wrapper];
+ [wrapper release];
+ NSAttributedString *attrString = [NSAttributedString
attributedStringWithAttachment:attachment];
+ [attachment release];
+
+ return attrString;
+}
+
+- (NSAttributedString *)thumbnailAttachment {
+ return [self thumbnailAttachmentWithSize:0.0];
+}
+
+- (NSAttributedString *)thumbnail512Attachment {
+ return [self thumbnailAttachmentWithSize:512.0];
+}
+
+- (NSAttributedString *)thumbnail256Attachment {
+ return [self thumbnailAttachmentWithSize:256.0];
+}
+
+- (NSAttributedString *)thumbnail128Attachment {
+ return [self thumbnailAttachmentWithSize:128.0];
+}
+
+- (NSAttributedString *)thumbnail64Attachment {
+ return [self thumbnailAttachmentWithSize:64.0];
+}
+
+- (NSAttributedString *)thumbnail32Attachment {
+ return [self thumbnailAttachmentWithSize:32.0];
+}
+
#pragma mark Miniaturize / Deminiaturize
- (void)getMiniRect:(NSRect *)miniRect maxiRect:(NSRect *)maxiRect
forDockingRect:(NSRect)dockRect {
Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj 2007-09-16 11:57:43 UTC (rev
2931)
+++ trunk/Skim.xcodeproj/project.pbxproj 2007-09-17 17:45:28 UTC (rev
2932)
@@ -63,6 +63,7 @@
CE2082E60C5E09DC009D3EFB /* ResizeRightUpCursor.tiff in
Resources */ = {isa = PBXBuildFile; fileRef = CE2082E20C5E09DC009D3EFB /*
ResizeRightUpCursor.tiff */; };
CE2093910C5F9A8D009D3EFB /* BDSKGradientView.m in Sources */ =
{isa = PBXBuildFile; fileRef = CE20938F0C5F9A8D009D3EFB /* BDSKGradientView.m
*/; };
CE209FAA0C9D38C6007C72F9 /* SKProgressController.m in Sources
*/ = {isa = PBXBuildFile; fileRef = CE209FA80C9D38C6007C72F9 /*
SKProgressController.m */; };
+ CE20AC9C0C9EF2F9007C72F9 /* notesTemplate.rtfd in Resources */
= {isa = PBXBuildFile; fileRef = CE20AC990C9EF2F9007C72F9 /* notesTemplate.rtfd
*/; };
CE2BD83E0BD4132B00A5F4DB /* Sparkle.framework in Frameworks */
= {isa = PBXBuildFile; fileRef = CE2BD82A0BD4132B00A5F4DB /* Sparkle.framework
*/; };
CE2BD8450BD4135600A5F4DB /* Sparkle.framework in CopyFiles */ =
{isa = PBXBuildFile; fileRef = CE2BD82A0BD4132B00A5F4DB /* Sparkle.framework
*/; };
CE2DE4920B85D48F00D0DA12 /* SKThumbnail.m in Sources */ = {isa
= PBXBuildFile; fileRef = CE2DE4910B85D48F00D0DA12 /* SKThumbnail.m */; };
@@ -386,6 +387,7 @@
CE20938F0C5F9A8D009D3EFB /* BDSKGradientView.m */ = {isa =
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc;
path = BDSKGradientView.m; sourceTree = "<group>"; };
CE209FA70C9D38C6007C72F9 /* SKProgressController.h */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
SKProgressController.h; sourceTree = "<group>"; };
CE209FA80C9D38C6007C72F9 /* SKProgressController.m */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path
= SKProgressController.m; sourceTree = "<group>"; };
+ CE20AC990C9EF2F9007C72F9 /* notesTemplate.rtfd */ = {isa =
PBXFileReference; lastKnownFileType = wrapper.rtfd; path = notesTemplate.rtfd;
sourceTree = "<group>"; };
CE2BD8170BD4127A00A5F4DB /* Sparkle.xcodeproj */ = {isa =
PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name =
Sparkle.xcodeproj; path = vendorsrc/andymatuschak/Sparkle/Sparkle.xcodeproj;
sourceTree = "<group>"; };
CE2BD82A0BD4132B00A5F4DB /* Sparkle.framework */ = {isa =
PBXFileReference; lastKnownFileType = wrapper.framework; path =
Sparkle.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CE2DE4900B85D48F00D0DA12 /* SKThumbnail.h */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
SKThumbnail.h; sourceTree = "<group>"; };
@@ -1119,8 +1121,9 @@
isa = PBXGroup;
children = (
CE1E2F120BDB86A10011D9DD /* displayline */,
+ CE48BBB40C08AD7000A166C6 /* notesTemplate.txt
*/,
CE48BBB50C08AD7000A166C6 /* notesTemplate.rtf
*/,
- CE48BBB40C08AD7000A166C6 /* notesTemplate.txt
*/,
+ CE20AC990C9EF2F9007C72F9 /* notesTemplate.rtfd
*/,
);
name = "Shared Support";
sourceTree = "<group>";
@@ -1331,6 +1334,7 @@
CEA1D7810C99953C0061A6D4 /* SmallFolder.tiff in
Resources */,
CEBD51D70C9BF68100FBF6A4 /*
ToolbarNewFolder.tiff in Resources */,
CEBD51D80C9BF68100FBF6A4 /*
ToolbarNewSeparator.tiff in Resources */,
+ CE20AC9C0C9EF2F9007C72F9 /* notesTemplate.rtfd
in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Added: trunk/notesTemplate.rtfd/TXT.rtf
===================================================================
--- trunk/notesTemplate.rtfd/TXT.rtf (rev 0)
+++ trunk/notesTemplate.rtfd/TXT.rtf 2007-09-17 17:45:28 UTC (rev 2932)
@@ -0,0 +1,38 @@
+{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77
Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
+}
+{\colortbl;\red255\green255\blue255;}
+\vieww10500\viewh9000\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\f0\b\fs28 \cf0 Notes\
+
+\f1\b0\fs24 \
+<[EMAIL PROTECTED]>\
+
+\f2\i \'a5 <$type.typeName/>, page <$pageIndex.numberByAddingOne/>\
+
+\f1\i0 \
+<$contents?>\
+<$contents/>\
+\
+</$contents?>\
+<$text?>\
+<$text/>\
+\
+</$text?>\
+</[EMAIL PROTECTED]>\
+<[EMAIL PROTECTED]>\
+
+\f0\b\fs28 Snapshots\
+
+\f1\b0\fs24 \
+<[EMAIL PROTECTED]>\
+
+\f2\i \'a5 Snapshot, page <$pageIndex.numberByAddingOne/>\
+
+\f1\i0 <$thumbnailAttachment/>\
+\
+</[EMAIL PROTECTED]>\
+</[EMAIL PROTECTED]>\
+}
\ No newline at end of file
Modified:
trunk/vendorsrc/andymatuschak/Sparkle/Sparkle.xcodeproj/project.pbxproj
===================================================================
--- trunk/vendorsrc/andymatuschak/Sparkle/Sparkle.xcodeproj/project.pbxproj
2007-09-16 11:57:43 UTC (rev 2931)
+++ trunk/vendorsrc/andymatuschak/Sparkle/Sparkle.xcodeproj/project.pbxproj
2007-09-17 17:45:28 UTC (rev 2932)
@@ -104,7 +104,7 @@
61B5F8E409C4CE3C00B25A18 /* SUUpdater.m */ = {isa =
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc;
path = SUUpdater.m; sourceTree = "<group>"; };
61B5F8E509C4CE3C00B25A18 /* NSFileManager+Authentication.m */ =
{isa = PBXFileReference; fileEncoding = 30; lastKnownFileType =
sourcecode.c.objc; path = "NSFileManager+Authentication.m"; sourceTree =
"<group>"; };
61B5F8F609C4CEB300B25A18 /* Security.framework */ = {isa =
PBXFileReference; lastKnownFileType = wrapper.framework; name =
Security.framework; path = /System/Library/Frameworks/Security.framework;
sourceTree = "<absolute>"; };
- 61B5F90209C4CEE200B25A18 /* Sparkle Test App.app */ = {isa =
PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0;
path = "Sparkle Test App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 61B5F90209C4CEE200B25A18 /* Sparkle Test App.app */ = {isa =
PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application;
path = "Sparkle Test App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
61B5F90409C4CEE200B25A18 /* Test Application-Info.plist */ =
{isa = PBXFileReference; lastKnownFileType = text.xml; name = "Test
Application-Info.plist"; path = "Test Application/Test Application-Info.plist";
sourceTree = "<group>"; };
61B5F92409C4CFC900B25A18 /* main.m */ = {isa =
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc;
name = main.m; path = "Test Application/main.m"; sourceTree = "<group>"; };
61B5F92B09C4CFD800B25A18 /* English */ = {isa =
PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings;
name = English; path = "Test Application/English.lproj/InfoPlist.strings";
sourceTree = "<group>"; };
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: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit