improve keyboard navigation for zoom effect
This commit is contained in:
parent
d0e3824adf
commit
2d2ce8c298
13
src/zoom.c
13
src/zoom.c
|
@ -281,8 +281,18 @@ _zoom_key(void *d EINA_UNUSED, int t EINA_UNUSED, Ecore_Event_Key *ev)
|
||||||
if (!e_util_strcmp(ev->key, "Escape"))
|
if (!e_util_strcmp(ev->key, "Escape"))
|
||||||
_zoom_hide();
|
_zoom_hide();
|
||||||
else if (!e_util_strcmp(ev->key, "Left"))
|
else if (!e_util_strcmp(ev->key, "Left"))
|
||||||
|
{
|
||||||
|
if (current)
|
||||||
n = eina_list_prev(current) ?: eina_list_last(current);
|
n = eina_list_prev(current) ?: eina_list_last(current);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
n = evas_object_data_get(eina_list_nth(zoom_objs, e_zone_current_get()->num), "__DSCLIENTS");
|
||||||
|
n = eina_list_last(n);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (!e_util_strcmp(ev->key, "Right"))
|
else if (!e_util_strcmp(ev->key, "Right"))
|
||||||
|
{
|
||||||
|
if (current)
|
||||||
{
|
{
|
||||||
n = eina_list_next(current);
|
n = eina_list_next(current);
|
||||||
if (!n)
|
if (!n)
|
||||||
|
@ -292,6 +302,9 @@ _zoom_key(void *d EINA_UNUSED, int t EINA_UNUSED, Ecore_Event_Key *ev)
|
||||||
for (f = n = current; f; n = f, f = eina_list_prev(f));
|
for (f = n = current; f; n = f, f = eina_list_prev(f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
n = evas_object_data_get(eina_list_nth(zoom_objs, e_zone_current_get()->num), "__DSCLIENTS");
|
||||||
|
}
|
||||||
else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter")))
|
else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter")))
|
||||||
{
|
{
|
||||||
e_client_activate(evas_object_data_get(eina_list_data_get(current), "E_Client"), 1);
|
e_client_activate(evas_object_data_get(eina_list_data_get(current), "E_Client"), 1);
|
||||||
|
|
Loading…
Reference in New Issue