multibuttonentry: fix bug with uneditable MBE use case.

Summary:
If there is a uneditable MBE, the MBE doesn't have to get a entry inside of the box.
It breaks MBE box layout, resize logic.

And check the box focus, entry visible is not enough to cover MBE is uneditable case.
If MBE is uneditable, box_resize callback called when item added. in this case,
we need to check what view type user want. if its not shrink view here, do not make
MBE to shrink mode.

@fix

Test Plan: Run elementary_test -> execute multibuttonentry  sample with editable set as false.

Reviewers: Hermet, seoz, woohyun, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2824

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
woochan lee 2015-07-28 22:54:21 +02:00 committed by Cedric BAIL
parent 261a5966ff
commit 7c8f7e057a
1 changed files with 3 additions and 1 deletions

View File

@ -952,7 +952,8 @@ _box_resize_cb(void *data,
}
}
}
if (!elm_object_focus_get(data) && !evas_object_visible_get(sd->entry))
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK &&
!elm_object_focus_get(data) && !evas_object_visible_get(sd->entry))
{
_shrink_mode_set(data, EINA_TRUE);
}
@ -1695,6 +1696,7 @@ _elm_multibuttonentry_editable_set(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Dat
evas_object_show(sd->entry);
else
{
elm_box_unpack(sd->box, sd->entry);
elm_entry_input_panel_hide(sd->entry);
evas_object_hide(sd->entry);
}