forked from enlightenment/efl
efl.ui.textbox: load default font properties once
As described in task T8617 when toggle editable mode for textbox, we will reserve user changes (instead of reload them again). this issue is affected by D9502, I do not fully understand why do we need it, so I leave color loading as it is. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11404
This commit is contained in:
parent
e4ecb159e7
commit
8e7a01b16f
|
@ -631,7 +631,8 @@ _efl_ui_textbox_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Textbox_Data *sd)
|
|||
efl_content_set(efl_part(sd->entry_edje, "efl.text"), sd->text_table);
|
||||
}
|
||||
|
||||
_create_text_cursors(obj, sd);
|
||||
if (!sd->cursor && !sd->cursor_bidi)
|
||||
_create_text_cursors(obj, sd);
|
||||
|
||||
return theme_apply;
|
||||
}
|
||||
|
@ -1593,11 +1594,17 @@ _update_text_theme(Eo *obj, Efl_Ui_Textbox_Data *sd)
|
|||
|
||||
// Main Text
|
||||
// font_set
|
||||
font_name = efl_layout_group_data_get(wd->resize_obj, "font.name");
|
||||
font_size = efl_layout_group_data_get(wd->resize_obj, "font.size");
|
||||
font_size_n = font_size ? atoi(font_size) : 0;
|
||||
efl_text_font_family_set(sd->text_obj, font_name);
|
||||
efl_text_font_size_set(sd->text_obj, font_size_n);
|
||||
if (!efl_text_font_family_get(sd->text_obj))
|
||||
{
|
||||
font_name = efl_layout_group_data_get(wd->resize_obj, "font.name");
|
||||
efl_text_font_family_set(sd->text_obj, font_name);
|
||||
}
|
||||
if (!efl_text_font_size_get(sd->text_obj))
|
||||
{
|
||||
font_size = efl_layout_group_data_get(wd->resize_obj, "font.size");
|
||||
font_size_n = font_size ? atoi(font_size) : 0;
|
||||
efl_text_font_size_set(sd->text_obj, font_size_n);
|
||||
}
|
||||
|
||||
// color
|
||||
if (disabled)
|
||||
|
@ -1610,11 +1617,17 @@ _update_text_theme(Eo *obj, Efl_Ui_Textbox_Data *sd)
|
|||
}
|
||||
|
||||
// Guide Text
|
||||
font_name = efl_layout_group_data_get(wd->resize_obj, "guide.font.name");
|
||||
font_size = efl_layout_group_data_get(wd->resize_obj, "guide.font.size");
|
||||
font_size_n = font_size ? atoi(font_size) : 0;
|
||||
efl_text_font_family_set(sd->text_guide_obj, font_name);
|
||||
efl_text_font_size_set(sd->text_guide_obj, font_size_n);
|
||||
if (!efl_text_font_family_get(sd->text_guide_obj))
|
||||
{
|
||||
font_name = efl_layout_group_data_get(wd->resize_obj, "guide.font.name");
|
||||
efl_text_font_family_set(sd->text_guide_obj, font_name);
|
||||
}
|
||||
if (!efl_text_font_size_get(sd->text_guide_obj))
|
||||
{
|
||||
font_size = efl_layout_group_data_get(wd->resize_obj, "guide.font.size");
|
||||
font_size_n = font_size ? atoi(font_size) : 0;
|
||||
efl_text_font_size_set(sd->text_guide_obj, font_size_n);
|
||||
}
|
||||
|
||||
colorcode = NULL;
|
||||
// color
|
||||
|
@ -1796,8 +1809,6 @@ _efl_ui_textbox_efl_text_format_password_set(Eo *obj, Efl_Ui_Textbox_Data *sd, E
|
|||
efl_input_text_input_content_type_set(obj, ((efl_input_text_input_content_type_get(obj) | EFL_INPUT_TEXT_CONTENT_TYPE_AUTO_COMPLETE) & ~EFL_INPUT_TEXT_CONTENT_TYPE_SENSITIVE_DATA));
|
||||
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_ENTRY);
|
||||
}
|
||||
|
||||
efl_ui_widget_theme_apply(obj);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1856,7 +1867,6 @@ _efl_ui_textbox_efl_text_interactive_editable_set(Eo *obj, Efl_Ui_Textbox_Data *
|
|||
|
||||
efl_text_interactive_editable_set(efl_super(obj, MY_CLASS), editable);
|
||||
|
||||
efl_ui_widget_theme_apply(obj);
|
||||
efl_ui_widget_focus_allow_set(obj, editable);
|
||||
|
||||
if (editable)
|
||||
|
|
|
@ -264,6 +264,26 @@ EFL_START_TEST(text_keys_handler)
|
|||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(text_editable)
|
||||
{
|
||||
Eo *txt, *win;
|
||||
win = win_add();
|
||||
txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
|
||||
efl_text_font_size_set(txt, 100);
|
||||
efl_text_font_family_set(txt, "Arial");
|
||||
efl_text_interactive_editable_set(txt, !efl_text_interactive_editable_get(txt));
|
||||
ck_assert_int_eq(efl_text_font_size_get(txt), 100);
|
||||
ck_assert_str_eq(efl_text_font_family_get(txt), "Arial");
|
||||
|
||||
efl_ui_widget_disabled_set(txt, EINA_TRUE);
|
||||
ck_assert_int_eq(efl_text_font_size_get(txt), 100);
|
||||
ck_assert_str_eq(efl_text_font_family_get(txt), "Arial");
|
||||
|
||||
efl_del(txt);
|
||||
efl_del(win);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
void efl_ui_test_text(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, text_cnp);
|
||||
|
@ -273,4 +293,5 @@ void efl_ui_test_text(TCase *tc)
|
|||
tcase_add_test(tc, text_scroll_mode);
|
||||
tcase_add_test(tc, text_change_event);
|
||||
tcase_add_test(tc, text_keys_handler);
|
||||
tcase_add_test(tc, text_editable);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue