diff options
author | woochan lee <wc0917.lee@samsung.com> | 2015-09-23 15:02:21 -0700 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2015-09-23 15:02:29 -0700 |
commit | 8d0da65cf3a39d4c651d25488e352dfd28a6cc43 (patch) | |
tree | 6e573160a0c6e2434f23ae3b3a2c303c4048cbe4 | |
parent | 88270e93d8c565211143aeaa700d76f935c3a567 (diff) | |
download | elementary-8d0da65cf3a39d4c651d25488e352dfd28a6cc43.tar.gz |
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 <cedric@osg.samsung.com>
-rw-r--r-- | src/lib/elm_spinner.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c index 19168c46e..09cb98300 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); |