seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=26b6320f46478f8d1a6abbf76fd20144e369664f

commit 26b6320f46478f8d1a6abbf76fd20144e369664f
Author: Daniel Juyung Seo <juyung....@samsung.com>
Date:   Thu Nov 28 17:06:39 2013 +0900

    elm_spinner.c: support mouse wheel in spinner.
    
    Spinner didn't work with mouse wheel which is a bug.
    This fixes T587.
---
 ChangeLog             |  4 ++++
 NEWS                  |  1 +
 src/lib/elm_spinner.c | 18 +++++++++++++++++-
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 0f7d397..6703d47 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1756,3 +1756,7 @@
 2013-11-25  ChunEon Park (Hermet)
 
         * image: fix the elm_image_prescale_set() to work properly.
+
+2013-11-28  Daniel Juyung Seo (SeoZ)
+
+        * spinner: fix mouse wheel support.
diff --git a/NEWS b/NEWS
index 740858c..c99ebce 100644
--- a/NEWS
+++ b/NEWS
@@ -157,6 +157,7 @@ Improvements:
    * Popup: Change the behavior of adding/removing buttons dynamically. User 
defined button's position is kept.
    * Fileselector: Monitor and update changes of selected path automatically 
while EIO is working.
    * Hoversel: Added focus support on hoversel items.
+   * Spinner: Support mouse wheel.
 
 Fixes:
    * Now elm_datetime_field_limit_set() can set year limits wihtout problems.
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 2021f3a..e7c881b 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -431,8 +431,10 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
 
    Evas_Object *src = va_arg(*list, Evas_Object *);
    Evas_Callback_Type type = va_arg(*list, Evas_Callback_Type);
-   Evas_Event_Key_Down *ev = va_arg(*list, void *);
+   void *event_info = va_arg(*list, void *);
+   Evas_Event_Key_Down *ev = event_info;
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Evas_Event_Mouse_Wheel *mev;
 
    if (ret) *ret = EINA_FALSE;
    (void) src;
@@ -490,6 +492,20 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
 
         goto success;
      }
+   else if (type == EVAS_CALLBACK_MOUSE_WHEEL)
+     {
+        mev = event_info;
+        if (mev->z < 0)
+          {
+             _val_inc_start(obj);
+             elm_layout_signal_emit(obj, "elm,right,anim,activate", "elm");
+          }
+        else
+          {
+             _val_dec_start(obj);
+             elm_layout_signal_emit(obj, "elm,left,anim,activate", "elm");
+          }
+     }
 
    return;
 

-- 


Reply via email to