Make temp manual entry ui responsive

This commit is contained in:
suchmememanyskill
2024-02-10 13:02:40 +01:00
parent d3e7eec47a
commit 1c10d46a5e

View File

@@ -119,21 +119,26 @@ static void keyboard_callback(lv_event_t * e){
if(code == LV_EVENT_DEFOCUSED || code == LV_EVENT_CANCEL || code == LV_EVENT_READY) {
lv_keyboard_set_textarea(kb, NULL);
lv_obj_del(kb);
lv_obj_del(ta);
lv_obj_del(lv_obj_get_parent(kb));
}
}
static void show_keyboard(lv_event_t * e){
lv_obj_t * keyboard = lv_keyboard_create(root_panel);
lv_obj_t * ta = lv_textarea_create(root_panel);
// TODO: Hack, should be fixed before finishing porting
lv_obj_set_size(ta, CYD_SCREEN_PANEL_WIDTH_PX, 120);
lv_obj_align(ta, LV_ALIGN_TOP_MID, 0, 0);
lv_obj_t * parent = lv_create_empty_panel(root_panel);
lv_obj_set_style_bg_opa(parent, LV_OPA_50, 0);
lv_obj_set_size(parent, CYD_SCREEN_PANEL_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
lv_layout_flex_column(parent, LV_FLEX_ALIGN_SPACE_BETWEEN);
lv_obj_t * empty_panel = lv_create_empty_panel(parent);
lv_obj_set_flex_grow(empty_panel, 1);
lv_obj_t * ta = lv_textarea_create(parent);
lv_obj_t * keyboard = lv_keyboard_create(parent);
lv_obj_set_width(ta, CYD_SCREEN_PANEL_WIDTH_PX / 2);
lv_textarea_set_max_length(ta, 3);
//lv_textarea_set_one_line(ta, true);
lv_textarea_set_one_line(ta, true);
lv_textarea_set_text(ta, "");
lv_textarea_set_align(ta, LV_TEXT_ALIGN_CENTER);
lv_obj_add_event_cb(ta, keyboard_callback, LV_EVENT_ALL, keyboard);
lv_keyboard_set_mode(keyboard, LV_KEYBOARD_MODE_NUMBER);