diff --git a/CYD-Klipper/src/ui/panels/temp_panel.cpp b/CYD-Klipper/src/ui/panels/temp_panel.cpp index 98fbb47..69065ff 100644 --- a/CYD-Klipper/src/ui/panels/temp_panel.cpp +++ b/CYD-Klipper/src/ui/panels/temp_panel.cpp @@ -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);