forked from enlightenment/efl
elementary entry: keep style user when new theme is applied
Summary: The style user should be kept when entry's mode is changed. @fix Test Plan: 1. Run "elementary_test -to "entry style user" 2. Click "Singleline Mode" toggle 3. See the result Reviewers: raster, tasn, herdsman, cedric Reviewed By: cedric Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D4366 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
parent
19dcea07d1
commit
ab9f0ae3ca
|
@ -1023,6 +1023,14 @@ static char *user_style =
|
|||
"grn='+ color=#0F0'"
|
||||
"ul='+ underline=on underline_color=#AAA'";
|
||||
|
||||
static void
|
||||
ent_tg_singleline_mode_state_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *en = data;
|
||||
|
||||
elm_entry_single_line_set(en, elm_check_state_get(obj));
|
||||
}
|
||||
|
||||
static void
|
||||
ent_bt_style_user_peek(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -1053,7 +1061,7 @@ ent_bt_style_user_push(void *data, Evas_Object *obj EINA_UNUSED, void *event_inf
|
|||
void
|
||||
test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *win, *bx, *hbx, *en, *bt, *bt2;
|
||||
Evas_Object *win, *bx, *hbx, *en, *bt, *bt2, *tg;
|
||||
|
||||
win = elm_win_util_standard_add("entry-user-style", "Entry User Style");
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
|
@ -1079,6 +1087,15 @@ test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
|
|||
evas_object_show(en);
|
||||
elm_object_focus_set(en, EINA_TRUE);
|
||||
|
||||
tg = elm_check_add(bx);
|
||||
elm_object_style_set(tg, "toggle");
|
||||
elm_object_text_set(tg, "Singleline Mode");
|
||||
elm_object_part_text_set(tg, "on", "ON");
|
||||
elm_object_part_text_set(tg, "off", "OFF");
|
||||
evas_object_smart_callback_add(tg, "changed", ent_tg_singleline_mode_state_changed_cb, en);
|
||||
elm_box_pack_end(bx, tg);
|
||||
evas_object_show(tg);
|
||||
|
||||
hbx = elm_box_add(bx);
|
||||
elm_box_horizontal_set(hbx, EINA_TRUE);
|
||||
elm_box_pack_end(bx, hbx);
|
||||
|
|
|
@ -842,6 +842,7 @@ _elm_entry_elm_widget_theme_apply(Eo *obj, Elm_Entry_Data *sd)
|
|||
{
|
||||
const char *str;
|
||||
const char *t;
|
||||
const char *stl_user;
|
||||
const char *style = elm_widget_style_get(obj);
|
||||
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, ELM_THEME_APPLY_FAILED);
|
||||
|
@ -863,6 +864,7 @@ _elm_entry_elm_widget_theme_apply(Eo *obj, Elm_Entry_Data *sd)
|
|||
|
||||
_mirrored_set(obj, elm_widget_mirrored_get(obj));
|
||||
|
||||
stl_user = eina_stringshare_add(edje_obj_part_text_style_user_peek(sd->entry_edje, "elm.text"));
|
||||
t = eina_stringshare_add(elm_object_text_get(obj));
|
||||
|
||||
elm_widget_theme_object_set
|
||||
|
@ -875,6 +877,9 @@ _elm_entry_elm_widget_theme_apply(Eo *obj, Elm_Entry_Data *sd)
|
|||
edje_obj_part_text_select_allow_set
|
||||
(sd->entry_edje, "elm.text", EINA_FALSE);
|
||||
|
||||
edje_obj_part_text_style_user_push(sd->entry_edje, "elm.text", stl_user);
|
||||
eina_stringshare_del(stl_user);
|
||||
|
||||
elm_object_text_set(obj, t);
|
||||
eina_stringshare_del(t);
|
||||
|
||||
|
|
Loading…
Reference in New Issue