From ca2ebc803a6d2b51d94cee0fcc09b070ec4b0ec5 Mon Sep 17 00:00:00 2001 From: forntoh Date: Sun, 19 Jan 2025 19:08:58 +0100 Subject: [PATCH] Update widget command handling logic Added a check for edit mode before processing UP/DOWN commands. This ensures that value toggling only happens when the menu is in edit mode, improving user experience and preventing unintended changes. --- src/widget/WidgetBool.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/widget/WidgetBool.h b/src/widget/WidgetBool.h index 9f4864ad..be1677f5 100644 --- a/src/widget/WidgetBool.h +++ b/src/widget/WidgetBool.h @@ -41,11 +41,14 @@ class WidgetBool : public BaseWidgetValue { * @return true if command was handled, false otherwise */ bool process(LcdMenu* menu, const unsigned char command) override { - if (command == UP || command == DOWN) { - value = !value; - LOG(F("WidgetToggle::toggle"), value); - handleChange(); - return true; + MenuRenderer* renderer = menu->getRenderer(); + if (renderer->isInEditMode()) { + if (command == UP || command == DOWN) { + value = !value; + LOG(F("WidgetToggle::toggle"), value); + handleChange(); + return true; + } } return false; }