From 56865b731c2cbf42debaba2f62067656b38a6ff7 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 6 May 2008 10:20:53 +0000 Subject: [PATCH] instant edit is on a delay timer of 1 sec SVN revision: 34479 --- src/bin/e_gadcon.c | 29 ++++++++++++++++++++++++++--- src/bin/e_gadcon.h | 1 + 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index 4237ebffe..75070a25d 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -1328,6 +1328,11 @@ _e_gadcon_free(E_Gadcon *gc) static void _e_gadcon_client_free(E_Gadcon_Client *gcc) { + if (gcc->instant_edit_timer) + { + ecore_timer_del(gcc->instant_edit_timer); + gcc->instant_edit_timer = NULL; + } if (gcc->o_base) evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_DEL, @@ -2229,6 +2234,18 @@ _e_gadcon_client_cb_menu_post(void *data, E_Menu *m) gcc->menu = NULL; } +static int +_e_gadcon_client_cb_instant_edit_timer(void *data) +{ + E_Gadcon_Client *gcc; + + gcc = data; + e_gadcon_client_edit_begin(gcc); + _e_gadcon_client_move_start(gcc); + gcc->instant_edit_timer = NULL; + return 0; +} + static void _e_gadcon_client_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { @@ -2265,9 +2282,10 @@ _e_gadcon_client_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *even { if ((!gcc->o_control) && (gcc->gadcon->instant_edit)) { - printf("EDIT\n"); - e_gadcon_client_edit_begin(gcc); - _e_gadcon_client_move_start(gcc); + if (gcc->instant_edit_timer) ecore_timer_del(gcc->instant_edit_timer); + gcc->instant_edit_timer = + ecore_timer_add(1.0, _e_gadcon_client_cb_instant_edit_timer, + gcc); } } } @@ -2283,6 +2301,11 @@ _e_gadcon_client_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_ if ((ev->button == 1) && (gcc->gadcon->instant_edit)) { + if (gcc->instant_edit_timer) + { + ecore_timer_del(gcc->instant_edit_timer); + gcc->instant_edit_timer = NULL; + } if (gcc->o_control) { printf("EDIT END\n"); diff --git a/src/bin/e_gadcon.h b/src/bin/e_gadcon.h index 74bff14f7..2083a1cf4 100644 --- a/src/bin/e_gadcon.h +++ b/src/bin/e_gadcon.h @@ -151,6 +151,7 @@ struct _E_Gadcon_Client Evas_Coord w, h; } pad, min, aspect; Ecore_Timer *scroll_timer; + Ecore_Timer *instant_edit_timer; Ecore_Animator *scroll_animator; double scroll_pos; double scroll_wanted;