diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 0ce684d0c..e2fe3f5a6 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -41,6 +41,7 @@ bool AboutController::handleEvent(Ion::Events::Event event) { GenericSubController * subController = &m_contributorsController; subController->setMessageTreeModel(m_messageTreeModel->childAtIndex(selectedRow()+(!hasUsernameCell()))); StackViewController * stack = stackController(); + m_lastSelect = selectedRow(); stack->push(subController); return true; } diff --git a/apps/settings/sub_menu/generic_sub_controller.h b/apps/settings/sub_menu/generic_sub_controller.h index c149a2508..d48336d9f 100644 --- a/apps/settings/sub_menu/generic_sub_controller.h +++ b/apps/settings/sub_menu/generic_sub_controller.h @@ -23,8 +23,9 @@ public: void setMessageTreeModel(const MessageTree * messageTreeModel); void viewDidDisappear() override; protected: + int m_lastSelect = 0; StackViewController * stackController() const; - virtual int initialSelectedRow() const { return 0; } + virtual int initialSelectedRow() const { return m_lastSelect; } constexpr static KDCoordinate k_topBottomMargin = 13; SelectableTableView m_selectableTableView; MessageTree * m_messageTreeModel; diff --git a/apps/settings/sub_menu/math_options_controller.cpp b/apps/settings/sub_menu/math_options_controller.cpp index b1a239506..50566ba60 100644 --- a/apps/settings/sub_menu/math_options_controller.cpp +++ b/apps/settings/sub_menu/math_options_controller.cpp @@ -25,6 +25,7 @@ bool MathOptionsController::handleEvent(Ion::Events::Event event) { subController = &m_preferencesController; subController->setMessageTreeModel(m_messageTreeModel->childAtIndex(selectedRow())); StackViewController * stack = stackController(); + m_lastSelect = selectedRow(); stack->push(subController); return true; }