Revision: 7813
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7813&view=rev
Author:   hofman
Date:     2012-12-06 18:03:16 +0000 (Thu, 06 Dec 2012)
Log Message:
-----------
New URL based method to get files inside PDF bundles

Modified Paths:
--------------
    trunk/SkimNotes/Info.plist
    trunk/SkimNotes/NSFileManager_SKNExtensions.h
    trunk/SkimNotes/NSFileManager_SKNExtensions.m
    trunk/SkimNotes/PDFDocument_SKNExtensions.m
    trunk/SkimNotes/ReleaseNotes.rtf

Modified: trunk/SkimNotes/Info.plist
===================================================================
--- trunk/SkimNotes/Info.plist  2012-12-06 14:02:58 UTC (rev 7812)
+++ trunk/SkimNotes/Info.plist  2012-12-06 18:03:16 UTC (rev 7813)
@@ -19,7 +19,7 @@
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.3</string>
+       <string>1.3.1</string>
        <key>NSHumanReadableCopyright</key>
     <string>© Christiaan M. Hofman, 2008-2012</string>
        <key>NSPrincipalClass</key>

Modified: trunk/SkimNotes/NSFileManager_SKNExtensions.h
===================================================================
--- trunk/SkimNotes/NSFileManager_SKNExtensions.h       2012-12-06 14:02:58 UTC 
(rev 7812)
+++ trunk/SkimNotes/NSFileManager_SKNExtensions.h       2012-12-06 18:03:16 UTC 
(rev 7813)
@@ -146,9 +146,19 @@
 - (BOOL)writeSkimNotes:(NSArray *)notes toSkimFileAtURL:(NSURL *)aURL 
error:(NSError **)outError;
 
 /*!
-    @abstract   Returns the full path for the file of a given type inside a 
PDF bundle.
+    @abstract   Returns the file URL for the file of a given type inside a PDF 
bundle.
     @discussion If more than one bundled files with the given extension exist 
in the PDF bundle, this will follow the naming rules followed by Skim to find 
the best match.
     @param      extension The file extension for which to find a bundled file.
+    @param      aURL The URL to the PDF bundle.
+    @param      outError If there is an error getting the bundled file, upon 
return contains an <code>NSError</code> object that describes the problem.
+    @result     A file URL to the bundled file inside the PDF bundle, or 
<code>NULL</code> if no bundled file was found.
+*/
+- (NSURL *)bundledFileURLWithExtension:(NSString *)extension 
inPDFBundleAtURL:(NSURL *)aURL error:(NSError **)outError;
+
+/*!
+    @abstract   Returns the full path for the file of a given type inside a 
PDF bundle.
+    @discussion If more than one bundled files with the given extension exist 
in the PDF bundle, this will follow the naming rules followed by Skim to find 
the best match. This method is deprecated.
+    @param      extension The file extension for which to find a bundled file.
     @param      path The path to the PDF bundle.
     @param      outError If there is an error getting the bundled file, upon 
return contains an <code>NSError</code> object that describes the problem.
     @result     A full path to the bundled file inside the PDF bundle, or 
<code>NULL</code> if no bundled file was found.

Modified: trunk/SkimNotes/NSFileManager_SKNExtensions.m
===================================================================
--- trunk/SkimNotes/NSFileManager_SKNExtensions.m       2012-12-06 14:02:58 UTC 
(rev 7812)
+++ trunk/SkimNotes/NSFileManager_SKNExtensions.m       2012-12-06 18:03:16 UTC 
(rev 7813)
@@ -148,13 +148,13 @@
     BOOL isDir;
     
     if ([aURL isFileURL] && [self fileExistsAtPath:path isDirectory:&isDir] && 
isDir) {
-        NSString *skimFile = [self bundledFileWithExtension:SKIM_EXTENSION 
inPDFBundleAtPath:path error:&error];
-        NSData *data = skimFile ? [NSData dataWithContentsOfFile:skimFile 
options:0 error:&error] : nil;
+        NSURL *skimFileURL = [self bundledFileURLWithExtension:SKIM_EXTENSION 
inPDFBundleAtURL:aURL error:&error];
+        NSData *data = skimFileURL ? [NSData dataWithContentsOfURL:skimFileURL 
options:0 error:&error] : nil;
         
         if ([data length]) {
             @try { notes = [NSKeyedUnarchiver unarchiveObjectWithData:data]; }
             @catch (id e) {}
-        } else if (data || skimFile == nil) {
+        } else if (data || skimFileURL == nil) {
             notes = [NSArray array];
         }
     }
@@ -166,14 +166,13 @@
 - (NSString *)readSkimTextNotesFromPDFBundleAtURL:(NSURL *)aURL error:(NSError 
**)outError {
     NSString *string = nil;
     NSError *error = nil;
-    NSString *path = [aURL path];
     BOOL isDir;
     
-    if ([aURL isFileURL] && [self fileExistsAtPath:path isDirectory:&isDir] && 
isDir) {
-        NSString *notesFile = [self bundledFileWithExtension:TXT_EXTENSION 
inPDFBundleAtPath:path error:&error];
+    if ([aURL isFileURL] && [self fileExistsAtPath:[aURL path] 
isDirectory:&isDir] && isDir) {
+        NSURL *notesFileURL = [self bundledFileURLWithExtension:TXT_EXTENSION 
inPDFBundleAtURL:aURL error:&error];
         
-        if (notesFile)
-            string = [NSString stringWithContentsOfFile:notesFile 
encoding:NSUTF8StringEncoding error:&error];
+        if (notesFileURL)
+            string = [NSString stringWithContentsOfURL:notesFileURL 
encoding:NSUTF8StringEncoding error:&error];
         
         if (string == nil)
             string = [NSString string];
@@ -186,14 +185,13 @@
 - (NSData *)readSkimRTFNotesFromPDFBundleAtURL:(NSURL *)aURL error:(NSError 
**)outError {
     NSData *data = nil;
     NSError *error = nil;
-    NSString *path = [aURL path];
     BOOL isDir;
     
-    if ([aURL isFileURL] && [self fileExistsAtPath:path isDirectory:&isDir] && 
isDir) {
-        NSString *notesFile = [self bundledFileWithExtension:RTF_EXTENSION 
inPDFBundleAtPath:path error:&error];
+    if ([aURL isFileURL] && [self fileExistsAtPath:[aURL path] 
isDirectory:&isDir] && isDir) {
+        NSURL *notesFileURL = [self bundledFileURLWithExtension:RTF_EXTENSION 
inPDFBundleAtURL:aURL error:&error];
         
-        if (notesFile)
-            data = [NSData dataWithContentsOfFile:notesFile options:0 
error:&error];
+        if (notesFileURL)
+            data = [NSData dataWithContentsOfURL:notesFileURL options:0 
error:&error];
         
         if (data == nil)
             data = [NSData data];
@@ -206,10 +204,9 @@
 - (NSArray *)readSkimNotesFromSkimFileAtURL:(NSURL *)aURL error:(NSError 
**)outError {
     NSArray *notes = nil;
     NSError *error = nil;
-    NSString *path = [aURL path];
     
-    if ([aURL isFileURL] && [self fileExistsAtPath:path]) {
-        NSData *data = [NSData dataWithContentsOfFile:path options:0 
error:&error];
+    if ([aURL isFileURL] && [self fileExistsAtPath:[aURL path]]) {
+        NSData *data = [NSData dataWithContentsOfURL:aURL options:0 
error:&error];
         
         if ([data length]) {
             @try { notes = [NSKeyedUnarchiver unarchiveObjectWithData:data]; }
@@ -223,33 +220,34 @@
     return notes;
 }
 
-- (NSString *)bundledFileWithExtension:(NSString *)extension 
inPDFBundleAtPath:(NSString *)path error:(NSError **)outError {
-    NSString *filePath = nil;
+- (NSURL *)bundledFileURLWithExtension:(NSString *)extension 
inPDFBundleAtURL:(NSURL *)aURL error:(NSError **)outError {
+    NSURL *fileURL= nil;
     
     extension = [extension lowercaseString];
     if ([extension isEqualToString:SKIM_EXTENSION] || [extension 
isEqualToString:PDF_EXTENSION]) {
-        NSArray *files = [self subpathsAtPath:path];
-        NSString *filename = [[[path lastPathComponent] 
stringByDeletingPathExtension] stringByAppendingPathExtension:extension];
+        NSArray *files = [self subpathsAtPath:[aURL path]];
+        NSString *filename = [[[aURL lastPathComponent] 
stringByDeletingPathExtension] stringByAppendingPathExtension:extension];
         if ([files containsObject:filename] == NO) {
-            filename = [[[path lastPathComponent] 
stringByDeletingPathExtension] stringByAppendingPathExtension:extension];
-            if ([files containsObject:filename] == NO) {
-                NSUInteger idx = [[files 
valueForKeyPath:@"pathExtension.lowercaseString"] indexOfObject:extension];
-                filename = idx == NSNotFound ? nil : [files objectAtIndex:idx];
-            }
+            NSUInteger idx = [[files 
valueForKeyPath:@"pathExtension.lowercaseString"] indexOfObject:extension];
+            filename = idx == NSNotFound ? nil : [files objectAtIndex:idx];
         }
         if (filename)
-            filePath = [path stringByAppendingPathComponent:filename];
+            fileURL = [aURL URLByAppendingPathComponent:filename];
     } else {
-        NSString *skimFile = [self bundledFileWithExtension:SKIM_EXTENSION 
inPDFBundleAtPath:path error:outError];
-        if (skimFile) {
-            filePath = [[skimFile stringByDeletingPathExtension] 
stringByAppendingPathExtension:extension];
-            if ([self fileExistsAtPath:filePath] == NO)
-                filePath = nil;
+        NSURL *skimFileURL = [self bundledFileURLWithExtension:SKIM_EXTENSION 
inPDFBundleAtURL:aURL error:outError];
+        if (skimFileURL) {
+            fileURL = [[skimFileURL URLByDeletingPathExtension] 
URLByAppendingPathExtension:extension];
+            if ([self fileExistsAtPath:[fileURL path]] == NO)
+                fileURL = nil;
         }
     }
-    if (filePath == nil && outError) 
+    if (fileURL == nil && outError) 
         *outError = [NSError errorWithDomain:NSPOSIXErrorDomain code:ENOENT 
userInfo:[NSDictionary dictionaryWithObjectsAndKeys:SKNLocalizedString(@"Notes 
file not found.", @"Error description"), NSLocalizedDescriptionKey, nil]];
-    return filePath;
+    return fileURL;
 }
 
+- (NSString *)bundledFileWithExtension:(NSString *)extension 
inPDFBundleAtPath:(NSString *)path error:(NSError **)outError {
+    return [[self bundledFileURLWithExtension:extension 
inPDFBundleAtURL:[NSURL fileURLWithPath:path] error:outError] path];
+}
+
 @end

Modified: trunk/SkimNotes/PDFDocument_SKNExtensions.m
===================================================================
--- trunk/SkimNotes/PDFDocument_SKNExtensions.m 2012-12-06 14:02:58 UTC (rev 
7812)
+++ trunk/SkimNotes/PDFDocument_SKNExtensions.m 2012-12-06 18:03:16 UTC (rev 
7813)
@@ -47,12 +47,9 @@
 - (id)initWithURL:(NSURL *)url readSkimNotes:(NSArray **)notes {
     NSFileManager *fm = [NSFileManager defaultManager];
     NSURL *pdfURL = url;
-    NSString *path = [url path];
-    BOOL isPDFBundle = [[path pathExtension] caseInsensitiveCompare:@"pdfd"] 
== NSOrderedSame;
-    if (isPDFBundle) {
-        NSString *pdfPath = [fm bundledFileWithExtension:@"pdf" 
inPDFBundleAtPath:path error:NULL];
-        pdfURL = pdfPath ? [NSURL fileURLWithPath:pdfPath] : nil;
-    }
+    BOOL isPDFBundle = [[url pathExtension] caseInsensitiveCompare:@"pdfd"] == 
NSOrderedSame;
+    if (isPDFBundle)
+        pdfURL = [fm bundledFileURLWithExtension:@"pdf" inPDFBundleAtURL:url 
error:NULL];
     if (self = [self initWithURL:pdfURL]) {
         NSArray *noteDicts = nil;
         NSArray *annotations = nil;

Modified: trunk/SkimNotes/ReleaseNotes.rtf
===================================================================
--- trunk/SkimNotes/ReleaseNotes.rtf    2012-12-06 14:02:58 UTC (rev 7812)
+++ trunk/SkimNotes/ReleaseNotes.rtf    2012-12-06 18:03:16 UTC (rev 7813)
@@ -36,8 +36,9 @@
 
{\list\listtemplateid33\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker
 \{disc\}}{\leveltext\leveltemplateid3201\'01\uc0\u8226 
;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid33}
 
{\list\listtemplateid34\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker
 \{disc\}}{\leveltext\leveltemplateid3301\'01\uc0\u8226 
;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid34}
 
{\list\listtemplateid35\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker
 \{disc\}}{\leveltext\leveltemplateid3401\'01\uc0\u8226 
;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid35}
-{\list\listtemplateid36\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker
 \{disc\}}{\leveltext\leveltemplateid3501\'01\uc0\u8226 
;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid36}}
-{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\listoverridecount0\ls21}{\listoverride\listid22\listoverridecount0\ls22}{\listoverride\listid23\listoverridecount0\ls23}{\listoverride\listid24\listoverridecount0\ls24}{\listoverride\listid25\listoverridecount0\ls25}{\listoverride\listid26\listoverridecount0\ls26}{\listoverride\listid27\listoverridecount0\ls27}{\listoverride\listid28\listoverridecount0\ls28}{\listoverride\listid29\listoverridecount0\ls29}{\listoverride\listid30\listoverridecount0\ls30}{\listoverride\listid31\listoverridecount0\ls31}{\listoverride\listid32\listoverridecount0\ls32}{\listoverride\listid33\listoverridecount0\ls33}{\listoverride\listid34\listoverridecount0\ls34}{\listoverride\listid35\listoverridecount0\ls35}{\listoverride\listid36\listoverridecount0\ls36}}
+{\list\listtemplateid36\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker
 \{disc\}}{\leveltext\leveltemplateid3501\'01\uc0\u8226 
;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid36}
+{\list\listtemplateid37\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker
 \{disc\}}{\leveltext\leveltemplateid3601\'01\uc0\u8226 
;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid37}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\listoverridecount0\ls21}{\listoverride\listid22\listoverridecount0\ls22}{\listoverride\listid23\listoverridecount0\ls23}{\listoverride\listid24\listoverridecount0\ls24}{\listoverride\listid25\listoverridecount0\ls25}{\listoverride\listid26\listoverridecount0\ls26}{\listoverride\listid27\listoverridecount0\ls27}{\listoverride\listid28\listoverridecount0\ls28}{\listoverride\listid29\listoverridecount0\ls29}{\listoverride\listid30\listoverridecount0\ls30}{\listoverride\listid31\listoverridecount0\ls31}{\listoverride\listid32\listoverridecount0\ls32}{\listoverride\listid33\listoverridecount0\ls33}{\listoverride\listid34\listoverridecount0\ls34}{\listoverride\listid35\listoverridecount0\ls35}{\listoverride\listid36\listoverridecount0\ls36}{\listoverride\listid37\listoverridecount0\ls37}}
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 
 \f0\b\fs24 \cf0 SkimNotes Framework and Tool
@@ -45,12 +46,19 @@
 Release Notes\
 \
 
+\b Version 1.3.1\
+\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
+\ls1\ilvl0
+\b0 \cf0 {\listtext    \'95    }URL based method to get files inside a PDF 
bundle\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+\cf0 \
+
 \b Version 1.3\
 Important note: 
 \b0 Minimum required system version is now 10.6
 \b \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls1\ilvl0
+\ls2\ilvl0
 \b0 \cf0 {\listtext    \'95    }Build only Intel binaries\
 {\listtext     \'95    }Set SDK root to current Mac OS X\
 {\listtext     \'95    }Set deployment target to 10.6\
@@ -59,74 +67,74 @@
 
 \b Version 1.2.9\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls2\ilvl0
+\ls3\ilvl0
 \b0 \cf0 {\listtext    \'95    }Add simplified Chinese localization\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.8\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls3\ilvl0
+\ls4\ilvl0
 \b0 \cf0 {\listtext    \'95    }Fix encoding for Japanese .strings files\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls4\ilvl0\cf0 {\listtext      \'95    }Avoid some assignment warnings\
+\ls5\ilvl0\cf0 {\listtext      \'95    }Avoid some assignment warnings\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls5\ilvl0\cf0 {\listtext      \'95    }Fail to process print protected PDFs 
in the skimpdf tool\
+\ls6\ilvl0\cf0 {\listtext      \'95    }Fail to process print protected PDFs 
in the skimpdf tool\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls6\ilvl0\cf0 {\listtext      \'95    }Fix merging PDFs using the skimpdf 
tool\
+\ls7\ilvl0\cf0 {\listtext      \'95    }Fix merging PDFs using the skimpdf 
tool\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.7\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls7\ilvl0
+\ls8\ilvl0
 \b0 \cf0 {\listtext    \'95    }Use 10.6 SDK for Xcode 4 compatibility\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.6\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls8\ilvl0
+\ls9\ilvl0
 \b0 \cf0 {\listtext    \'95    }Add Japanese localization\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.5\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls9\ilvl0
+\ls10\ilvl0
 \b0 \cf0 {\listtext    \'95    }Support for free text note alignment property\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls10\ilvl0\cf0 {\listtext     \'95    }Support for line note interior color 
property\
+\ls11\ilvl0\cf0 {\listtext     \'95    }Support for line note interior color 
property\
 {\listtext     \'95    }New skimpdf CLT for manipulating PDF files with Skim 
notes\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.4\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls11\ilvl0
+\ls12\ilvl0
 \b0 \cf0 {\listtext    \'95    }Return array of annotations rather than 
dictionaries from PDFDocument initializer as documented\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls12\ilvl0\cf0 {\listtext     \'95    }Fix writing of text notes from 
stringnotes command line tool\
+\ls13\ilvl0\cf0 {\listtext     \'95    }Fix writing of text notes from 
stringnotes command line tool\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.3\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls13\ilvl0
+\ls14\ilvl0
 \b0 \cf0 {\listtext    \'95    }Set proper border style for notes from 
properties\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.2\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls14\ilvl0
+\ls15\ilvl0
 \b0 \cf0 {\listtext    \'95    }Add Polish localization\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.2.1\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls15\ilvl0
+\ls16\ilvl0
 \b0 \cf0 {\listtext    \'95    }Support for modificationDate and userName\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
@@ -135,37 +143,37 @@
 Important note: 
 \b0 Minimum required system version is now 10.5\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls16\ilvl0\cf0 {\listtext     \'95    }Build both 32-bit and 64-bit Intel for 
Debug\
+\ls17\ilvl0\cf0 {\listtext     \'95    }Build both 32-bit and 64-bit Intel for 
Debug\
 {\listtext     \'95    }Set deployment target to 10.5\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls17\ilvl0\cf0 {\listtext     \'95    }Support GC in frameworks for Debug and 
Release configuration\
+\ls18\ilvl0\cf0 {\listtext     \'95    }Support GC in frameworks for Debug and 
Release configuration\
 {\listtext     \'95    }Remove special configuration for GC\
 {\listtext     \'95    }Add conditional delegate category conformance for 
compatibility with 10.6 SDK\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls18\ilvl0\cf0 {\listtext     \'95    }Fix for a 64-bit PDFKit bug\
+\ls19\ilvl0\cf0 {\listtext     \'95    }Fix for a 64-bit PDFKit bug\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.1.9
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls19\ilvl0\cf0 {\listtext     \'95    }The shared EA managers are now created 
in a thread safe manner, the instance methods were already thread safe\
+\ls20\ilvl0\cf0 {\listtext     \'95    }The shared EA managers are now created 
in a thread safe manner, the instance methods were already thread safe\
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls20\ilvl0\cf0 {\listtext     \'95    }Support 64-bit Intel for release\
+\ls21\ilvl0\cf0 {\listtext     \'95    }Support 64-bit Intel for release\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.1.8
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls21\ilvl0\cf0 {\listtext     \'95    }Fix reading borderstyle property\
+\ls22\ilvl0\cf0 {\listtext     \'95    }Fix reading borderstyle property\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.1.7
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls22\ilvl0\cf0 {\listtext     \'95    }Fix a leak in the framework\
+\ls23\ilvl0\cf0 {\listtext     \'95    }Fix a leak in the framework\
 {\listtext     \'95    }Make sure .strings files are UTF-16\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
@@ -173,7 +181,7 @@
 \b Version 1.1.6
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls23\ilvl0\cf0 {\listtext     \'95    }Don't change framework install name\
+\ls24\ilvl0\cf0 {\listtext     \'95    }Don't change framework install name\
 {\listtext     \'95    }Add traditional Chinese localization\
 {\listtext     \'95    }New option to prevent compression of  extended 
attributes data, ignored when split into fragments\
 {\listtext     \'95    }Declare error domain and codes for framework\
@@ -184,14 +192,14 @@
 \b Version 1.1.5
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls24\ilvl0\cf0 {\listtext     \'95    }Return an empty array for notes when a 
PDF bundle does not contain any notes\
+\ls25\ilvl0\cf0 {\listtext     \'95    }Return an empty array for notes when a 
PDF bundle does not contain any notes\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.1.4
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls25\ilvl0\cf0 {\listtext     \'95    }Update localizations\
+\ls26\ilvl0\cf0 {\listtext     \'95    }Update localizations\
 {\listtext     \'95    }Add SkimNotesBase framework to release archive\
 {\listtext     \'95    }Add support for Ink annotations\
 {\listtext     \'95    }Remove Czech localization\
@@ -201,7 +209,7 @@
 \b Version 1.1.3
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls26\ilvl0\cf0 {\listtext     \'95    }Move xcconfig files to a subfolder\
+\ls27\ilvl0\cf0 {\listtext     \'95    }Move xcconfig files to a subfolder\
 {\listtext     \'95    }Fix a leak in the framework\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
@@ -209,7 +217,7 @@
 \b Version 1.1.2
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls27\ilvl0\cf0 {\listtext     \'95    }Improvements to xcconfig files\
+\ls28\ilvl0\cf0 {\listtext     \'95    }Improvements to xcconfig files\
 {\listtext     \'95    }Functions to get default text and RTF representations 
of Skim notes\
 {\listtext     \'95    }Fix convert action in CLT\
 {\listtext     \'95    }Don't include the shared EA manager from init\
@@ -219,14 +227,14 @@
 \b Version 1.1.1
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls28\ilvl0\cf0 {\listtext     \'95    }Fix fragment attribute names\
+\ls29\ilvl0\cf0 {\listtext     \'95    }Fix fragment attribute names\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.1
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls29\ilvl0\cf0 {\listtext     \'95    }Consolidate API for annotation 
subclasses to a single file\
+\ls30\ilvl0\cf0 {\listtext     \'95    }Consolidate API for annotation 
subclasses to a single file\
 {\listtext     \'95    }Documentation target\
 {\listtext     \'95    }Ignore fragment attributes when getting all attribute 
names\
 {\listtext     \'95    }Return value for all attributes is now a dictionary\
@@ -249,7 +257,7 @@
 \b Version 1.0.6
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls30\ilvl0\cf0 {\listtext     \'95    }Include quadrilateral points in markup 
note properties\
+\ls31\ilvl0\cf0 {\listtext     \'95    }Include quadrilateral points in markup 
note properties\
 {\listtext     \'95    }Make sure the text in an SKNAnnotationNote is 
initialized properly\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
@@ -257,14 +265,14 @@
 \b Version 1.0.5
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls31\ilvl0\cf0 {\listtext     \'95    }Fix name prefix for extended attribute 
fragments in lookup dictionary\
+\ls32\ilvl0\cf0 {\listtext     \'95    }Fix name prefix for extended attribute 
fragments in lookup dictionary\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.0.4
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls32\ilvl0\cf0 {\listtext     \'95    }Fix typo in French localization\
+\ls33\ilvl0\cf0 {\listtext     \'95    }Fix typo in French localization\
 {\listtext     \'95    }Fix reading of notes from PDF bundles\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
@@ -272,14 +280,14 @@
 \b Version 1.0.3
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls33\ilvl0\cf0 {\listtext     \'95    }Return the POSIX error itself\
+\ls34\ilvl0\cf0 {\listtext     \'95    }Return the POSIX error itself\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
 
 \b Version 1.0.2
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls34\ilvl0\cf0 {\listtext     \'95    }Compress long plist data with 
non-split option\
+\ls35\ilvl0\cf0 {\listtext     \'95    }Compress long plist data with 
non-split option\
 {\listtext     \'95    }Set deployment target to 10.4 and build ppc and i386 
for Release\
 {\listtext     \'95    }Fix an info key\
 {\listtext     \'95    }Return an error when a fragment was not found\
@@ -290,7 +298,7 @@
 \b Version 1.0.1
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls35\ilvl0\cf0 {\listtext     \'95    }Avoid over-releasing of custom 
SKNExtendedAttributeManager\
+\ls36\ilvl0\cf0 {\listtext     \'95    }Avoid over-releasing of custom 
SKNExtendedAttributeManager\
 {\listtext     \'95    }Return an error when reading sSkim notes fails\
 
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
 \cf0 \
@@ -298,5 +306,5 @@
 \b Version 1.0
 \b0 \
 
\pard\tx220\tx720\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li720\fi-720\ql\qnatural\pardirnatural
-\ls36\ilvl0\cf0 {\listtext     \'95    }Initial release of SkimNotes framework 
and CLT\
+\ls37\ilvl0\cf0 {\listtext     \'95    }Initial release of SkimNotes framework 
and CLT\
 }
\ No newline at end of file

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

Reply via email to