mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-16 01:08:56 +00:00
GRAPHICS: MACGUI: Don't filter keypresses in processMenuShortCut()
This is already done in keyEvent(), which is the only place where processMenuShortCut() is called. This allows using Alt-<key> as shortcut, which is consistent with how the Mac emulators I've tried does it.
This commit is contained in:
parent
89bd9e7a22
commit
d63ad4c2e3
@ -1236,7 +1236,7 @@ bool MacMenu::keyEvent(Common::Event &event) {
|
||||
|
||||
if (event.kbd.flags & (Common::KBD_ALT | Common::KBD_CTRL | Common::KBD_META)) {
|
||||
if (event.kbd.ascii >= 0x20 && event.kbd.ascii <= 0x7f) {
|
||||
return processMenuShortCut(event.kbd.flags, event.kbd.ascii);
|
||||
return processMenuShortCut(event.kbd.ascii);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1471,23 +1471,23 @@ bool MacMenu::mouseRelease(int x, int y) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MacMenu::processMenuShortCut(byte flags, uint16 ascii) {
|
||||
bool MacMenu::processMenuShortCut(uint16 ascii) {
|
||||
ascii = tolower(ascii);
|
||||
|
||||
if (flags & (Common::KBD_CTRL | Common::KBD_META)) {
|
||||
for (uint i = 0; i < _items.size(); i++)
|
||||
if (_items[i]->submenu != nullptr) {
|
||||
for (uint j = 0; j < _items[i]->submenu->items.size(); j++)
|
||||
if (_items[i]->submenu->items[j]->enabled && tolower(_items[i]->submenu->items[j]->shortcut) == ascii) {
|
||||
if (_items[i]->submenu->items[j]->unicode) {
|
||||
if (checkCallback(true))
|
||||
(*_unicodeccallback)(_items[i]->submenu->items[j]->action, _items[i]->submenu->items[j]->unicodeText, _cdata);
|
||||
} else {
|
||||
if (checkCallback())
|
||||
(*_ccallback)(_items[i]->submenu->items[j]->action, _items[i]->submenu->items[j]->text, _cdata);
|
||||
}
|
||||
return true;
|
||||
for (uint i = 0; i < _items.size(); i++) {
|
||||
if (_items[i]->submenu != nullptr) {
|
||||
for (uint j = 0; j < _items[i]->submenu->items.size(); j++) {
|
||||
if (_items[i]->submenu->items[j]->enabled && tolower(_items[i]->submenu->items[j]->shortcut) == ascii) {
|
||||
if (_items[i]->submenu->items[j]->unicode) {
|
||||
if (checkCallback(true))
|
||||
(*_unicodeccallback)(_items[i]->submenu->items[j]->action, _items[i]->submenu->items[j]->unicodeText, _cdata);
|
||||
} else {
|
||||
if (checkCallback())
|
||||
(*_ccallback)(_items[i]->submenu->items[j]->action, _items[i]->submenu->items[j]->text, _cdata);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -202,7 +202,7 @@ private:
|
||||
bool mouseRelease(int x, int y);
|
||||
bool mouseMove(int x, int y);
|
||||
|
||||
bool processMenuShortCut(byte flags, uint16 ascii);
|
||||
bool processMenuShortCut(uint16 ascii);
|
||||
|
||||
void drawSubMenuArrow(ManagedSurface *dst, int x, int y, int color);
|
||||
bool contains(int x, int y);
|
||||
|
Loading…
x
Reference in New Issue
Block a user