Revision: 3630
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3630&view=rev
Author:   hofman
Date:     2008-04-04 17:35:09 -0700 (Fri, 04 Apr 2008)

Log Message:
-----------
Use OS dependent string constants for document types rather than functions.

Modified Paths:
--------------
    trunk/SKDocument.m
    trunk/SKDocumentController.h
    trunk/SKDocumentController.m

Modified: trunk/SKDocument.m
===================================================================
--- trunk/SKDocument.m  2008-04-05 00:20:56 UTC (rev 3629)
+++ trunk/SKDocument.m  2008-04-05 00:35:09 UTC (rev 3630)
@@ -220,7 +220,7 @@
         if (formatPopup) {
             NSString *lastExportedType = [[NSUserDefaults 
standardUserDefaults] stringForKey:SKLastExportedTypeKey];
             if ([[self pdfDocument] allowsPrinting] == NO) {
-                int idx = [formatPopup 
indexOfItemWithRepresentedObject:SKGetEmbeddedPDFDocumentType()];
+                int idx = [formatPopup 
indexOfItemWithRepresentedObject:SKEmbeddedPDFDocumentType];
                 if (idx != -1)
                     [formatPopup removeItemAtIndex:idx];
             }
@@ -287,7 +287,7 @@
                 
                 if (saveNotesOK) {
                     NSString *tmpPath = [NSTemporaryDirectory() 
stringByAppendingPathComponent:[[NSProcessInfo processInfo] 
globallyUniqueString]];
-                    if ([[self notes] count] == 0 || [self writeToURL:[NSURL 
fileURLWithPath:tmpPath] ofType:SKGetNotesDocumentType() error:NULL]) {
+                    if ([[self notes] count] == 0 || [self writeToURL:[NSURL 
fileURLWithPath:tmpPath] ofType:SKNotesDocumentType error:NULL]) {
                         if (fileExists)
                             saveNotesOK = [fm removeFileAtPath:notesPath 
handler:nil];
                         if ([[self notes] count]) {

Modified: trunk/SKDocumentController.h
===================================================================
--- trunk/SKDocumentController.h        2008-04-05 00:20:56 UTC (rev 3629)
+++ trunk/SKDocumentController.h        2008-04-05 00:35:09 UTC (rev 3630)
@@ -52,17 +52,17 @@
 extern BOOL SKIsPostScriptDocumentType(NSString *docType);
 extern BOOL SKIsDVIDocumentType(NSString *docType);
 
-extern NSString *SKGetPDFDocumentType();
-extern NSString *SKGetPDFBundleDocumentType();
-extern NSString *SKGetEmbeddedPDFDocumentType();
-extern NSString *SKGetBarePDFDocumentType();
-extern NSString *SKGetNotesDocumentType();
-extern NSString *SKGetNotesTextDocumentType();
-extern NSString *SKGetNotesRTFDocumentType();
-extern NSString *SKGetNotesRTFDDocumentType();
-extern NSString *SKGetNotesFDFDocumentType();
-extern NSString *SKGetPostScriptDocumentType();
-extern NSString *SKGetDVIDocumentType();
+extern NSString *SKPDFDocumentType;
+extern NSString *SKPDFBundleDocumentType;
+extern NSString *SKEmbeddedPDFDocumentType;
+extern NSString *SKBarePDFDocumentType;
+extern NSString *SKNotesDocumentType;
+extern NSString *SKNotesTextDocumentType;
+extern NSString *SKNotesRTFDocumentType;
+extern NSString *SKNotesRTFDDocumentType;
+extern NSString *SKNotesFDFDocumentType;
+extern NSString *SKPostScriptDocumentType;
+extern NSString *SKDVIDocumentType;
 
 enum {
     SKImagePboardTypesMask = 1,

Modified: trunk/SKDocumentController.m
===================================================================
--- trunk/SKDocumentController.m        2008-04-05 00:20:56 UTC (rev 3629)
+++ trunk/SKDocumentController.m        2008-04-05 00:35:09 UTC (rev 3630)
@@ -69,6 +69,18 @@
 static NSString *SKPostScriptDocumentUTI = @"com.adobe.postscript";
 static NSString *SKDVIDocumentUTI = @"net.sourceforge.skim-app.dvi"; // I 
don't know the UTI for dvi, is there one?
 
+NSString *SKPDFDocumentType = nil;
+NSString *SKPDFBundleDocumentType = nil;
+NSString *SKEmbeddedPDFDocumentType = nil;
+NSString *SKBarePDFDocumentType = nil;
+NSString *SKNotesDocumentType = nil;
+NSString *SKNotesTextDocumentType = nil;
+NSString *SKNotesRTFDocumentType = nil;
+NSString *SKNotesRTFDDocumentType = nil;
+NSString *SKNotesFDFDocumentType = nil;
+NSString *SKPostScriptDocumentType = nil;
+NSString *SKDVIDocumentType = nil;
+
 static BOOL SKIsEqualToDocumentType(NSString *docType, NSString *docTypeName, 
NSString *docUTI) {
     return ([[NSWorkspace sharedWorkspace] 
respondsToSelector:@selector(type:conformsToType:)] && [[NSWorkspace 
sharedWorkspace] type:docType conformsToType:docUTI]) || [docType 
isEqualToString:docTypeName];
 }
@@ -107,47 +119,35 @@
     return SKIsEqualToDocumentType(docType, SKDVIDocumentTypeName, 
SKDVIDocumentUTI);
 }
 
-NSString *SKGetPDFDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKPDFDocumentTypeName : SKPDFDocumentUTI;
-}
-NSString *SKGetPDFBundleDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKPDFBundleDocumentTypeName : SKPDFBundleDocumentUTI;
-}
-NSString *SKGetEmbeddedPDFDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKEmbeddedPDFDocumentTypeName : SKEmbeddedPDFDocumentUTI;
-}
-NSString *SKGetBarePDFDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKBarePDFDocumentTypeName : SKBarePDFDocumentUTI;
-}
-NSString *SKGetNotesDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKNotesDocumentTypeName : SKNotesDocumentUTI;
-}
-NSString *SKGetNotesTextDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKNotesTextDocumentTypeName : SKTextDocumentUTI;
-}
-NSString *SKGetNotesRTFDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKNotesRTFDocumentTypeName : SKRTFDocumentUTI;
-}
-NSString *SKGetNotesRTFDDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKNotesRTFDDocumentTypeName : SKRTFDDocumentUTI;
-}
-NSString *SKGetNotesFDFDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKNotesFDFDocumentTypeName : SKFDFDocumentUTI;
-}
-NSString *SKGetPostScriptDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKPostScriptDocumentTypeName : SKPostScriptDocumentUTI;
-}
-NSString *SKGetDVIDocumentType(void) {
-    return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4 ? 
SKDVIDocumentTypeName : SKDVIDocumentUTI;
-}
-
 @implementation SKDocumentController
 
 + (void)initialize {
     OBINITIALIZE;
     
-    if (nil == SKPDFDocumentTypeName)
-        SKPDFDocumentTypeName = [NSPDFPboardType copy];
+    SKPDFDocumentTypeName = [NSPDFPboardType copy];
+    if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4) {
+        SKPDFBundleDocumentType = SKPDFDocumentTypeName;
+        SKEmbeddedPDFDocumentType = SKEmbeddedPDFDocumentTypeName;
+        SKBarePDFDocumentType = SKBarePDFDocumentTypeName;
+        SKNotesDocumentType = SKNotesDocumentTypeName;
+        SKNotesTextDocumentType = SKNotesTextDocumentTypeName;
+        SKNotesRTFDocumentType = SKNotesRTFDocumentTypeName;
+        SKNotesRTFDDocumentType = SKNotesRTFDDocumentTypeName;
+        SKNotesFDFDocumentType = SKNotesFDFDocumentTypeName;
+        SKPostScriptDocumentType = SKPostScriptDocumentTypeName;
+        SKDVIDocumentType = SKDVIDocumentTypeName;
+    } else {
+        SKPDFBundleDocumentType = SKPDFDocumentUTI;
+        SKEmbeddedPDFDocumentType = SKEmbeddedPDFDocumentUTI;
+        SKBarePDFDocumentType = SKBarePDFDocumentUTI;
+        SKNotesDocumentType = SKNotesDocumentUTI;
+        SKNotesTextDocumentType = SKTextDocumentUTI;
+        SKNotesRTFDocumentType = SKRTFDocumentUTI;
+        SKNotesRTFDDocumentType = SKRTFDDocumentUTI;
+        SKNotesFDFDocumentType = SKFDFDocumentUTI;
+        SKPostScriptDocumentType = SKPostScriptDocumentUTI;
+        SKDVIDocumentType = SKDVIDocumentUTI;
+    }
 }
 
 - (NSString *)typeFromFileExtension:(NSString *)fileExtensionOrHFSFileType {
@@ -155,7 +155,7 @@
     if (SKIsEmbeddedPDFDocumentType(type) || SKIsBarePDFDocumentType(type)) {
         // fix of bug when reading a PDF file on 10.4
         // this is interpreted as SKEmbeddedPDFDocumentType, even though we 
don't declare that as a readable type
-        type = SKGetPDFDocumentType();
+        type = SKPDFDocumentType;
     }
        return type;
 }
@@ -183,9 +183,9 @@
             NSFileHandle *fh = [NSFileHandle 
fileHandleForReadingAtPath:fileName];
             NSData *leadingData = [fh readDataOfLength:headerLength];
             if ([leadingData length] >= [pdfHeaderData length] && 
[pdfHeaderData isEqual:[leadingData subdataWithRange:NSMakeRange(0, 
[pdfHeaderData length])]]) {
-                type = SKGetPostScriptDocumentType();
+                type = SKPostScriptDocumentType;
             } else if ([leadingData length] >= [psHeaderData length] && 
[psHeaderData isEqual:[leadingData subdataWithRange:NSMakeRange(0, 
[psHeaderData length])]]) {
-                type = SKGetPostScriptDocumentType();
+                type = SKPostScriptDocumentType;
             }
         }
         if (type == nil && outError)
@@ -245,7 +245,7 @@
             pboardType = NSPDFPboardType;
         }
         
-        NSString *type = [pboardType isEqualToString:NSPostScriptPboardType] ? 
SKGetPostScriptDocumentType() : SKGetPDFDocumentType();
+        NSString *type = [pboardType isEqualToString:NSPostScriptPboardType] ? 
SKPostScriptDocumentType : SKPDFDocumentType;
         NSError *error = nil;
         
         document = [self makeUntitledDocumentOfType:type error:&error];


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 the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to