woohyun pushed a commit to branch elementary-1.7.

commit e43b43f59f45841968c6295f01c14e0d7151407c
Author: WooHyun Jung <[email protected]>
Date:   Wed Mar 13 14:47:31 2013 +0900

    List : Focus_next should be executed only when access mode is enabled.
---
 ChangeLog          |  4 ++++
 NEWS               |  1 +
 src/lib/elm_list.c | 19 ++++++++++++++++++-
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index f5384e2..38bbf8b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -770,3 +770,7 @@
 2013-03-11  Tom Hacohen (TAsn)
 
        * Entry: Fixed a bug with text appending.
+
+2013-03-13  WooHyun Jung
+
+        * List : Focus_next should be executed only when access mode is 
enabled.
diff --git a/NEWS b/NEWS
index 1b0a681..c864909 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,7 @@ Fixes:
    * Fix scroller acceleration bug. It was accelerated even it's scrolled 
after finishing the previous scroll. This happens with page scroll enabled.
    * Fix initial value of the spinner on the first mouse move.
    * Entry: Fixed a bug with text appending.
+   * List : Focus_next should be executed only when access mode is enabled.
         
 Elementary 1.7.5
 
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 9f85e09..82dfb98 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -1481,6 +1481,19 @@ _elm_list_smart_focus_next(const Evas_Object *obj,
 }
 
 static void
+_access_hook(Evas_Object *obj, Eina_Bool is_access)
+{
+   ELM_LIST_CHECK(obj);
+   ELM_LIST_DATA_GET(obj, sd);
+
+   if (is_access)
+     ELM_WIDGET_CLASS(ELM_WIDGET_DATA(sd)->api)->focus_next =
+        _elm_list_smart_focus_next;
+   else
+     ELM_WIDGET_CLASS(ELM_WIDGET_DATA(sd)->api)->focus_next = NULL;
+}
+
+static void
 _elm_list_smart_add(Evas_Object *obj)
 {
    Evas_Coord minw, minh;
@@ -1642,12 +1655,16 @@ _elm_list_smart_set_user(Elm_List_Smart_Class *sc)
 
    ELM_WIDGET_CLASS(sc)->sub_object_del = _elm_list_smart_sub_object_del;
    ELM_WIDGET_CLASS(sc)->on_focus = _elm_list_smart_on_focus;
-   ELM_WIDGET_CLASS(sc)->focus_next = _elm_list_smart_focus_next;
+   ELM_WIDGET_CLASS(sc)->focus_next = NULL;
    ELM_WIDGET_CLASS(sc)->focus_direction = NULL;
    ELM_WIDGET_CLASS(sc)->theme = _elm_list_smart_theme;
    ELM_WIDGET_CLASS(sc)->disable = _elm_list_smart_disable;
    ELM_WIDGET_CLASS(sc)->event = _elm_list_smart_event;
    ELM_WIDGET_CLASS(sc)->translate = _elm_list_smart_translate;
+   ELM_WIDGET_CLASS(sc)->access = _access_hook;
+
+   if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
+     ELM_WIDGET_CLASS(sc)->focus_next = _elm_list_smart_focus_next;
 
    ELM_LAYOUT_CLASS(sc)->sizing_eval = _elm_list_smart_sizing_eval;
 }

-- 

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar

Reply via email to