From 10e1982b2356d3a1ff35620f1c7dc03cf0d6d808 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Mon, 22 Aug 2022 09:04:27 +0200 Subject: [PATCH] Form field: re-implemented enable/disable --- radio/src/thirdparty/libopenui/src/form.cpp | 14 ++++++++++++++ radio/src/thirdparty/libopenui/src/form.h | 10 ++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/form.cpp b/radio/src/thirdparty/libopenui/src/form.cpp index 2c8d1a01a..0cc4af75e 100644 --- a/radio/src/thirdparty/libopenui/src/form.cpp +++ b/radio/src/thirdparty/libopenui/src/form.cpp @@ -48,6 +48,20 @@ void FormField::setEditMode(bool newEditMode) invalidate(); } +void FormField::enable(bool value) +{ + if (value) { + lv_obj_clear_state(lvobj, LV_STATE_DISABLED); + } else { + lv_obj_add_state(lvobj, LV_STATE_DISABLED); + } +} + +bool FormField::isEnabled() const +{ + return !lv_obj_has_state(lvobj, LV_STATE_DISABLED); +} + void FormField::onClicked() { lv_indev_type_t indev_type = lv_indev_get_type(lv_indev_get_act()); diff --git a/radio/src/thirdparty/libopenui/src/form.h b/radio/src/thirdparty/libopenui/src/form.h index 2a35e045a..c6d8fd3af 100644 --- a/radio/src/thirdparty/libopenui/src/form.h +++ b/radio/src/thirdparty/libopenui/src/form.h @@ -52,14 +52,8 @@ class FormField : public Window inline bool isEditMode() const { return editMode; } virtual void setEditMode(bool newEditMode); - // TODO: replace with LVGL flags - void enable(bool value = true) - { - enabled = value; - invalidate(); - } - - bool isEnabled() const { return enabled; } + bool isEnabled() const; + void enable(bool value = true); void disable() { enable(false); } void onFocusLost() override