From 880a514f1873dbb87e544db88fa3f81e36d133ec Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 6 Jun 2021 12:21:50 +0200 Subject: [PATCH 1/2] [Menu] select the first element by default, even if hardware touch is supported --- radio/src/thirdparty/libopenui/src/menu.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/menu.h b/radio/src/thirdparty/libopenui/src/menu.h index b93486170..da61996f0 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(); From 8d02f3884a8fcf6d6711fc5ca17c16319238b8c6 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 6 Jun 2021 13:53:05 +0200 Subject: [PATCH 2/2] [Menu] added setFocusBody() --- radio/src/thirdparty/libopenui/src/menu.h | 5 +++++ radio/src/thirdparty/libopenui/src/menutoolbar.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/radio/src/thirdparty/libopenui/src/menu.h b/radio/src/thirdparty/libopenui/src/menu.h index da61996f0..9e41eaa32 100644 --- a/radio/src/thirdparty/libopenui/src/menu.h +++ b/radio/src/thirdparty/libopenui/src/menu.h @@ -181,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; });