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