From cad3c3c57e1592685f040b06580c8d4976b716c2 Mon Sep 17 00:00:00 2001 From: Reed Nightingale Date: Sat, 15 Feb 2020 15:27:48 -0800 Subject: [PATCH] Add an enterSubmenu routine to centralize that behavior --- menu.cpp | 11 +++++++++++ menu.h | 2 ++ menu_main_buttons.cpp | 3 +-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/menu.cpp b/menu.cpp index dd00a78..680716d 100644 --- a/menu.cpp +++ b/menu.cpp @@ -30,3 +30,14 @@ void runActiveMenu(const ButtonPress_e tuner_button, } }//end switch } + +void enterSubmenu(Menu_t *const submenu) +{ + Menu_t* current_menu = rootMenu; + while(nullptr != current_menu->active_submenu){ + current_menu = current_menu->active_submenu; + } + current_menu->active_submenu = submenu; + submenu->initMenu(); +} + diff --git a/menu.h b/menu.h index 97d06a6..82a755e 100644 --- a/menu.h +++ b/menu.h @@ -30,3 +30,5 @@ void runActiveMenu(const ButtonPress_e tuner_button, const ButtonPress_e touch_button, const Point touch_point, const int16_t knob); + +void enterSubmenu(Menu_t *const submenu); diff --git a/menu_main_buttons.cpp b/menu_main_buttons.cpp index 42c6266..ecd4982 100644 --- a/menu_main_buttons.cpp +++ b/menu_main_buttons.cpp @@ -588,6 +588,5 @@ void osMenu(){ } void osNumpad(){ - numpadMenu->initMenu(); - rootMenu->active_submenu = numpadMenu; + enterSubmenu(numpadMenu); }