forked from enlightenment/enlightenment
add timers to shelves which still haven't shown at module_init_end to show after 1s
SVN revision: 76953
This commit is contained in:
parent
5e9c699e97
commit
eace74147d
|
@ -1195,6 +1195,11 @@ _e_shelf_free(E_Shelf *es)
|
|||
e_object_del(E_OBJECT(es->menu));
|
||||
es->menu = NULL;
|
||||
}
|
||||
if (es->module_init_end_timer)
|
||||
{
|
||||
ecore_timer_del(es->module_init_end_timer);
|
||||
es->module_init_end_timer = NULL;
|
||||
}
|
||||
if (es->dummy)
|
||||
{
|
||||
evas_object_event_callback_del_full(es->o_base, EVAS_CALLBACK_DEL,
|
||||
|
@ -2157,6 +2162,15 @@ _e_shelf_cb_instant_hide_timer(void *data)
|
|||
return ECORE_CALLBACK_CANCEL;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_e_shelf_module_init_end_timer_cb(void *data)
|
||||
{
|
||||
E_Shelf *es = data;
|
||||
e_shelf_show(es);
|
||||
es->module_init_end_timer = NULL;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_e_shelf_module_init_end_handler_cb(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
|
||||
{
|
||||
|
@ -2167,6 +2181,8 @@ _e_shelf_module_init_end_handler_cb(void *data __UNUSED__, int type __UNUSED__,
|
|||
{
|
||||
if ((!es->gadcon->populate_requests) || (!es->gadcon->cf->clients))
|
||||
e_shelf_show(es);
|
||||
else if (!es->module_init_end_timer)
|
||||
es->module_init_end_timer = ecore_timer_add(1.0, _e_shelf_module_init_end_timer_cb, es);
|
||||
}
|
||||
return ECORE_CALLBACK_RENEW;
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ struct _E_Shelf
|
|||
int interrupted;
|
||||
float instant_delay;
|
||||
Ecore_Timer *instant_timer;
|
||||
Ecore_Timer *module_init_end_timer;
|
||||
Eina_List *handlers;
|
||||
Ecore_Event_Handler *autohide;
|
||||
unsigned char fit_along : 1;
|
||||
|
|
Loading…
Reference in New Issue