Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_shelf.c Log Message: Honor hide_timeout. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- e_shelf.c 7 May 2007 16:37:54 -0000 1.61 +++ e_shelf.c 7 May 2007 17:46:25 -0000 1.62 @@ -20,8 +20,8 @@ static void _e_shelf_cb_mouse_in(Ecore_Evas *ee); static void _e_shelf_cb_mouse_out(Ecore_Evas *ee); static int _e_shelf_cb_id_sort(void *data1, void *data2); -static int _e_shelf_cb_hide_timer(void *data); static int _e_shelf_cb_hide_animator(void *data); +static int _e_shelf_cb_hide_animator_timer(void *data); static int _e_shelf_cb_instant_hide_timer(void *data); static void _e_shelf_menu_del_hook(void *data); static void _e_shelf_menu_pre_cb(void *data, E_Menu *m); @@ -199,9 +199,7 @@ es->hidden = 0; es->hide_step = 0; - es->hide_timer = NULL; - es->hide_animator = NULL; - + option = edje_object_data_get(es->o_base, "hidden_state_size"); if (option) es->hidden_state_size = atoi(option); @@ -285,6 +283,11 @@ } else { + if (es->hide_timer) + { + ecore_timer_del(es->hide_timer); + es->hide_timer = NULL; + } if (!es->hide_animator) es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); } @@ -300,8 +303,13 @@ } else { - if (!es->hide_animator) - es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); + if (es->hide_animator) + { + ecore_animator_del(es->hide_animator); + es->hide_animator = NULL; + } + if (es->hide_timer) ecore_timer_del(es->hide_timer); + es->hide_timer = ecore_timer_add(es->cfg->hide_timeout, _e_shelf_cb_hide_animator_timer, es); } } } @@ -1357,6 +1365,18 @@ end: es->hide_animator = NULL; _e_shelf_toggle_border_fix(es); + return 0; +} + +static int +_e_shelf_cb_hide_animator_timer(void *data) +{ + E_Shelf *es; + + es = data; + if (!es->hide_animator) + es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); + es->hide_timer = NULL; return 0; } ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs