diff options
Diffstat (limited to 'src/guiTextInputMenu.cpp')
-rw-r--r-- | src/guiTextInputMenu.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/guiTextInputMenu.cpp b/src/guiTextInputMenu.cpp index 8a9da3489..0668aa7b3 100644 --- a/src/guiTextInputMenu.cpp +++ b/src/guiTextInputMenu.cpp @@ -120,6 +120,20 @@ void GUITextInputMenu::drawMenu() gui::IGUIElement::draw(); } +void GUITextInputMenu::acceptInput() +{ + if(m_dest) + { + gui::IGUIElement *e = getElementFromId(256); + if(e != NULL) + { + m_dest->gotText(e->getText()); + } + delete m_dest; + m_dest = NULL; + } +} + bool GUITextInputMenu::OnEvent(const SEvent& event) { if(event.EventType==EET_KEY_INPUT_EVENT) @@ -129,6 +143,12 @@ bool GUITextInputMenu::OnEvent(const SEvent& event) quitMenu(); return true; } + if(event.KeyInput.Key==KEY_RETURN && event.KeyInput.PressedDown) + { + acceptInput(); + quitMenu(); + return true; + } } if(event.EventType==EET_GUI_EVENT) { @@ -148,15 +168,7 @@ bool GUITextInputMenu::OnEvent(const SEvent& event) switch(event.GUIEvent.Caller->getID()) { case 257: - if(m_dest) - { - gui::IGUIElement *e = getElementFromId(256); - if(e != NULL) - { - m_dest->gotText(e->getText()); - } - delete m_dest; - } + acceptInput(); quitMenu(); break; } |