From 98cf1f6c9268c6caf483ac4316e8b8d7b941038f Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 16 Apr 2020 13:00:50 +0200 Subject: [PATCH] ExpansionPanel scroll issue --- radio/src/thirdparty/libopenui/src/expansion_panel.h | 2 +- radio/src/thirdparty/libopenui/src/form.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/radio/src/thirdparty/libopenui/src/expansion_panel.h b/radio/src/thirdparty/libopenui/src/expansion_panel.h index f26292f13..6092b293c 100644 --- a/radio/src/thirdparty/libopenui/src/expansion_panel.h +++ b/radio/src/thirdparty/libopenui/src/expansion_panel.h @@ -48,7 +48,7 @@ class ExpansionPanel: public FormGroup { public: ExpansionPanel(Window * parent, const rect_t & rect): - FormGroup(parent, rect, FORM_NO_BORDER | FORM_FORWARD_FOCUS) + FormGroup(parent, rect, FORM_NO_BORDER | FORM_FORWARD_FOCUS | FORWARD_SCROLL) { } diff --git a/radio/src/thirdparty/libopenui/src/form.cpp b/radio/src/thirdparty/libopenui/src/form.cpp index 3ada0ae14..10fe016d2 100644 --- a/radio/src/thirdparty/libopenui/src/form.cpp +++ b/radio/src/thirdparty/libopenui/src/form.cpp @@ -115,6 +115,7 @@ void FormGroup::setFocus(uint8_t flag) if (first) first->setFocus(SET_FOCUS_FIRST); break; + case SET_FOCUS_BACKWARD: // TODO this test should be recursive if (focusWindow == first || focusWindow->getParent() == first) { @@ -128,6 +129,7 @@ void FormGroup::setFocus(uint8_t flag) last->setFocus(SET_FOCUS_BACKWARD); } break; + case SET_FOCUS_FORWARD: // TODO this test should be recursive if (focusWindow == last || focusWindow->getParent() == last || focusWindow->getParent()->getParent() == last) { @@ -141,6 +143,7 @@ void FormGroup::setFocus(uint8_t flag) first->setFocus(SET_FOCUS_FORWARD); } break; + default: if (focusWindow == previous) { if (first)