Thank you! That was exactly what I was looking for.
On Dec 10, 2011, at 6:00 PM, Lee Ann Rucker wrote:

> Try the application delegate method application:openFile: - it gets called 
> before the NSDocument handling gets a shot at it.
> 
> ----- Original Message -----
> From: "C.W. Betts" <computer...@hotmail.com>
> To: "julius" <jul...@juliuspaintings.co.uk>, "Cocoa Development" 
> <cocoa-dev@lists.apple.com>
> Sent: Saturday, December 10, 2011 4:51:44 PM
> Subject: Re: Best way to manage double-clicked files?
> 
> 
> On Dec 10, 2011, at 8:23 AM, julius wrote:
> 
>> On Fri, 09 Dec 2011 13:14:26 -0700 C.W. Betts wrote
>>> 
>>> What is the best way to handle double-clicked files in an application that 
>>> doesn't use documents? The reason I ask is because a project I'm working 
>>> on, PCSX-R, currently uses NSDocument subclasses to handle opening of files 
>>> double-clicked in the Finder. However, the 
>>> readFromFileWrapper:ofType:error: function returns NO even if the file is 
>>> loaded to prevent the document window from popping up (I have it se with no 
>>> close buttons; the window is called modally), but it shows an error that 
>>> the file wasn't opened, despite it being so.  Should I use a different way 
>>> of managing double-clicked files, or is there a function that I should 
>>> overload on my NSDocument subclass?
>>> 
>>> ------------------------------
>> Hi, 
>> not sure if understand your question.
>> 
>> I am assuming
>> 1. you want program to start from double click of document file
>> 2. you want to be able to open program by clicking application file but do 
>> not want the app to open an empty document window.
>> 
> I want it so that when I double-click a file in Finder, a window pops up and 
> lets me select an option, then the window goes away. I'm wondering if 
> NSDocument is the best way to do this, or if another method would be better 
> suited.  This is the current code I'm using for the memory card chooser:
> 
> - (int)showMemoryCardChooserForFile:(NSString *)theFile
> {
>       if (!changeMemCardSheet) {
>               [NSBundle loadNibNamed:[self windowNibName] owner:self];
>       }
>       [cardPath setObjectValue:theFile];
>       
>       [NSApp runModalForWindow:changeMemCardSheet];
>       
>       [NSApp endSheet:changeMemCardSheet];
>       [changeMemCardSheet orderOut:self];
>       
>       return memChosen;
> }
> 
> - (BOOL)readFromFileWrapper:(NSFileWrapper *)fileWrapper ofType:(NSString 
> *)typeName error:(NSError **)outError
> {
>       int chosen = [self showMemoryCardChooserForFile:[fileWrapper filename]];
>       if (chosen == 0) {
>               return NO;
>       } else {
>               [ConfigurationController setMemoryCard:chosen toPath:[[self 
> fileURL] path]];
>               //TODO: make this return YES so that "File Can't be Opened" 
> dialog box doesn't pop up, but the window itself doesn't stay on the screen.
>               return NO;
>       }
> }
> It is returning NO because if I return YES, after the modal window pops up, a 
> button is pressed that will dismiss the modal dialog, the window pops up 
> again, non-modal this time, making the button that would have closed it not 
> work. But because I return NO, a message pops up that says the file could not 
> be opened. I want to fix that if at all possible.
> 
> I already discovered the fix for no. 
> 2._______________________________________________
> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to