[escher] In textfields, in editing mode, OK == EXE

Change-Id: I83c9fd8f6c5ea5348067108899a065a3b1d69d5c
This commit is contained in:
Émilie Feral
2017-03-08 15:13:07 +01:00
parent 8f1d37c28c
commit d862001bc3
2 changed files with 5 additions and 2 deletions

View File

@@ -45,7 +45,7 @@ bool TextFieldDelegateApp::cursorInToken(TextField * textField, const char * tok
}
bool TextFieldDelegateApp::textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) {
if (event == Ion::Events::OK && textField->isEditing()) {
if ((event == Ion::Events::OK || event == Ion::Events::EXE) && textField->isEditing()) {
Expression * exp = Expression::parse(textField->text());
if (exp == nullptr) {
if (textField->textLength() == 0) {

View File

@@ -269,7 +269,7 @@ bool TextField::handleEvent(Ion::Events::Event event) {
return true;
}
}
if (event == Ion::Events::OK) {
if (event == Ion::Events::OK || event == Ion::Events::EXE) {
if (isEditing()) {
strlcpy(m_contentView.textBuffer(), m_contentView.draftTextBuffer(), m_contentView.bufferSize());
setEditing(false);
@@ -277,6 +277,9 @@ bool TextField::handleEvent(Ion::Events::Event event) {
reloadScroll();
return true;
}
if (event == Ion::Events::EXE) {
return false;
}
setEditing(true);
insertTextAtLocation(m_contentView.textBuffer(), cursorLocation());
setCursorLocation(strlen(m_contentView.draftTextBuffer()));