discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=85332555e8d3e5b981cde10ba9a1675ef6a4936e

commit 85332555e8d3e5b981cde10ba9a1675ef6a4936e
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Mar 17 14:55:39 2014 -0400

    genlist now uses uniform item showing behavior when selecting items with 
keyboard
---
 src/lib/elm_genlist.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 11ffc9a..8219142 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -2405,6 +2405,7 @@ _item_single_select_up(Elm_Genlist_Smart_Data *sd)
    _all_items_deselect(sd);
 
    elm_genlist_item_selected_set((Elm_Object_Item *)prev, EINA_TRUE);
+   elm_genlist_item_show((Elm_Object_Item*)prev, ELM_GENLIST_ITEM_SCROLLTO_IN);
    return EINA_TRUE;
 }
 
@@ -2428,6 +2429,7 @@ _item_single_select_down(Elm_Genlist_Smart_Data *sd)
    _all_items_deselect(sd);
 
    elm_genlist_item_selected_set((Elm_Object_Item *)next, EINA_TRUE);
+   elm_genlist_item_show((Elm_Object_Item*)next, ELM_GENLIST_ITEM_SCROLLTO_IN);
 
    return EINA_TRUE;
 }
@@ -2698,8 +2700,8 @@ _elm_genlist_smart_event(Eo *obj, void *_pd, va_list 
*list)
             ((!strcmp(ev->key, "KP_Home")) && (!ev->string)))
      {
         it = elm_genlist_first_item_get(obj);
-        elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_IN);
         elm_genlist_item_selected_set(it, EINA_TRUE);
+        elm_genlist_item_show(it, ELM_GENLIST_ITEM_SCROLLTO_IN);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         if (ret) *ret = EINA_TRUE;
         return;
@@ -2708,8 +2710,8 @@ _elm_genlist_smart_event(Eo *obj, void *_pd, va_list 
*list)
             ((!strcmp(ev->key, "KP_End")) && (!ev->string)))
      {
         it = elm_genlist_last_item_get(obj);
-        elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_IN);
         elm_genlist_item_selected_set(it, EINA_TRUE);
+        elm_genlist_item_show(it, ELM_GENLIST_ITEM_SCROLLTO_IN);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         if (ret) *ret = EINA_TRUE;
         return;

-- 


Reply via email to