base: set focus next object for menu button 15/52715/1 accepted/tizen/tv/20151126.112951 submit/tizen/20151126.090906
authorJehun Lim <jehun.lim@samsung.com>
Thu, 26 Nov 2015 06:56:49 +0000 (15:56 +0900)
committerJehun Lim <jehun.lim@samsung.com>
Thu, 26 Nov 2015 06:57:51 +0000 (15:57 +0900)
Change-Id: I4291580ea522d578f168624ecf418e610b022118

src/view/base.c

index c48c22b..4aa3680 100644 (file)
@@ -550,6 +550,29 @@ static bool _draw_title(struct _priv *priv)
        return true;
 }
 
+static void _set_menu_focus(struct _priv *priv)
+{
+       Evas_Object *btn_l, *btn_r;
+       int i;
+
+       for (i = 0; i < E_LAYOUT_MAX; i++) {
+               if (i == 0)
+                       btn_l = priv->menu_btn[i];
+               else
+                       btn_l = priv->menu_btn[i - 1];
+
+               if (i == E_LAYOUT_MAX - 1)
+                       btn_r = priv->menu_btn[i];
+               else
+                       btn_r = priv->menu_btn[i + 1];
+
+               elm_object_focus_next_object_set(priv->menu_btn[i],
+                                       btn_l, ELM_FOCUS_LEFT);
+               elm_object_focus_next_object_set(priv->menu_btn[i],
+                                       btn_r, ELM_FOCUS_RIGHT);
+       }
+}
+
 static bool _draw_menu_btn(struct _priv *priv)
 {
        Evas_Object *box, *btn;
@@ -588,16 +611,12 @@ static bool _draw_menu_btn(struct _priv *priv)
                priv->menu_btn[i] = btn;
        }
 
+       _set_menu_focus(priv);
+
        evas_object_show(box);
 
        elm_object_part_content_set(priv->base, PART_BASE_MENU_AREA, box);
 
-       elm_object_focus_next_object_set(priv->menu_btn[E_LAYOUT_MAX - 1],
-                               priv->menu_btn[0], ELM_FOCUS_RIGHT);
-       elm_object_focus_next_object_set(priv->menu_btn[0],
-                               priv->menu_btn[E_LAYOUT_MAX - 1],
-                               ELM_FOCUS_LEFT);
-
        return true;
 }