aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2018-04-12 21:28:49 +0200
committerMarcel Hollerbach <marcel@osg.samsung.com>2018-04-30 19:24:47 +0200
commitfdfcae968b4a57b57ea553b4475a4a2770f22a00 (patch)
treedfc104100ddfe802fa0b69fbf3a84c17b651388b /src/lib/elementary/efl_ui_win.c
parentefl_ui_focus_util: add new function for complementing the direction (diff)
downloadefl-fdfcae968b4a57b57ea553b4475a4a2770f22a00.tar.gz
elm_widget: Introduce elm_focus_legacy
Code located here is meant for a legacy tree and legacy widgets. This is checked on the entry of the function
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index ea579835f2..1fa781997e 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -1744,18 +1744,27 @@ _key_action_move(Evas_Object *obj, const char *params)
focus_dir = EFL_UI_FOCUS_DIRECTION_DOWN;
else return EINA_FALSE;
- o = efl_ui_focus_manager_move(obj, focus_dir);
- if (!o)
- {
- if (focus_dir == EFL_UI_FOCUS_DIRECTION_NEXT || focus_dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS)
- {
- Efl_Ui_Focus_Object *root;
+ // The handling for legacy is different due to elm_object_next set
+ if (elm_widget_is_legacy(obj))
+ elm_object_focus_next(obj, focus_dir);
+ else
+ {
+ Efl_Ui_Widget *o;
+
+ o = efl_ui_focus_manager_move(obj, focus_dir);
+ if (!o)
+ {
+ if (focus_dir == EFL_UI_FOCUS_DIRECTION_NEXT || focus_dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS)
+ {
+ Efl_Ui_Focus_Object *root;
+
+ root = efl_ui_focus_manager_root_get(obj);
+ efl_ui_focus_manager_setup_on_first_touch(obj, focus_dir, root);
+ }
+ }
+ }
- root = efl_ui_focus_manager_root_get(obj);
- efl_ui_focus_manager_setup_on_first_touch(obj, focus_dir, root);
- }
- }
return EINA_TRUE;
}