From 9f380bf424d370ba28b71d83fbf7d72f13d457db Mon Sep 17 00:00:00 2001 From: M4x1m3 Date: Tue, 2 Mar 2021 16:09:09 +0100 Subject: [PATCH 1/2] [apps/settings] Fixed broken about submenu --- apps/settings/sub_menu/about_controller.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 53962af66..0ce684d0c 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,7 +39,7 @@ 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(); stack->push(subController); return true; From b08f793776622e685f464fa3cae875c8b31766bc Mon Sep 17 00:00:00 2001 From: M4x1m3 Date: Tue, 2 Mar 2021 16:16:23 +0100 Subject: [PATCH 2/2] [apps/settings] Fix #151 --- apps/settings/sub_menu/about_controller.cpp | 1 + apps/settings/sub_menu/generic_sub_controller.h | 3 ++- apps/settings/sub_menu/math_options_controller.cpp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) 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; }