grab escape key for dialogs for closing them

SVN revision: 75048
This commit is contained in:
Mike Blumenkrantz 2012-08-09 13:18:15 +00:00
parent 5e1e915578
commit 142b11e6f0
1 changed files with 6 additions and 0 deletions

View File

@ -69,6 +69,10 @@ _e_dialog_internal_new(E_Container *con, const char *name, const char *class, in
if (!kg)
fprintf(stderr, "ERROR: unable to redirect \"Return\" key events to object %p.\n", o);
mask = 0;
kg = evas_object_key_grab(o, "Escape", mask, ~mask, 0);
if (!kg)
fprintf(stderr, "ERROR: unable to redirect \"Escape\" key events to object %p.\n", o);
mask = 0;
kg = evas_object_key_grab(o, "KP_Enter", mask, ~mask, 0);
if (!kg)
fprintf(stderr, "ERROR: unable to redirect \"KP_Enter\" key events to object %p.\n", o);
@ -344,6 +348,8 @@ _e_dialog_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
o = e_widget_focused_object_get(dia->box_object);
if (o) e_widget_activate(o);
}
else if (!strcmp(ev->keyname, "Escape"))
e_object_del(E_OBJECT(dia));
}
static void