cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=8d0da65cf3a39d4c651d25488e352dfd28a6cc43

commit 8d0da65cf3a39d4c651d25488e352dfd28a6cc43
Author: woochan lee <wc0917....@samsung.com>
Date:   Wed Sep 23 15:02:21 2015 -0700

    spinner: delete longpress timer when scroller enabled.
    
    Summary:
    If there is a spinner on scroller.
    User can scrolling and spinner button longpress at the same time.
    
    Prevent this weird action, delete longpress timer when scroller enabled.
    
    @feature
    
    Reviewers: Hermet, cedric
    
    Reviewed By: cedric
    
    Differential Revision: https://phab.enlightenment.org/D3101
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/elm_spinner.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 19168c4..09cb983 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -747,6 +747,22 @@ _dec_button_unpressed_cb(void *data,
    return EINA_TRUE;
 }
 
+static void
+_inc_dec_button_mouse_move_cb(void *data,
+                              Evas *evas EINA_UNUSED,
+                              Evas_Object *obj EINA_UNUSED,
+                              void *event_info)
+{
+   Evas_Event_Mouse_Move *ev = event_info;
+   ELM_SPINNER_DATA_GET(data, sd);
+
+   if ((ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) && sd->longpress_timer)
+     {
+        ecore_timer_del(sd->longpress_timer);
+        sd->longpress_timer = NULL;
+     }
+}
+
 EOLIAN static void
 _elm_spinner_elm_layout_sizing_eval(Eo *obj, Elm_Spinner_Data *_pd EINA_UNUSED)
 {
@@ -1029,6 +1045,9 @@ _elm_spinner_evas_object_smart_add(Eo *obj, 
Elm_Spinner_Data *priv)
           (EVAS_CLICKABLE_INTERFACE_EVENT_PRESSED, _inc_button_pressed_cb, 
obj));
         eo_do(priv->inc_button, eo_event_callback_add
           (EVAS_CLICKABLE_INTERFACE_EVENT_UNPRESSED, _inc_button_unpressed_cb, 
obj));
+        evas_object_event_callback_add
+          (priv->inc_button, EVAS_CALLBACK_MOUSE_MOVE, 
_inc_dec_button_mouse_move_cb, obj);
+
 
         elm_layout_content_set(obj, "elm.swallow.inc_button", 
priv->inc_button);
         elm_widget_sub_object_add(obj, priv->inc_button);
@@ -1051,6 +1070,8 @@ _elm_spinner_evas_object_smart_add(Eo *obj, 
Elm_Spinner_Data *priv)
           (EVAS_CLICKABLE_INTERFACE_EVENT_PRESSED, _dec_button_pressed_cb, 
obj));
         eo_do(priv->dec_button, eo_event_callback_add
           (EVAS_CLICKABLE_INTERFACE_EVENT_UNPRESSED, _dec_button_unpressed_cb, 
obj));
+        evas_object_event_callback_add
+          (priv->dec_button, EVAS_CALLBACK_MOUSE_MOVE, 
_inc_dec_button_mouse_move_cb, obj);
 
         elm_layout_content_set(obj, "elm.swallow.dec_button", 
priv->dec_button);
         elm_widget_sub_object_add(obj, priv->dec_button);

-- 


Reply via email to