From 0050463206129b0be02424004664398cee2b8723 Mon Sep 17 00:00:00 2001 From: titan Date: Thu, 17 Feb 2011 20:12:43 +0000 Subject: [PATCH] Elementary gengrid: Pressing the enter(return) key on the selected item now fires the "clicked" callback the same way double clicking does. SVN revision: 57135 --- legacy/elementary/src/lib/Elementary.h.in | 2 +- legacy/elementary/src/lib/elm_gengrid.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index be87b4b022..c3354e6fc1 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -969,7 +969,7 @@ extern "C" { * * selected - User has selected a item. * unselected - User has unselected a item. - * clicked - User has double-clicked a item. + * clicked - User has double-clicked or pressed enter on a item. * realized - An evas object for a item was built. * unrealized - An evas object for a item was deleted. * changed - An item has been added, removed, resized or moved, diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index 788fca2d95..0a65596fb9 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -12,8 +12,9 @@ * * Signals that you can add callbacks for are: * - * clicked - The user has double-clicked a item. The event_info - * parameter is the Gengrid item that was double-clicked. + * clicked - The user has double-clicked or pressed enter on + * a item. The event_infoparameter is the Gengrid item + * that was double-clicked. * * selected - The user has made an item selected. The event_info * parameter is the Gengrid item that was selected. @@ -430,6 +431,11 @@ _event_hook(Evas_Object *obj, ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; return EINA_TRUE; } + else if (!strcmp(ev->keyname, "Return")) + { + item = elm_gengrid_selected_item_get(obj); + evas_object_smart_callback_call(item->wd->self, "clicked", item); + } else return EINA_FALSE; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;