On Oct 19, 2013, at 12:28 PM, Martin Hewitson <martin.hewit...@aei.mpg.de> 
wrote:

> OK, so the idea is,
> 
> + validateMenuItem in app delegate gets a first shot at setting the keyboard 
> shortcuts
> + I override validateMenuItem in my tabbed window and reset the keyboard 
> shortcuts
> + Other windows stick with the settings arranged by the app delegate
> 
> Did I understand correctly?

validateMenuItem: isn't going to work. It only gets called when the menu item 
in question is revealed, usually by the user clicking on the menu containing 
it. You can verify this yourself by putting a log in validateMenuItem: and 
seeing when it gets logged. Presumably, you want your shortcuts to work even if 
the user hasn't clicked on any of the menus yet, which means you want to set 
them somewhere other than validateMenuItem:.

I'd probably go with the windowDid(Become)|(Resign)Key: methods myself. Unless 
the menu is somehow displayed at the same time as the window's focus is 
changing, windowDidResignKey: and validateMenuItem: shouldn't be part of the 
same session (other than if the window lost focus because the user selected 
"Close" from the menu bar, but in that case validateMenuItem: would be called 
before the item was even selected). It's possible that there could be some 
scenario that I'm overlooking, though, in which case someone will hopefully 
chime in.

Charles

_______________________________________________

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