fix(color): TELE navigation issue when editing top bar widgets (#4344)

This commit is contained in:
philmoz
2023-11-21 10:25:36 +10:00
committed by GitHub
parent af43536072
commit 1b6b1f0af0
3 changed files with 18 additions and 2 deletions
@@ -136,9 +136,8 @@ void ScreenUserInterfacePage::build(FormWindow* window)
auto line = window->newLine(&grid);
new StaticText(line, rect_t{}, STR_TOP_BAR, 0, COLOR_THEME_PRIMARY1);
auto menu = this->menu;
auto setupTopbarWidgets = new TextButton(line, rect_t{}, STR_SETUP_WIDGETS);
setupTopbarWidgets->setPressHandler([menu]() -> uint8_t {
setupTopbarWidgets->setPressHandler([=]() -> uint8_t {
menu->deleteLater();
new SetupTopBarWidgetsPage();
return 0;
+16
View File
@@ -87,3 +87,19 @@ void SetupTopBarWidgetsPage::deleteLater(bool detach, bool trash)
storageDirty(EE_MODEL);
}
void SetupTopBarWidgetsPage::onEvent(event_t event)
{
#if defined(HARDWARE_KEYS)
if (event == EVT_KEY_FIRST(KEY_PAGEUP) || event == EVT_KEY_FIRST(KEY_PAGEDN) ||
event == EVT_KEY_FIRST(KEY_SYS) || event == EVT_KEY_FIRST(KEY_MODEL)) {
killEvents(event);
} else if (event == EVT_KEY_FIRST(KEY_TELE)) {
onCancel();
} else {
FormWindow::onEvent(event);
}
#else
FormWindow::onEvent(event);
#endif
}
+1
View File
@@ -48,5 +48,6 @@ class SetupTopBarWidgetsPage : public FormWindow
void onClicked() override;
void onCancel() override;
void onEvent(event_t event) override;
void deleteLater(bool detach = true, bool trash = true) override;
};