diff --git a/apps/calculation/edit_expression_controller.cpp b/apps/calculation/edit_expression_controller.cpp index 37aeb7973..e9b3b6bfe 100644 --- a/apps/calculation/edit_expression_controller.cpp +++ b/apps/calculation/edit_expression_controller.cpp @@ -58,6 +58,10 @@ void EditExpressionController::didBecomeFirstResponder() { Container::activeApp()->setFirstResponder(m_contentView.expressionField()); } +void EditExpressionController::viewWillAppear() { + m_historyController->viewWillAppear(); +} + bool EditExpressionController::textFieldDidReceiveEvent(::TextField * textField, Ion::Events::Event event) { bool shouldDuplicateLastCalculation = textField->isEditing() && textField->shouldFinishEditing(event) && textField->draftTextLength() == 0; if (inputViewDidReceiveEvent(event, shouldDuplicateLastCalculation)) { diff --git a/apps/calculation/edit_expression_controller.h b/apps/calculation/edit_expression_controller.h index 0259f8795..fe2d4c44c 100644 --- a/apps/calculation/edit_expression_controller.h +++ b/apps/calculation/edit_expression_controller.h @@ -17,6 +17,7 @@ public: EditExpressionController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, HistoryController * historyController, CalculationStore * calculationStore); View * view() override { return &m_contentView; } void didBecomeFirstResponder() override; + void viewWillAppear() override; void insertTextBody(const char * text); /* TextFieldDelegate */ diff --git a/apps/calculation/history_controller.cpp b/apps/calculation/history_controller.cpp index c2f6ed508..b8ff57bd9 100644 --- a/apps/calculation/history_controller.cpp +++ b/apps/calculation/history_controller.cpp @@ -32,6 +32,10 @@ void HistoryController::reload() { } } +void HistoryController::viewWillAppear() { + reload(); +} + void HistoryController::didBecomeFirstResponder() { selectCellAtLocation(0, numberOfRows()-1); Container::activeApp()->setFirstResponder(&m_selectableTableView); diff --git a/apps/calculation/history_controller.h b/apps/calculation/history_controller.h index ef7d39d96..1422a62d7 100644 --- a/apps/calculation/history_controller.h +++ b/apps/calculation/history_controller.h @@ -16,6 +16,7 @@ public: HistoryController(Responder * parentResponder, CalculationStore * calculationStore); View * view() override { return &m_selectableTableView; } bool handleEvent(Ion::Events::Event event) override; + void viewWillAppear() override; void didBecomeFirstResponder() override; void willExitResponderChain(Responder * nextFirstResponder) override; void reload();