netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=931510ff6668b69a11f3366586136a447731813c

commit 931510ff6668b69a11f3366586136a447731813c
Author: Alastair Poole <nets...@gmail.com>
Date:   Sat Jan 2 00:52:13 2021 +0000

    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)

-- 


Reply via email to