diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 53962af66..e2fe3f5a6 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -29,7 +29,7 @@ AboutController::AboutController(Responder * parentResponder) : } bool AboutController::handleEvent(Ion::Events::Event event) { - I18n::Message childLabel = m_messageTreeModel->childAtIndex(selectedRow())->label(); + I18n::Message childLabel = m_messageTreeModel->childAtIndex(selectedRow()+(!hasUsernameCell()))->label(); /* We hide here the activation hardware test app: in the menu "about", by * clicking on '6' on the last row. */ if ((event == Ion::Events::Six || event == Ion::Events::LowerT || event == Ion::Events::UpperT) && childLabel == I18n::Message::FccId) { @@ -39,8 +39,9 @@ bool AboutController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) { if (childLabel == I18n::Message::Contributors) { GenericSubController * subController = &m_contributorsController; - subController->setMessageTreeModel(m_messageTreeModel->childAtIndex(selectedRow())); + 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; }