From 05a858d4c2d9c194fdabc80c6f95f4c22ea1fc24 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 19 Sep 2021 10:18:25 +0200 Subject: [PATCH] [menutoolbar] pass current value to fillMenu() --- .../src/thirdparty/libopenui/src/menutoolbar.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/menutoolbar.h b/radio/src/thirdparty/libopenui/src/menutoolbar.h index 484b6ba48..a26e70b98 100644 --- a/radio/src/thirdparty/libopenui/src/menutoolbar.h +++ b/radio/src/thirdparty/libopenui/src/menutoolbar.h @@ -147,19 +147,24 @@ class MenuToolbar: public FormGroup { if (vmin > filtermin || vmax < filtermin) return; - if (choice->isValueAvailable && getFirstAvailable(filtermin, filtermax, choice->isValueAvailable) == 0) + if (choice->isValueAvailable && + getFirstAvailable(filtermin, filtermax, choice->isValueAvailable) == + 0) return; - auto button = new MenuToolbarButton(this, {0, y, MENUS_TOOLBAR_BUTTON_WIDTH, MENUS_TOOLBAR_BUTTON_WIDTH}, picto); + auto button = new MenuToolbarButton( + this, {0, y, MENUS_TOOLBAR_BUTTON_WIDTH, MENUS_TOOLBAR_BUTTON_WIDTH}, + picto); + button->setPressHandler([=]() { + auto val = choice->getValue(); if (button->checked()) { - choice->fillMenu(menu, [=](int16_t index) { + choice->fillMenu(menu, val, [=](int16_t index) { return index >= filtermin && index <= filtermax; }); menu->setFocusBody(); - } - else { - choice->fillMenu(menu); + } else { + choice->fillMenu(menu, val); menu->setFocusBody(); } return 1;