Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: iconForFile




On 16/11/2007, at 11:29 AM, Lorenzo wrote:

Hi,
I use [NSWorkspace sharedWorkspace] iconForFile:filePath] to get the 128x128
icon of a file or a folder. It works well, but it is amazingly slow. It get
the icon in about 1 second, much more that getting a thumbnail of a large
jpg file by CGImageSourceCreateThumbnailAtIndex.
Is a faster way, even an old carbon way, working on Tiger and Leopard?



Best Regards -- Lorenzo email: email@hidden

Well, on my machine (G4 DP 1.25Ghz 1 Gig RAM)), it takes 0.002 seconds to do it. There is something else happening in your case I reckon.


Here's my complete IBAction:

- (IBAction)chooseFile:(id)sender
{
	NSOpenPanel *panel;
	NSString *chosenFile;
	int result;
	NSString *title = @"Choose the file";
	NSString *okButtonTitle = @"Choose";
	panel = [NSOpenPanel openPanel];
	[panel setCanChooseDirectories:YES];
	[panel setCanChooseFiles:YES];
	[panel setAllowsMultipleSelection:NO];
	[panel setTitle:title];
	[panel setPrompt:okButtonTitle];
	result = [panel runModalForDirectory:nil file:nil types:nil];

NSLog(@"time 1");

if (result == NSOKButton) {
chosenFile = [panel filename];
NSImage *aImage = [[NSWorkspace sharedWorkspace] iconForFile:chosenFile];
[myView setFileIcon:aImage];
[myView setSize:NSMakeSize(128.0,128.0)];
[myView setNeedsDisplay:YES];
[slider setFloatValue:128.0];
[currentSize setStringValue:@"128"];
}


	NSLog(@"time 2");
}

2007-11-16 12:19:00.538 GetFileIcons[4121] time 1
2007-11-16 12:19:00.540 GetFileIcons[4121] time 2

Ron

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >iconForFile (From: Lorenzo <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.