diff --git a/radio/src/gui/colorlcd/LvglWrapper.cpp b/radio/src/gui/colorlcd/LvglWrapper.cpp index 3e094882d..74c63e5fa 100644 --- a/radio/src/gui/colorlcd/LvglWrapper.cpp +++ b/radio/src/gui/colorlcd/LvglWrapper.cpp @@ -203,10 +203,16 @@ static lv_style_t textedit_style_main; static lv_style_t textedit_style_focused; static lv_style_t textedit_style_cursor; static lv_style_t textedit_style_cursor_edit; +static lv_style_t numberedit_style_main; +static lv_style_t numberedit_style_focused; +static lv_style_t numberedit_style_cursor; +static lv_style_t numberedit_style_cursor_edit; static lv_style_t focus_key_style; +extern lv_obj_class_t lv_numberedit_class; + static void theme_apply_cb(lv_theme_t * th, lv_obj_t * obj) { LV_UNUSED(th); @@ -222,6 +228,13 @@ static void theme_apply_cb(lv_theme_t * th, lv_obj_t * obj) return; } + if (lv_obj_check_type(obj, &lv_numberedit_class)) { + lv_obj_add_style(obj, &numberedit_style_main, LV_PART_MAIN); + lv_obj_add_style(obj, &numberedit_style_focused, LV_PART_MAIN | LV_STATE_FOCUSED); + lv_obj_add_style(obj, &numberedit_style_cursor, LV_PART_CURSOR); + lv_obj_add_style(obj, &numberedit_style_cursor_edit, LV_PART_CURSOR | LV_STATE_EDITED); + } + if (lv_obj_check_type(obj, &lv_textarea_class)) { lv_obj_add_style(obj, &textedit_style_main, LV_PART_MAIN); lv_obj_add_style(obj, &textedit_style_focused, LV_PART_MAIN | LV_STATE_FOCUSED); @@ -262,6 +275,33 @@ static void init_theme() lv_style_set_border_width(&generic_style, 0); lv_style_set_radius(&generic_style, 0); + // numberedit + // LV_PART_MAIN + lv_style_init(&numberedit_style_main); + lv_style_init(&numberedit_style_focused); + lv_style_init(&numberedit_style_cursor); + lv_style_init(&numberedit_style_cursor_edit); + + lv_style_set_border_width(&numberedit_style_main, 1); + lv_style_set_border_color(&numberedit_style_main, makeLvColor(COLOR_THEME_SECONDARY2)); + lv_style_set_bg_color(&numberedit_style_main, makeLvColor(COLOR_THEME_PRIMARY2)); + lv_style_set_bg_opa(&numberedit_style_main, LV_OPA_COVER); + lv_style_set_text_font(&numberedit_style_main, &lv_font_roboto_13); + lv_style_set_text_color(&numberedit_style_main, makeLvColor(COLOR_THEME_SECONDARY1)); + lv_style_set_pad_left(&numberedit_style_main, FIELD_PADDING_LEFT); + lv_style_set_pad_top(&numberedit_style_main, FIELD_PADDING_TOP); + + // LV_STATE_FOCUSED + lv_style_set_bg_color(&numberedit_style_focused, makeLvColor(COLOR_THEME_FOCUS)); + lv_style_set_text_color(&numberedit_style_focused, makeLvColor(COLOR_THEME_PRIMARY2)); + + // Hide cursor when not editing + lv_style_set_opa(&numberedit_style_cursor, LV_OPA_0); + + // Show Cursor in "Edit" mode + lv_style_set_opa(&numberedit_style_cursor_edit, LV_OPA_COVER); + lv_style_set_bg_opa(&numberedit_style_cursor_edit, LV_OPA_50); + // textedit lv_style_init(&textedit_style_main); lv_style_init(&textedit_style_focused); diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 03109134c..52be6fba8 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 03109134cebc2a696603d9ee118dd05ad9d3a28c +Subproject commit 52be6fba83b514229c61cda2365db2d7548d5d74