diff options
author | WooHyun Jung <wh0705.jung@samsung.com> | 2013-03-13 14:47:31 +0900 |
---|---|---|
committer | WooHyun Jung <wh0705.jung@samsung.com> | 2013-03-13 14:47:31 +0900 |
commit | e43b43f59f45841968c6295f01c14e0d7151407c (patch) | |
tree | 8481c0d12a20fac3e6914b9fad4e46bcec6dd07b | |
parent | 82bd0d96489bc643a7e3c362cf2dbe7d94feeb2f (diff) | |
download | elementary-e43b43f59f45841968c6295f01c14e0d7151407c.tar.gz |
List : Focus_next should be executed only when access mode is enabled.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/lib/elm_list.c | 19 |
3 files changed, 23 insertions, 1 deletions
@@ -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. @@ -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; } |