diff options
Diffstat (limited to 'src/osx/gui/Menu.mm')
-rw-r--r-- | src/osx/gui/Menu.mm | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osx/gui/Menu.mm b/src/osx/gui/Menu.mm index 69e45ad3..53e69520 100644 --- a/src/osx/gui/Menu.mm +++ b/src/osx/gui/Menu.mm @@ -1,5 +1,7 @@ +#include "cru/osx/gui/Menu.hpp" #import "MenuPrivate.h" +#include "KeyboardPrivate.h" #include "cru/common/platform/osx/Convert.hpp" #import <AppKit/NSApplication.h> @@ -72,6 +74,16 @@ IMenu* OsxMenuItem::GetParentMenu() { return p_->parent_menu_; } IMenu* OsxMenuItem::GetSubmenu() { return p_->sub_menu_; } +void OsxMenuItem::SetKeyboardShortcut(KeyCode key, KeyModifier modifiers) { + [p_->menu_item_ setKeyEquivalent:ConvertKeyCodeToKeyEquivalent(key)]; + [p_->menu_item_ setKeyEquivalentModifierMask:ConvertKeyModifier(modifiers)]; +} + +void OsxMenuItem::DeleteKeyboardShortcut() { + [p_->menu_item_ setKeyEquivalent:@""]; + [p_->menu_item_ setKeyEquivalentModifierMask:0]; +} + void OsxMenuItem::SetOnClickHandler(std::function<void()> handler) { p_->on_click_handler_ = std::move(handler); } |