unify filesystem entry hiding signal sending

This commit is contained in:
Mike Blumenkrantz 2015-03-09 16:51:44 -04:00
parent 68eb71ef71
commit ecfd8e779d
1 changed files with 16 additions and 14 deletions

View File

@ -1184,6 +1184,17 @@ filesystem_mouse(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj E
elm_object_focus_set(filesystem_entry, 1);
}
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)
{
@ -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;
}