discomfitor pushed a commit to branch master. http://git.enlightenment.org/apps/empc.git/commit/?id=ecfd8e779d42b12df5813436695e036cb1ad2b59
commit ecfd8e779d42b12df5813436695e036cb1ad2b59 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Mar 9 16:51:44 2015 -0400 unify filesystem entry hiding signal sending --- src/bin/empc.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/bin/empc.c b/src/bin/empc.c index e6f9dca..60b50a2 100644 --- a/src/bin/empc.c +++ b/src/bin/empc.c @@ -1185,6 +1185,17 @@ filesystem_mouse(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj E } static void +filesystem_entry_hide(Evas_Object *ly) +{ + elm_layout_signal_emit(ly, "empc,search,hide", "empc"); + elm_layout_signal_emit(ly, "empc,buttons,show", "empc"); + if (eina_list_count(filesystems) > 1) + elm_layout_signal_emit(ly, "empc,back,show", "empc"); + elm_object_focus_allow_set(eina_list_last_data_get(filesystems), 1); + elm_object_focus_set(eina_list_last_data_get(filesystems), 1); +} + +static void filesystem_entry_key(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *ev = event_info; @@ -1193,9 +1204,7 @@ filesystem_entry_key(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *o ly = elm_object_parent_widget_get(obj); if ((!strcmp(ev->key, "Escape")) || (!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter"))) { - elm_layout_signal_emit(ly, "empc,search,hide", "empc"); - elm_layout_signal_emit(ly, "empc,buttons,show", "empc"); - elm_object_focus_set(eina_list_last_data_get(filesystems), 1); + filesystem_entry_hide(ly); } else { @@ -1652,10 +1661,7 @@ filesystem_base(Eldbus_Proxy *proxy EINA_UNUSED, void *data, Eldbus_Pending *pen evas_object_show(data); elm_object_part_content_set(ly, EMPC_SWALLOW_FILESYSTEM, data); elm_object_part_text_set(ly, "empc.text.path", evas_object_data_get(data, "uri")); - elm_object_focus_set(data, 1); - elm_layout_signal_emit(ly, "empc,back,show", "empc"); - elm_layout_signal_emit(ly, "empc,search,hide", "empc"); - elm_layout_signal_emit(ly, "empc,buttons,show", "empc"); + filesystem_entry_hide(ly); E_FREE_FUNC(filesystem_idler, ecore_idler_del); filesystem_idler_pos = NULL; } @@ -1695,10 +1701,9 @@ filesystem_prev(void) ly = elm_object_part_content_get(layout, EMPC_SWALLOW_FILESYSTEM); fs = eina_list_last_data_get(filesystems); elm_object_part_content_set(ly, EMPC_SWALLOW_FILESYSTEM, fs); - elm_layout_signal_emit(ly, "empc,search,hide", "empc"); - elm_layout_signal_emit(ly, "empc,buttons,show", "empc"); E_FREE_FUNC(filesystem_idler, ecore_idler_del); elm_object_part_content_set(ly, "empc.swallow.search", filesystem_entry); + filesystem_entry_hide(ly); filesystem_idler_pos = NULL; EINA_LIST_FOREACH_SAFE(elm_gengrid_selected_items_get(fs), l, ll, it) elm_gengrid_item_selected_set(it, 0); @@ -1770,8 +1775,7 @@ filesystem_hide(void *data EINA_UNUSED, Evas_Object *obj, const char *sig EINA_U EINA_LIST_FOREACH(filesystems_realized, l, it) elm_object_item_signal_emit(it, "empc,state,hidden", "empc"); - elm_layout_signal_emit(obj, "empc,search,hide", "empc"); - elm_layout_signal_emit(obj, "empc,buttons,show", "empc"); + filesystem_entry_hide(obj); elm_object_focus_set(queue_list, 1); filesystem_state = EINA_FALSE; } @@ -3050,9 +3054,7 @@ mouse_down(void *data EINA_UNUSED, int t EINA_UNUSED, Ecore_Event_Key *ev EINA_U Evas_Object *ly; ly = elm_object_part_content_get(layout, EMPC_SWALLOW_FILESYSTEM); - elm_layout_signal_emit(ly, "empc,search,hide", "empc"); - elm_layout_signal_emit(ly, "empc,buttons,show", "empc"); - elm_object_focus_set(eina_list_last_data_get(filesystems), 1); + filesystem_entry_hide(ly); } return ECORE_CALLBACK_RENEW; } --