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

Reply via email to