Re: NSMenuItem’s userKeyEquivalent lost if changing title
Re: NSMenuItem’s userKeyEquivalent lost if changing title
- Subject: Re: NSMenuItem’s userKeyEquivalent lost if changing title
- From: Allan Odgaard <email@hidden>
- Date: Tue, 20 Sep 2016 09:56:35 +0200
Minor improvement on the code below, when title is equal to plainTitle
we can set attributedTitle to nil.
This restores proper rendering of disabled items.
Finder should be able to do the same, as when its dynamic menu items are
disabled, they would normally not contain the dynamic part (info about
selected items).
On 20 Sep 2016, at 9:37, Allan Odgaard wrote:
Thanks, I’ll switch to using this category method for setting
dynamic titles:
- (void)setDynamicTitle:(NSString*)plainTitle
{
if(self.userKeyEquivalent && ![self.userKeyEquivalent
isEqualToString:@""])
{
NSString* title = plainTitle;
plainTitle = self.title;
NSFont* font = self.menu.font ?: [NSFont menuFontOfSize:0];
self.attributedTitle = [[NSAttributedString alloc]
initWithString:title attributes:@{ NSFontAttributeName : font }];
}
self.title = plainTitle;
}
_______________________________________________
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