summaryrefslogtreecommitdiff
path: root/src/lib/elm_list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elm_list.c')
-rw-r--r--src/lib/elm_list.c19
1 files changed, 18 insertions, 1 deletions
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,
1481} 1481}
1482 1482
1483static void 1483static void
1484_access_hook(Evas_Object *obj, Eina_Bool is_access)
1485{
1486 ELM_LIST_CHECK(obj);
1487 ELM_LIST_DATA_GET(obj, sd);
1488
1489 if (is_access)
1490 ELM_WIDGET_CLASS(ELM_WIDGET_DATA(sd)->api)->focus_next =
1491 _elm_list_smart_focus_next;
1492 else
1493 ELM_WIDGET_CLASS(ELM_WIDGET_DATA(sd)->api)->focus_next = NULL;
1494}
1495
1496static void
1484_elm_list_smart_add(Evas_Object *obj) 1497_elm_list_smart_add(Evas_Object *obj)
1485{ 1498{
1486 Evas_Coord minw, minh; 1499 Evas_Coord minw, minh;
@@ -1642,12 +1655,16 @@ _elm_list_smart_set_user(Elm_List_Smart_Class *sc)
1642 1655
1643 ELM_WIDGET_CLASS(sc)->sub_object_del = _elm_list_smart_sub_object_del; 1656 ELM_WIDGET_CLASS(sc)->sub_object_del = _elm_list_smart_sub_object_del;
1644 ELM_WIDGET_CLASS(sc)->on_focus = _elm_list_smart_on_focus; 1657 ELM_WIDGET_CLASS(sc)->on_focus = _elm_list_smart_on_focus;
1645 ELM_WIDGET_CLASS(sc)->focus_next = _elm_list_smart_focus_next; 1658 ELM_WIDGET_CLASS(sc)->focus_next = NULL;
1646 ELM_WIDGET_CLASS(sc)->focus_direction = NULL; 1659 ELM_WIDGET_CLASS(sc)->focus_direction = NULL;
1647 ELM_WIDGET_CLASS(sc)->theme = _elm_list_smart_theme; 1660 ELM_WIDGET_CLASS(sc)->theme = _elm_list_smart_theme;
1648 ELM_WIDGET_CLASS(sc)->disable = _elm_list_smart_disable; 1661 ELM_WIDGET_CLASS(sc)->disable = _elm_list_smart_disable;
1649 ELM_WIDGET_CLASS(sc)->event = _elm_list_smart_event; 1662 ELM_WIDGET_CLASS(sc)->event = _elm_list_smart_event;
1650 ELM_WIDGET_CLASS(sc)->translate = _elm_list_smart_translate; 1663 ELM_WIDGET_CLASS(sc)->translate = _elm_list_smart_translate;
1664 ELM_WIDGET_CLASS(sc)->access = _access_hook;
1665
1666 if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
1667 ELM_WIDGET_CLASS(sc)->focus_next = _elm_list_smart_focus_next;
1651 1668
1652 ELM_LAYOUT_CLASS(sc)->sizing_eval = _elm_list_smart_sizing_eval; 1669 ELM_LAYOUT_CLASS(sc)->sizing_eval = _elm_list_smart_sizing_eval;
1653} 1670}