diff --git a/AppKit/CPMenu/CPMenu.j b/AppKit/CPMenu/CPMenu.j index 7db374b6a..581819c56 100644 --- a/AppKit/CPMenu/CPMenu.j +++ b/AppKit/CPMenu/CPMenu.j @@ -621,7 +621,7 @@ var _CPMenuBarVisible = NO, */ - (void)update { - if (![self autoenablesItems]) + if (!_autoenablesItems) return; var items = [self itemArray]; @@ -634,7 +634,6 @@ var _CPMenuBarVisible = NO, continue; var validator = [CPApp targetForAction:[item action] to:[item target] from:item], - shouldBeEnabled = YES; if (!validator) @@ -1184,7 +1183,8 @@ var _CPMenuBarVisible = NO, var CPMenuTitleKey = @"CPMenuTitleKey", CPMenuNameKey = @"CPMenuNameKey", CPMenuItemsKey = @"CPMenuItemsKey", - CPMenuShowsStateColumnKey = @"CPMenuShowsStateColumnKey"; + CPMenuShowsStateColumnKey = @"CPMenuShowsStateColumnKey", + CPMenuAutoEnablesItemsKey = @"CPMenuAutoEnablesItemsKey"; @implementation CPMenu (CPCoding) @@ -1206,7 +1206,7 @@ var CPMenuTitleKey = @"CPMenuTitleKey", _showsStateColumn = ![aCoder containsValueForKey:CPMenuShowsStateColumnKey] || [aCoder decodeBoolForKey:CPMenuShowsStateColumnKey]; - _autoenablesItems = YES; + _autoenablesItems = ![aCoder containsValueForKey:CPMenuAutoEnablesItemsKey] || [aCoder decodeBoolForKey:CPMenuAutoEnablesItemsKey]; [self setMinimumWidth:0]; } @@ -1229,6 +1229,9 @@ var CPMenuTitleKey = @"CPMenuTitleKey", if (!_showsStateColumn) [aCoder encodeBool:_showsStateColumn forKey:CPMenuShowsStateColumnKey]; + + if (!_autoenablesItems) + [aCoder encodeBool:_autoenablesItems forKey:CPMenuAutoEnablesItemsKey]; } @end diff --git a/AppKit/CPMenuItem/_CPMenuItemView.j b/AppKit/CPMenuItem/_CPMenuItemView.j index 46d7a62f4..568ba9d77 100644 --- a/AppKit/CPMenuItem/_CPMenuItemView.j +++ b/AppKit/CPMenuItem/_CPMenuItemView.j @@ -112,7 +112,6 @@ _view = menuItemView; } } - else if ([_menuItem menu] == [CPApp mainMenu]) { if (![_view isKindOfClass:[_CPMenuItemMenuBarView class]]) diff --git a/Tools/nib2cib/NSMenu.j b/Tools/nib2cib/NSMenu.j index 6a59da332..6642cc7eb 100644 --- a/Tools/nib2cib/NSMenu.j +++ b/Tools/nib2cib/NSMenu.j @@ -52,6 +52,8 @@ NS_CPMenuNameMap = _name = mappedName; _showsStateColumn = ![aCoder containsValueForKey:@"NSMenuExcludeMarkColumn"] || ![aCoder decodeBoolForKey:@"NSMenuExcludeMarkColumn"]; + + _autoenablesItems = ![aCoder containsValueForKey:@"NSNoAutoenable"] || ![aCoder decodeBoolForKey:@"NSNoAutoenable"]; } return self;