summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwoochan lee <wc0917.lee@samsung.com>2015-09-23 15:02:21 -0700
committerCedric BAIL <cedric@osg.samsung.com>2015-09-23 15:02:29 -0700
commit8d0da65cf3a39d4c651d25488e352dfd28a6cc43 (patch)
tree6e573160a0c6e2434f23ae3b3a2c303c4048cbe4
parent88270e93d8c565211143aeaa700d76f935c3a567 (diff)
downloadelementary-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.c21
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);