On Jan 25, 2013, at 16:42:01, Kevin Perry <kpe...@apple.com> 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.

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.

--
Steve Mills
office: 952-818-3871
home: 952-401-6255
cell: 612-803-6157



_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

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

Reply via email to