|
From: Enlightenment C. <no...@cv...> - 2007-05-07 17:46:26
|
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;
}
|