From 041c26afb4948211573f97b1674717eddec1b29b Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 28 Apr 2020 10:09:38 +0200 Subject: [PATCH] onFocusLost calls now focusHandler(false) when this handler is set --- radio/src/gui/colorlcd/model_inputs.h | 4 +++- radio/src/gui/colorlcd/model_select.cpp | 4 +++- radio/src/gui/colorlcd/radio_sdmanager.cpp | 4 +++- radio/src/thirdparty/libopenui | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/radio/src/gui/colorlcd/model_inputs.h b/radio/src/gui/colorlcd/model_inputs.h index 3e931c925..69c4e6796 100644 --- a/radio/src/gui/colorlcd/model_inputs.h +++ b/radio/src/gui/colorlcd/model_inputs.h @@ -45,8 +45,10 @@ class CommonInputOrMixButton : public Button { Button(parent, rect), index(index) { - setFocusHandler([=]() { + setFocusHandler([=](bool active) { + if (active) { bringToTop(); + } }); } diff --git a/radio/src/gui/colorlcd/model_select.cpp b/radio/src/gui/colorlcd/model_select.cpp index 803579053..902c12fa3 100644 --- a/radio/src/gui/colorlcd/model_select.cpp +++ b/radio/src/gui/colorlcd/model_select.cpp @@ -257,8 +257,10 @@ class ModelCategoryPageBody: public FormWindow { for (auto & model: * category) { auto button = new ModelButton(this, {x, y, MODEL_SELECT_CELL_WIDTH, MODEL_SELECT_CELL_HEIGHT}, model, nullptr); - button->setFocusHandler([=] { + button->setFocusHandler([=](bool active) { + if (active) { footer->setCurrentModel(model); + } }); button->setPressHandler([=]() -> uint8_t { diff --git a/radio/src/gui/colorlcd/radio_sdmanager.cpp b/radio/src/gui/colorlcd/radio_sdmanager.cpp index 792f0ff02..aee37972b 100644 --- a/radio/src/gui/colorlcd/radio_sdmanager.cpp +++ b/radio/src/gui/colorlcd/radio_sdmanager.cpp @@ -257,8 +257,10 @@ void RadioSdManagerPage::build(FormWindow * window) } return 0; }, 0); - button->setFocusHandler([=]() { + button->setFocusHandler([=](bool active) { + if (active) { preview->setFile(getFullPath(name)); + } }); grid.nextLine(); } diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 9d283f2b8..a7b25ad59 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 9d283f2b805444e8dca33eb5112fa34396176549 +Subproject commit a7b25ad5948f6e5a9b02e0862f5b51c89771dab5