summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWooHyun Jung <wh0705.jung@samsung.com>2013-03-13 14:47:31 +0900
committerWooHyun Jung <wh0705.jung@samsung.com>2013-03-13 14:47:31 +0900
commite43b43f59f45841968c6295f01c14e0d7151407c (patch)
tree8481c0d12a20fac3e6914b9fad4e46bcec6dd07b
parent82bd0d96489bc643a7e3c362cf2dbe7d94feeb2f (diff)
downloadelementary-e43b43f59f45841968c6295f01c14e0d7151407c.tar.gz
List : Focus_next should be executed only when access mode is enabled.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--src/lib/elm_list.c19
3 files changed, 23 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f5384e2ed..38bbf8b57 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 1b0a681b4..c8649096b 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 9f85e096e..82dfb98a2 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;
}