From 06b552c033eefee629f6212d2f25a7bbbb27092b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Thu, 7 Jun 2018 11:20:51 +0200 Subject: [PATCH] [escher] InputViewController: call the textField/ExpressionLayout delegate 'DidFinishEvent' after performing the sucess or abort action --- escher/include/escher/input_view_controller.h | 4 ++-- escher/src/input_view_controller.cpp | 22 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/escher/include/escher/input_view_controller.h b/escher/include/escher/input_view_controller.h index 395c59bab..8dd6757f7 100644 --- a/escher/include/escher/input_view_controller.h +++ b/escher/include/escher/input_view_controller.h @@ -52,8 +52,8 @@ private: char m_textBuffer[k_bufferLength]; ExpressionField m_expressionField; }; - bool inputViewDidFinishEditing(); - bool inputViewDidAbortEditing(); + void inputViewDidFinishEditing(); + void inputViewDidAbortEditing(); ExpressionFieldController m_expressionFieldController; Invocation m_successAction; Invocation m_failureAction; diff --git a/escher/src/input_view_controller.cpp b/escher/src/input_view_controller.cpp index 6b868626e..b73d77c38 100644 --- a/escher/src/input_view_controller.cpp +++ b/escher/src/input_view_controller.cpp @@ -55,11 +55,15 @@ bool InputViewController::textFieldShouldFinishEditing(TextField * textField, Io } bool InputViewController::textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) { - return inputViewDidFinishEditing(); + inputViewDidFinishEditing(); + m_textFieldDelegate->textFieldDidFinishEditing(textField, text, event); + return true; } bool InputViewController::textFieldDidAbortEditing(TextField * textField) { - return inputViewDidAbortEditing(); + inputViewDidAbortEditing(); + m_textFieldDelegate->textFieldDidAbortEditing(textField); + return true; } bool InputViewController::textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) { @@ -79,11 +83,15 @@ bool InputViewController::expressionLayoutFieldDidReceiveEvent(ExpressionLayoutF } bool InputViewController::expressionLayoutFieldDidFinishEditing(ExpressionLayoutField * expressionLayoutField, Poincare::ExpressionLayout * layout, Ion::Events::Event event) { - return inputViewDidFinishEditing(); + inputViewDidFinishEditing(); + m_expressionLayoutFieldDelegate->expressionLayoutFieldDidFinishEditing(expressionLayoutField, layout, event); + return true; } bool InputViewController::expressionLayoutFieldDidAbortEditing(ExpressionLayoutField * expressionLayoutField) { - return inputViewDidAbortEditing(); + inputViewDidAbortEditing(); + m_expressionLayoutFieldDelegate->expressionLayoutFieldDidAbortEditing(expressionLayoutField); + return true; } void InputViewController::expressionLayoutFieldDidChangeSize(ExpressionLayoutField * expressionLayoutField) { @@ -100,14 +108,12 @@ Toolbox * InputViewController::toolboxForExpressionLayoutField(ExpressionLayoutF return m_expressionLayoutFieldDelegate->toolboxForExpressionLayoutField(expressionLayoutField); } -bool InputViewController::inputViewDidFinishEditing() { +void InputViewController::inputViewDidFinishEditing() { m_successAction.perform(this); dismissModalViewController(); - return true; } -bool InputViewController::inputViewDidAbortEditing() { +void InputViewController::inputViewDidAbortEditing() { m_failureAction.perform(this); dismissModalViewController(); - return true; }