netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=734662b86ef17186ef6ec667dab61c5631e282ed

commit 734662b86ef17186ef6ec667dab61c5631e282ed
Author: Alastair Poole <nets...@gmail.com>
Date:   Fri Mar 26 16:57:38 2021 +0000

    proclist: handle mouse wheel ourselves.
    
    This can be too much...
---
 src/bin/ui/ui_process_list.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c
index d21d340..0a735a9 100644
--- a/src/bin/ui/ui_process_list.c
+++ b/src/bin/ui/ui_process_list.c
@@ -1456,6 +1456,26 @@ _glist_scroll_stopped_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    prev_oy = oy;
 }
 
+static void
+_glist_mouse_wheel_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
+                      void *event_info)
+{
+   Evas_Event_Mouse_Wheel *ev;
+   Data *pd;
+   Evas_Coord x, y, w, h;
+   Evas_Coord movement = 0;
+
+   pd = data;
+   ev = event_info;
+
+   elm_scroller_region_get(pd->glist, &x, &y, &w, &h);
+
+   if (ev->z == 1) movement = (h / 2);
+   else if (ev->z == -1) movement = -(h / 2);
+
+   elm_scroller_region_bring_in(pd->glist, x, y + movement, w, h);
+}
+
 static Eina_Bool
 _main_menu_timer_cb(void *data)
 {
@@ -1719,6 +1739,7 @@ _content_add(Data *pd, Evas_Object *parent)
    pd->glist = glist = elm_genlist_add(parent);
    elm_genlist_homogeneous_set(glist, 1);
    elm_scroller_gravity_set(glist, 0.0, 1.0);
+   elm_scroller_wheel_disabled_set(glist, 1);
    elm_object_focus_allow_set(glist, 1);
    elm_scroller_policy_set(glist, ELM_SCROLLER_POLICY_AUTO,
                            (ui->proc.show_scroller ?
@@ -1746,6 +1767,8 @@ _content_add(Data *pd, Evas_Object *parent)
                                   _glist_scroll_stopped_cb, pd);
    evas_object_smart_callback_add(glist, "scroll,drag,stop",
                                   _glist_scroll_stopped_cb, pd);
+   evas_object_event_callback_add(glist, EVAS_CALLBACK_MOUSE_WHEEL,
+                                  _glist_mouse_wheel_cb, pd);
 
    pd->summary.fr = fr = elm_frame_add(parent);
    elm_object_style_set(fr, "pad_small");

-- 


Reply via email to