Identify Select Tab submenu by its menu title instead of pointer

This is an intermediary step to get rid of the outlets.
This commit is contained in:
Allan Odgaard
2018-04-30 10:48:52 +07:00
parent bafe0e572b
commit 8ddfa9efe1

View File

@@ -39,6 +39,11 @@ OAK_DEBUG_VAR(OakSubmenuController);
[marksMenu setDelegate:self];
}
- (BOOL)isSelectTabMenu:(NSMenu*)aMenu
{
return [aMenu.title isEqualToString:@"Select Tab"];
}
- (void)updateMenu:(NSMenu*)aMenu withSelector:(SEL)aSelector
{
[aMenu removeAllItems];
@@ -50,14 +55,14 @@ OAK_DEBUG_VAR(OakSubmenuController);
- (void)menuNeedsUpdate:(NSMenu*)aMenu
{
[self updateMenu:aMenu withSelector:aMenu == selectTabMenu ? @selector(updateSelectTabMenu:) : @selector(updateBookmarksMenu:)];
[self updateMenu:aMenu withSelector:[self isSelectTabMenu:aMenu] ? @selector(updateSelectTabMenu:) : @selector(updateBookmarksMenu:)];
}
- (BOOL)menuHasKeyEquivalent:(NSMenu*)aMenu forEvent:(NSEvent*)anEvent target:(id*)anId action:(SEL*)aSEL
{
D(DBF_OakSubmenuController, bug("%s %s\n", to_s(anEvent).c_str(), [[aMenu description] UTF8String]););
if(aMenu != selectTabMenu)
if(![self isSelectTabMenu:aMenu])
return NO;
std::string const eventString = to_s(anEvent);