X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/40a35c1f8732ad993e4c496976f7cfe1ed8060f8..7c60222510bc5e197b12f153c4bf05db66cb0f4a:/src/osx/cocoa/menuitem.mm?ds=sidebyside diff --git a/src/osx/cocoa/menuitem.mm b/src/osx/cocoa/menuitem.mm index 969a11b44c..05179eca9e 100644 --- a/src/osx/cocoa/menuitem.mm +++ b/src/osx/cocoa/menuitem.mm @@ -33,8 +33,11 @@ struct Mapping Mapping sActionToWXMapping[] = { +// as we don't have NSUndoManager support we must not use the native actions +#if 0 { wxID_UNDO, @selector(undo:) }, { wxID_REDO, @selector(redo:) }, +#endif { wxID_CUT, @selector(cut:) }, { wxID_COPY, @selector(copy:) }, { wxID_PASTE, @selector(paste:) }, @@ -74,8 +77,8 @@ SEL wxOSXGetSelectorFromID(int menuId ) - (id) initWithTitle:(NSString *)aString action:(SEL)aSelector keyEquivalent:(NSString *)charCode { - [super initWithTitle:aString action:aSelector keyEquivalent:charCode]; - return self; + self = [super initWithTitle:aString action:aSelector keyEquivalent:charCode]; + return self; } - (void) clickedAction: (id) sender @@ -137,6 +140,9 @@ void wxMacCocoaMenuItemSetAccelerator( NSMenuItem* menuItem, wxAcceleratorEntry* if (entry->GetFlags() & wxACCEL_CTRL) modifiers |= NSCommandKeyMask; + if (entry->GetFlags() & wxACCEL_RAW_CTRL) + modifiers |= NSControlKeyMask; + if (entry->GetFlags() & wxACCEL_ALT) modifiers |= NSAlternateKeyMask ; @@ -305,6 +311,10 @@ bool wxMenuItemCocoaImpl::DoDefault() [theNSApplication unhideAllApplications:nil]; handled=true; } + else if (menuid == wxApp::s_macExitMenuItemId) + { + wxTheApp->ExitMainLoop(); + } return handled; } @@ -328,7 +338,7 @@ wxMenuItemImpl* wxMenuItemImpl::Create( wxMenuItem* peer, wxMenu *pParentMenu, wxCFStringRef cfText(text); SEL selector = nil; bool targetSelf = false; - if ( ! pParentMenu->GetNoEventsMode() && pSubMenu == NULL ) + if ( (pParentMenu == NULL || !pParentMenu->GetNoEventsMode()) && pSubMenu == NULL ) { selector = wxOSXGetSelectorFromID(menuid);