Fixed the focus bug for mouse handling 77/45477/1 accepted/tizen/tv/20150807.043110 submit/tizen/20150807.010856
authorHyojung Jo <hj903.jo@samsung.com>
Thu, 6 Aug 2015 10:33:08 +0000 (19:33 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Thu, 6 Aug 2015 10:33:08 +0000 (19:33 +0900)
Change-Id: I994f675b7c3ada9b56954aef46ab2f1a9ac69858
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
src/view/view_base.c

index dc2f7de..62ce153 100644 (file)
@@ -300,7 +300,6 @@ static void _sort_option_selected(struct _priv *priv, int id, Evas_Object *obj)
        _destroy_sort_ctxpopup(priv);
        elm_object_text_set(priv->sort_btn, elm_object_text_get(obj));
        gridmgr_append_list(priv->gmgr, STR_MYAPPS, priv->app_list);
-       priv->focused_item = elm_gengrid_first_item_get(priv->grid);
 }
 
 static void _option_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
@@ -315,11 +314,13 @@ static void _option_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
        priv = data;
 
        if (!strcmp(ev->keyname, KEY_BACK)
-                       || !strcmp(ev->keyname, KEY_BACK_REMOTE))
+                       || !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
                _destroy_sort_ctxpopup(priv);
-       else if (!strcmp(ev->keyname, KEY_ENTER)
-                       || !strcmp(ev->keyname, KEY_ENTER_REMOTE))
+       else if (!strcmp(ev->keyname, KEY_ENTER)
+                       || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
                _sort_option_selected(priv, id, obj);
+               priv->focused_item = elm_gengrid_first_item_get(priv->grid);
+       }
 }
 
 static void _option_mouse_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
@@ -398,7 +399,6 @@ static bool _draw_sort_option(struct _priv *priv)
        }
 
        if (firstbtn && btn) {
-               elm_object_focus_set(firstbtn, EINA_TRUE);
                elm_object_focus_next_object_set(firstbtn, btn, ELM_FOCUS_UP);
                elm_object_focus_next_object_set(btn, firstbtn, ELM_FOCUS_DOWN);
        }
@@ -424,6 +424,8 @@ static void _sort_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
                        || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
                if (!_draw_sort_option(priv))
                        _ERR("Draw sort ctxpopup failed.");
+
+               elm_object_focus_set(priv->sort_popup, EINA_TRUE);
        }
 }