genlist: enable focus on select none and display only item
authorSangHyeon Lee <sh10233.lee@samsung.com>
Fri, 16 Dec 2016 07:02:34 +0000 (16:02 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Mon, 2 Jan 2017 05:37:09 +0000 (14:37 +0900)
Change-Id: Idd2f7100e0b0e6dc741c0826187ef6a6217aaf34
Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
src/mobile_lib/elm_genlist.c

index 465254780dc805f5db8bcd6e01d92541aca12350..bd0e80e5fea05be74ed32ad783232b14d38678de 100644 (file)
@@ -3202,20 +3202,6 @@ static Eina_Bool _item_focusable_search(Elm_Gen_Item **it, int dir)
         if (!elm_object_item_disabled_get(EO_OBJ(tmp)) &&
            (!tmp->want_hidden))
           {
-             if ((tmp->select_mode == ELM_OBJECT_SELECT_MODE_DEFAULT) ||
-                 (tmp->select_mode == ELM_OBJECT_SELECT_MODE_ALWAYS))
-               {
-
-                  if (GL_IT(tmp)->wsd->focused_content)
-                    {
-                       elm_object_focus_set(GL_IT(tmp)->wsd->focused_content, EINA_FALSE);
-                       evas_object_focus_set(WIDGET(tmp), EINA_TRUE);
-                       GL_IT(tmp)->wsd->focused_content = NULL;
-                    }
-                  *it = tmp;
-                  return EINA_TRUE;
-               }
-
              if ((tmp->select_mode == ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) ||
                  (tmp->select_mode == ELM_OBJECT_SELECT_MODE_NONE) ||
                  (tmp->flipped))
@@ -3255,6 +3241,14 @@ static Eina_Bool _item_focusable_search(Elm_Gen_Item **it, int dir)
                        return EINA_TRUE;
                     }
                }
+             if (GL_IT(tmp)->wsd->focused_content)
+               {
+                  elm_object_focus_set(GL_IT(tmp)->wsd->focused_content, EINA_FALSE);
+                  evas_object_focus_set(WIDGET(tmp), EINA_TRUE);
+                  GL_IT(tmp)->wsd->focused_content = NULL;
+               }
+             *it = tmp;
+             return EINA_TRUE;
           }
         if (dir == 1)
           tmp = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(tmp)->next);