From 27278996b59678b451f6535005a5382f3042b0db Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Mon, 16 Aug 2010 14:07:53 +0000 Subject: [PATCH] Handle slider changing/updating. SVN revision: 51213 --- src/modules/illume-home/e_mod_config.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/illume-home/e_mod_config.c b/src/modules/illume-home/e_mod_config.c index 836372398..c4764649d 100644 --- a/src/modules/illume-home/e_mod_config.c +++ b/src/modules/illume-home/e_mod_config.c @@ -7,6 +7,7 @@ static void *_il_home_config_create(E_Config_Dialog *cfd); static void _il_home_config_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_il_home_config_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static void _il_home_config_changed(void *data, Evas_Object *obj, void *event); +static void _il_home_config_slider_changed(void *data, Evas_Object *obj); static void _il_home_config_click_changed(void *data, Evas_Object *obj, void *event); static Eina_Bool _il_home_config_change_timeout(void *data); @@ -167,9 +168,7 @@ _il_home_config_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdat o = e_widget_slider_add(evas, 1, 0, "%1.0f ms", 0, 350, 1, 0, NULL, &(il_home_cfg->single_click_delay), 150); delay_slider = o; - /* Slider does not emit a changed signal */ -// evas_object_smart_callback_add(o, "changed", -// _il_home_config_changed, NULL); + e_widget_on_change_hook_set(o, _il_home_config_slider_changed, NULL); e_widget_disabled_set(o, !(il_home_cfg->single_click)); e_widget_framelist_object_append(of, o); e_widget_list_object_append(list, of, 1, 0, 0.0); @@ -186,6 +185,15 @@ _il_home_config_changed(void *data, Evas_Object *obj, void *event) ecore_timer_add(0.5, _il_home_config_change_timeout, data); } +static void +_il_home_config_slider_changed(void *data, Evas_Object *obj) +{ + if (_il_home_config_change_timer) + ecore_timer_del(_il_home_config_change_timer); + _il_home_config_change_timer = + ecore_timer_add(0.5, _il_home_config_change_timeout, data); +} + static void _il_home_config_click_changed(void *data, Evas_Object *obj, void *event) {