From 8778516fe2bcb401207d1f35b9050e3de0356d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Wed, 25 Apr 2018 15:15:12 +0200 Subject: [PATCH] [escher] expressionLayoutFieldDidChangeSize reloads only the modalView Change-Id: Ib406c7d10e2befae9d660e025c84df58a2e9b70c --- escher/include/escher/modal_view_controller.h | 1 + escher/src/input_view_controller.cpp | 6 +++--- escher/src/modal_view_controller.cpp | 4 ++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/escher/include/escher/modal_view_controller.h b/escher/include/escher/modal_view_controller.h index 83e4b3001..198e473b3 100644 --- a/escher/include/escher/modal_view_controller.h +++ b/escher/include/escher/modal_view_controller.h @@ -13,6 +13,7 @@ public: void didBecomeFirstResponder() override; void displayModalViewController(ViewController * vc, float verticalAlignment, float horizontalAlignment, KDCoordinate topMargin = 0, KDCoordinate leftMargin = 0, KDCoordinate bottomMargin = 0, KDCoordinate rightMargin = 0); + void reloadModalViewController(); void dismissModalViewController(); bool isDisplayingModal(); void viewWillAppear() override; diff --git a/escher/src/input_view_controller.cpp b/escher/src/input_view_controller.cpp index 4d0fdff73..c7bec3a3e 100644 --- a/escher/src/input_view_controller.cpp +++ b/escher/src/input_view_controller.cpp @@ -87,12 +87,12 @@ bool InputViewController::expressionLayoutFieldDidAbortEditing(ExpressionLayoutF } void InputViewController::expressionLayoutFieldDidChangeSize(ExpressionLayoutField * expressionLayoutField) { - // Reload the view only if the ExpressionField height actually changes, - // i.e. not if the height is already maximal and stays maximal. + /* Reload the view only if the ExpressionField height actually changes, i.e. + * not if the height is already maximal and stays maximal. */ bool newInputViewHeightIsMaximal = m_expressionFieldController.expressionField()->heightIsMaximal(); if (!m_inputViewHeightIsMaximal || !newInputViewHeightIsMaximal) { m_inputViewHeightIsMaximal = newInputViewHeightIsMaximal; - reloadView(); + reloadModalViewController(); } } diff --git a/escher/src/modal_view_controller.cpp b/escher/src/modal_view_controller.cpp index d589d061d..cd3ab4bd3 100644 --- a/escher/src/modal_view_controller.cpp +++ b/escher/src/modal_view_controller.cpp @@ -123,6 +123,10 @@ void ModalViewController::displayModalViewController(ViewController * vc, float app()->setFirstResponder(vc); } +void ModalViewController::reloadModalViewController() { + m_contentView.layoutSubviews(); +} + void ModalViewController::dismissModalViewController() { m_currentModalViewController->viewDidDisappear(); app()->setFirstResponder(m_previousResponder);