Re: [NSOpenPanel] How to disable folder selection but still access their contents?
Re: [NSOpenPanel] How to disable folder selection but still access their contents?
- Subject: Re: [NSOpenPanel] How to disable folder selection but still access their contents?
- From: Iceberg-Dev <email@hidden>
- Date: Fri, 24 Oct 2008 23:26:49 +0200
On Oct 24, 2008, at 1:20 AM, Corbin Dunn wrote:
On Oct 23, 2008, at 1:38 PM, Iceberg-Dev wrote:
Solution not found in the cocoabuilder archive.
Problem:
--------
I have a list of files and folders.
I can add items to this list through a standard NSOpenPanel dialog.
When a folder is already in the list, I want to prevent the user
from selecting it from the NSOpenPanel dialog.
I can do this with:
- (BOOL) panel:(id)sender shouldShowFilename:(NSString *) inFileName;
The problem is that this prevents the user from selecting a file
within this folder from the NSOpenDialog.
Question:
---------
Is there a way to prevent a folder from being selected but still
allow a file within this folder to be selected?
Yes; I think just calling setCanChooseDirectories:NO will work.
If not, then:
1. Don't use shouldShowFilename:
2. Call setCanChooseDirectories:NO
3. Call beginForDirectory:.. types:(your types)
If you have to do some specific dynamic processing to turn on/off
enabled types, then you may be out of luck.
Feel free to log a bug requesting to make this process easier. (I
already do have some bugs logged for this ability to be easier, so
I am aware of the problem).
Hmm. Actually, I want the user to be able to choose a folder/
directory as long as it's not already in my list of files/folders.
Otherwise, setCanChooseDirectories:NO would work,
Or am I missing something and you're suggesting to call
setCanChooseDirectories:NO:NO from the panel:shouldShowFilename:
delegate method?
_______________________________________________
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:
This email sent to email@hidden