diff --git a/radio/src/thirdparty/libopenui/src/menu.h b/radio/src/thirdparty/libopenui/src/menu.h index b93486170..9e41eaa32 100644 --- a/radio/src/thirdparty/libopenui/src/menu.h +++ b/radio/src/thirdparty/libopenui/src/menu.h @@ -122,11 +122,7 @@ class MenuBody: public Window protected: std::vector lines; -#if defined(HARDWARE_TOUCH) - int selectedIndex = -1; -#else int selectedIndex = 0; -#endif std::function onCancel; inline Menu * getParentMenu(); @@ -185,6 +181,11 @@ class Menu: public ModalWindow waitHandler = std::move(handler); } + void setFocusBody(uint8_t flag = SET_FOCUS_DEFAULT) + { + content->body.setFocus(flag); + } + void setToolbar(Window * window) { toolbar = window; diff --git a/radio/src/thirdparty/libopenui/src/menutoolbar.h b/radio/src/thirdparty/libopenui/src/menutoolbar.h index aae69d1a6..44365caed 100644 --- a/radio/src/thirdparty/libopenui/src/menutoolbar.h +++ b/radio/src/thirdparty/libopenui/src/menutoolbar.h @@ -156,9 +156,11 @@ class MenuToolbar: public FormGroup { choice->fillMenu(menu, [=](int16_t index) { return index >= filtermin && index <= filtermax; }); + menu->setFocusBody(); } else { choice->fillMenu(menu); + menu->setFocusBody(); } return 1; });