[naviframe][access] remove unnecessary lines, use _elm_access_highlight_set(); instea...
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 11 Jun 2013 07:11:10 +0000 (16:11 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Wed, 12 Jun 2013 05:41:07 +0000 (14:41 +0900)
Change-Id: I89955a7c95ef917145f740f620b386da114ef397

src/lib/elc_naviframe.c

index 05fd199..d40a9b9 100644 (file)
@@ -35,6 +35,7 @@ EVAS_SMART_SUBCLASS_NEW
 static const char SIG_CLICKED[] = "clicked";
 
 static void _on_item_back_btn_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__);
+static void _access_focus_set(Elm_Naviframe_Item *it);
 
 static void
 _prev_page_focus_recover(Elm_Naviframe_Item *it)
@@ -46,7 +47,12 @@ _prev_page_focus_recover(Elm_Naviframe_Item *it)
    if (newest)
      elm_object_focus_set(newest, EINA_TRUE);
    else
-     elm_object_focus_set(VIEW(it), EINA_TRUE);
+     {
+        if (_elm_config->access_mode)
+           _access_focus_set(it);
+        else
+           elm_object_focus_set(VIEW(it), EINA_TRUE);
+     }
 }
 
 static Eina_Bool
@@ -244,8 +250,12 @@ _access_focus_set(Elm_Naviframe_Item *it)
    ao = ((Elm_Widget_Item *)it)->access_obj;
 
    if (ao && it->title_visible)
-     elm_object_focus_set(ao, EINA_TRUE);
-   else elm_object_focus_set(it->content, EINA_TRUE);
+     _elm_access_highlight_set(ao);
+   else
+     {
+        if (!elm_widget_highlight_get(it->content))
+          _elm_access_highlight_cycle(it->content, ELM_FOCUS_NEXT);
+     }
 }
 
 static void
@@ -454,7 +464,7 @@ _item_text_set_hook(Elm_Object_Item *it,
         _access_obj_process(nit, EINA_TRUE);
 
         ao = ((Elm_Widget_Item *)nit)->access_obj;
-        if (!elm_object_focus_get(ao)) elm_object_focus_set(ao, EINA_TRUE);
+        if (!elm_widget_highlight_get(ao)) _elm_access_highlight_set(ao);
      }
 
    elm_layout_sizing_eval(WIDGET(nit));
@@ -1783,14 +1793,17 @@ elm_naviframe_item_push(Evas_Object *obj,
         it->animator = ecore_animator_add(_push_transition_cb, it);
      }
    else
-     elm_object_focus_set(VIEW(it), EINA_TRUE);
+     {
+        /* access */
+        if (_elm_config->access_mode)
+          _access_focus_set(it);
+        else
+          elm_object_focus_set(VIEW(it), EINA_TRUE);
+     }
 
    sd->stack = eina_inlist_append(sd->stack, EINA_INLIST_GET(it));
    evas_object_raise(VIEW(it));
 
-   /* access */
-   if (_elm_config->access_mode) _access_focus_set(it);
-
    elm_layout_sizing_eval(obj);
 
    return (Elm_Object_Item *)it;
@@ -1937,9 +1950,6 @@ elm_naviframe_item_pop(Evas_Object *obj)
         evas_object_smart_member_add(sd->dummy_edje, obj);
         evas_object_raise(VIEW(prev_it));
 
-        /* access */
-        if (_elm_config->access_mode) _access_focus_set(prev_it);
-
         /* these 2 signals MUST take place simultaneously */
         elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
         evas_object_show(VIEW(prev_it));