fix: Use setAvailableHandler to filter blMode menu (#1798)

This commit is contained in:
Peter Feerick
2022-04-05 18:19:59 +10:00
committed by GitHub
parent fe8cd4244b
commit ee5226bb61
+11 -18
View File
@@ -330,25 +330,18 @@ void RadioSetupPage::build(FormWindow * window)
// Backlight mode
new StaticText(window, grid.getLabelSlot(true), STR_MODE, 0, COLOR_THEME_PRIMARY1);
#if defined COLORLCD
BacklightMode minBacklightMode = e_backlight_mode_keys;
#else
BacklightMode minBacklightMode = e_backlight_mode_off;
#endif
const char* values[e_backlight_mode_on+1] = {};
uint8_t len = STR_VBLMODE[0];
const char * value = &STR_VBLMODE[1];
for (int i = e_backlight_mode_off; i <= e_backlight_mode_on; i++) {
values[i] = value;
value += len;
}
new Choice(window, grid.getFieldSlot(2,0), &values[minBacklightMode], minBacklightMode, e_backlight_mode_on, GET_DEFAULT(g_eeGeneral.backlightMode),
[=](int32_t newValue) {
g_eeGeneral.backlightMode = newValue;
updateBacklightControls();
});
//grid.nextLine();
auto blMode = new Choice(window, grid.getFieldSlot(2, 0), STR_VBLMODE,
e_backlight_mode_off, e_backlight_mode_on,
GET_DEFAULT(g_eeGeneral.backlightMode),
[=](int32_t newValue) {
g_eeGeneral.backlightMode = newValue;
updateBacklightControls();
});
blMode->setAvailableHandler(
[=](int newValue) { return newValue != e_backlight_mode_off; });
// Delay
auto edit = new NumberEdit(window, grid.getFieldSlot(2, 1), 5, 600,
GET_DEFAULT(g_eeGeneral.lightAutoOff * 5),