diff --git a/apps/shared/editable_cell_table_view_controller.cpp b/apps/shared/editable_cell_table_view_controller.cpp index 8cd2b3cfa..3659b2c99 100644 --- a/apps/shared/editable_cell_table_view_controller.cpp +++ b/apps/shared/editable_cell_table_view_controller.cpp @@ -113,16 +113,9 @@ void EditableCellTableViewController::didBecomeFirstResponder() { } } -void EditableCellTableViewController::didEnterResponderChain(Responder * previousFirstResponder) { - if (selectedRow() == -1) { - selectCellAtLocation(0, 1); - } else { - int selRow = selectedRow(); - selRow = selRow >= numberOfRows() ? numberOfRows()-1 : selRow; - int selColumn = selectedColumn(); - selColumn = selColumn >= numberOfColumns() ? numberOfColumns() - 1 : selColumn; - selectCellAtLocation(selColumn, selRow); - } +void EditableCellTableViewController::viewWillAppear() { + TabTableController::viewWillAppear(); + selectCellAtLocation(0,1); } TextFieldDelegateApp * EditableCellTableViewController::textFieldDelegateApp() { diff --git a/apps/shared/editable_cell_table_view_controller.h b/apps/shared/editable_cell_table_view_controller.h index a3b459ad7..b214edd65 100644 --- a/apps/shared/editable_cell_table_view_controller.h +++ b/apps/shared/editable_cell_table_view_controller.h @@ -19,9 +19,8 @@ public: int numberOfRows() override; void willDisplayCellAtLocationWithDisplayMode(HighlightCell * cell, int i, int j, Poincare::Expression::FloatDisplayMode FloatDisplayMode); KDCoordinate rowHeight(int j) override; - + void viewWillAppear() override; void didBecomeFirstResponder() override; - void didEnterResponderChain(Responder * previousFirstResponder) override; private: TextFieldDelegateApp * textFieldDelegateApp() override; static constexpr KDCoordinate k_cellHeight = 20; diff --git a/apps/shared/interactive_curve_view_controller.cpp b/apps/shared/interactive_curve_view_controller.cpp index d2607a9dc..ac844b595 100644 --- a/apps/shared/interactive_curve_view_controller.cpp +++ b/apps/shared/interactive_curve_view_controller.cpp @@ -148,9 +148,6 @@ void InteractiveCurveViewController::viewWillAppear() { } } curveView()->setOkView(&m_okView); -} - -void InteractiveCurveViewController::didEnterResponderChain(Responder * previousFirstResponder) { if (!curveView()->isMainViewSelected()) { curveView()->selectMainView(true); header()->setSelectedButton(-1); @@ -159,6 +156,11 @@ void InteractiveCurveViewController::didEnterResponderChain(Responder * previous curveView()->reload(); } +void InteractiveCurveViewController::didEnterResponderChain(Responder * previousFirstResponder) { + reloadBannerView(); + curveView()->reload(); +} + void InteractiveCurveViewController::willExitResponderChain(Responder * nextFirstResponder) { if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) { curveView()->selectMainView(false); diff --git a/apps/shared/interactive_curve_view_controller.h b/apps/shared/interactive_curve_view_controller.h index 1e66e249c..92307d7bc 100644 --- a/apps/shared/interactive_curve_view_controller.h +++ b/apps/shared/interactive_curve_view_controller.h @@ -31,8 +31,8 @@ public: Responder * defaultController() override; void viewWillAppear() override; - void willExitResponderChain(Responder * nextFirstResponder) override; void didEnterResponderChain(Responder * previousFirstResponder) override; + void willExitResponderChain(Responder * nextFirstResponder) override; protected: constexpr static float k_numberOfCursorStepsInGradUnit = 5.0f; virtual BannerView * bannerView() = 0; diff --git a/apps/statistics/histogram_controller.cpp b/apps/statistics/histogram_controller.cpp index 2f5832600..6d81c176a 100644 --- a/apps/statistics/histogram_controller.cpp +++ b/apps/statistics/histogram_controller.cpp @@ -128,7 +128,7 @@ Responder * HistogramController::defaultController() { return tabController(); } -void HistogramController::didEnterResponderChain(Responder * previousFirstResponder) { +void HistogramController::viewWillAppear() { if (!m_view.isMainViewSelected()) { m_view.selectMainView(true); header()->setSelectedButton(-1); diff --git a/apps/statistics/histogram_controller.h b/apps/statistics/histogram_controller.h index c6842a3fc..edf92c2f5 100644 --- a/apps/statistics/histogram_controller.h +++ b/apps/statistics/histogram_controller.h @@ -27,7 +27,7 @@ public: bool isEmpty() const override; I18n::Message emptyMessage() override; Responder * defaultController() override; - void didEnterResponderChain(Responder * previousFirstResponder) override; + void viewWillAppear() override; void willExitResponderChain(Responder * nextFirstResponder) override; private: constexpr static int k_maxNumberOfBarsPerWindow = 100;