fix broken key input in search/goto

This issue was introduced in 502a826599.

Acutally, here is an additional keygrab change.
This commit is contained in:
ChunEon Park 2015-08-27 13:03:54 +09:00
parent b6d17628c5
commit d2180b235f
3 changed files with 32 additions and 12 deletions

View File

@ -84,6 +84,14 @@ btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
goto_line(gd); goto_line(gd);
} }
static void
keygrabber_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
goto_close();
}
void void
goto_open(Evas_Object *enventor) goto_open(Evas_Object *enventor)
{ {
@ -162,6 +170,14 @@ goto_open(Evas_Object *enventor)
btn); btn);
evas_object_show(win); evas_object_show(win);
//Keygrabber
Evas_Object *keygrabber =
evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_event_callback_add(keygrabber, EVAS_CALLBACK_KEY_DOWN,
keygrabber_key_down_cb, gd);
if (!evas_object_key_grab(keygrabber, "Escape", 0, 0, EINA_TRUE))
EINA_LOG_ERR("Failed to grab key - Escape");
tools_goto_update(enventor, EINA_FALSE); tools_goto_update(enventor, EINA_FALSE);
gd->win = win; gd->win = win;

View File

@ -699,18 +699,6 @@ keygrabber_key_down_cb(void *data, Evas *e EINA_UNUSED,
//Main Menu //Main Menu
if (!strcmp(ev->key, "Escape")) if (!strcmp(ev->key, "Escape"))
{ {
if (goto_is_opened())
{
goto_close();
enventor_object_focus_set(ad->enventor, EINA_TRUE);
return;
}
if (search_is_opened())
{
search_close();
enventor_object_focus_set(ad->enventor, EINA_TRUE);
return;
}
if (live_edit_get()) if (live_edit_get())
{ {
live_edit_cancel(); live_edit_cancel();

View File

@ -305,6 +305,14 @@ win_unfocused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
sd->syntax_color--; sd->syntax_color--;
} }
static void
keygrabber_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
search_close();
}
void void
search_open(Evas_Object *enventor) search_open(Evas_Object *enventor)
{ {
@ -407,6 +415,14 @@ search_open(Evas_Object *enventor)
tools_search_update(enventor, EINA_FALSE); tools_search_update(enventor, EINA_FALSE);
//Keygrabber
Evas_Object *keygrabber =
evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_event_callback_add(keygrabber, EVAS_CALLBACK_KEY_DOWN,
keygrabber_key_down_cb, sd);
if (!evas_object_key_grab(keygrabber, "Escape", 0, 0, EINA_TRUE))
EINA_LOG_ERR("Failed to grab key - Escape");
sd->win = win; sd->win = win;
sd->enventor = enventor; sd->enventor = enventor;
sd->layout = layout; sd->layout = layout;