Re: Getting file type from Save dlog
Re: Getting file type from Save dlog
- Subject: Re: Getting file type from Save dlog
- From: Kyle Sluder <email@hidden>
- Date: Wed, 30 Jan 2013 13:24:32 -0800
On Wed, Jan 30, 2013, at 12:32 PM, Steve Mills wrote:
> On Jan 25, 2013, at 16:42:01, Kevin Perry <email@hidden> wrote:
>
> > If you’re using your own accessory view instead of the built-in one (shouldRunSavePanelWithAccessoryView), you’re responsible for changing the value of fileTypeFromLastRunSavePanel. One way to do this is to make your NSDocument instance the target of the popup button’s action and change an internal ivar inside that action method.
>
> I finally got this all figured out. This is a mess. It's goofy that Apple
> decided to send the localized type name strings here instead of the
> actual types supplied, which would be extensions or UTIs. Those would
> make *so* much more sense.
If your Info.plist is set up correctly, you should be able to use UTIs
here.
>
> I ended up overriding writableTypesForSaveOperation. It took me a long
> time to figure out why it was *always* showing 3 types when I was passing
> it 2. Then I figured out that those 3 types are in the Info.plist with a
> NSDocumentClass that's the same as the class that's showing the Save
> dlog, and a CFBundleTypeRole of Editor. NSDocument is trying to be too
> smart here and use those types, even though I specifically told the
> NSSavePanel to setAllowedFileTypes to just my 2 types. Boo to this mess
> for wasting my time.
The implication is that -writableTypesForSaveOperation: influences
NSDocument's provided popup, and the choice in the popup influences the
save panel's allowedFileTypes. You seem to have understood the
information to flow in the opposite direction, but since NSDocument is
driving NSSavePanel and not vice versa it should now make sense to you
that it works this way.
--Kyle Sluder
_______________________________________________
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