Revision: 3933
http://skim-app.svn.sourceforge.net/skim-app/?rev=3933&view=rev
Author: hofman
Date: 2008-05-29 09:02:35 -0700 (Thu, 29 May 2008)
Log Message:
-----------
Use Downloads folder for downloads on Leopard. IC doesn't get the right folder.
Modified Paths:
--------------
trunk/Files_SKExtensions.m
Modified: trunk/Files_SKExtensions.m
===================================================================
--- trunk/Files_SKExtensions.m 2008-05-29 15:09:26 UTC (rev 3932)
+++ trunk/Files_SKExtensions.m 2008-05-29 16:02:35 UTC (rev 3933)
@@ -40,34 +40,40 @@
#import <Carbon/Carbon.h>
NSURL *SKDownloadFolderURL() {
- OSStatus err;
- ICInstance inst;
- ICAttr junk = 0;
- ICFileSpec spec;
- static CFURLRef pathURL = NULL;
+ static NSURL *downloadsURL = nil;
- if (NULL == pathURL) {
- long size = sizeof(ICFileSpec);
- FSRef pathRef;
-
- err = ICStart(&inst, 'SKim');
- if (noErr == err)
- err = ICBegin(inst, icReadOnlyPerm);
-
- if (err == noErr) {
- err = ICGetPref(inst, kICDownloadFolder, &junk, &spec, &size);
- if (noErr == err) {
- ICEnd(inst);
- ICStop(inst);
+ if (nil == downloadsURL) {
+ if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_4) {
+ NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDownloadsDirectory, NSUserDomainMask,
YES);
+ NSString *path = [paths count] ? [paths objectAtIndex:0] :
[NSHomeDirectory() stringByAppendingPathComponent:@"Downloads"];
+ downloadsURL = [[NSURL alloc] initFileURLWithPath:path];
+ } else {
+ OSStatus err;
+ ICInstance inst;
+ ICAttr junk = 0;
+ ICFileSpec spec;
+ long size = sizeof(ICFileSpec);
+ FSRef pathRef;
+
+ err = ICStart(&inst, 'SKim');
+ if (noErr == err)
+ err = ICBegin(inst, icReadOnlyPerm);
+
+ if (err == noErr) {
+ err = ICGetPref(inst, kICDownloadFolder, &junk, &spec, &size);
+ if (noErr == err) {
+ ICEnd(inst);
+ ICStop(inst);
+ }
+
+ err = FSpMakeFSRef(&(spec.fss), &pathRef);
+ if(err == noErr)
+ downloadsURL = (NSURL
*)CFURLCreateFromFSRef(CFAllocatorGetDefault(), &pathRef);
}
-
- err = FSpMakeFSRef(&(spec.fss), &pathRef);
- if(err == noErr)
- pathURL = CFURLCreateFromFSRef(CFAllocatorGetDefault(),
&pathRef);
}
}
- return (NSURL *)pathURL;
+ return downloadsURL;
}
BOOL SKFileIsInTrash(NSURL *fileURL) {
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 2008.
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