From 931510ff6668b69a11f3366586136a447731813c Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Sat, 2 Jan 2021 00:52:13 +0000 Subject: [PATCH] ui: focus. process viewer focus tree is broken...but escape works..mostly --- src/bin/ui/ui_process_list.c | 2 +- src/bin/ui/ui_process_view.c | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c index 64e40e3..763bcff 100644 --- a/src/bin/ui/ui_process_list.c +++ b/src/bin/ui/ui_process_list.c @@ -1342,7 +1342,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent) pd->scroller = pd->genlist = glist = elm_genlist_add(parent); elm_genlist_homogeneous_set(glist, 1); elm_scroller_gravity_set(pd->scroller, 0.0, 1.0); - elm_object_focus_allow_set(glist, EINA_FALSE); + elm_object_focus_allow_set(glist, 1); elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); elm_genlist_multi_select_set(glist, EINA_FALSE); diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c index 408eabb..3a74953 100644 --- a/src/bin/ui/ui_process_view.c +++ b/src/bin/ui/ui_process_view.c @@ -726,7 +726,6 @@ _process_tab_add(Evas_Object *parent, Ui_Data *pd) evas_object_show(tbl); elm_object_content_set(fr, tbl); - rec = evas_object_rectangle_add(evas_object_evas_get(tbl)); evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(64), ELM_SCALE_SIZE(64)); evas_object_size_hint_max_set(rec, ELM_SCALE_SIZE(64), ELM_SCALE_SIZE(64)); @@ -1347,6 +1346,22 @@ _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) elm_genlist_realized_items_update(pd->genlist_threads); } +static void +_win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Evas_Event_Key_Down *ev; + Ui_Data *pd; + + pd = data; + ev = event_info; + + if (!ev || !ev->keyname) + return; + + if (!strcmp(ev->keyname, "Escape")) + evas_object_del(pd->win); +} + void ui_process_win_add(Evas_Object *parent_win, int pid, const char *cmd, int poll_delay) { @@ -1395,8 +1410,8 @@ ui_process_win_add(Evas_Object *parent_win, int pid, const char *cmd, int poll_d elm_box_pack_end(box, pd->content); elm_object_content_set(win, box); evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _win_del_cb, pd); - evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, - _win_resize_cb, pd); + evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize_cb, pd); + evas_object_event_callback_add(box, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, pd); evas_object_resize(win, 480 * elm_config_scale_get(), -1); if (parent_win)