forked from enlightenment/enlightenment
check for shelf visibility on init before showing
ticket #1595 SVN revision: 77502
This commit is contained in:
parent
f90abcdf4b
commit
832be52b04
|
@ -885,7 +885,16 @@ e_shelf_desk_visible(E_Shelf *es, E_Desk *desk)
|
||||||
E_Config_Shelf_Desk *sd;
|
E_Config_Shelf_Desk *sd;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(es, EINA_FALSE);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(es, EINA_FALSE);
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(desk, EINA_FALSE);
|
if (!desk)
|
||||||
|
{
|
||||||
|
Eina_Bool vis = EINA_FALSE;
|
||||||
|
EINA_LIST_FOREACH(e_util_container_current_get()->zones, ll, zone)
|
||||||
|
{
|
||||||
|
desk = e_desk_current_get(zone);
|
||||||
|
vis |= e_shelf_desk_visible(es, desk);
|
||||||
|
}
|
||||||
|
return vis;
|
||||||
|
}
|
||||||
if (!es->cfg->desk_show_mode) return EINA_TRUE;
|
if (!es->cfg->desk_show_mode) return EINA_TRUE;
|
||||||
cf_es = es->cfg;
|
cf_es = es->cfg;
|
||||||
if (!cf_es) return EINA_FALSE;
|
if (!cf_es) return EINA_FALSE;
|
||||||
|
@ -1075,7 +1084,7 @@ e_shelf_config_new(E_Zone *zone, E_Config_Shelf *cf_es)
|
||||||
* the E_EVENT_GADCON_POPULATE handler
|
* the E_EVENT_GADCON_POPULATE handler
|
||||||
*/
|
*/
|
||||||
if ((es->gadcon->populated_classes && es->gadcon->clients) || (!es->gadcon->cf->clients))
|
if ((es->gadcon->populated_classes && es->gadcon->clients) || (!es->gadcon->cf->clients))
|
||||||
e_shelf_show(es);
|
if (e_shelf_desk_visible(es, NULL)) e_shelf_show(es);
|
||||||
}
|
}
|
||||||
|
|
||||||
e_shelf_toggle(es, 0);
|
e_shelf_toggle(es, 0);
|
||||||
|
@ -2192,7 +2201,7 @@ static Eina_Bool
|
||||||
_e_shelf_module_init_end_timer_cb(void *data)
|
_e_shelf_module_init_end_timer_cb(void *data)
|
||||||
{
|
{
|
||||||
E_Shelf *es = data;
|
E_Shelf *es = data;
|
||||||
e_shelf_show(es);
|
if (e_shelf_desk_visible(es, NULL)) e_shelf_show(es);
|
||||||
es->module_init_end_timer = NULL;
|
es->module_init_end_timer = NULL;
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -2206,7 +2215,10 @@ _e_shelf_module_init_end_handler_cb(void *data __UNUSED__, int type __UNUSED__,
|
||||||
EINA_LIST_FOREACH(shelves, l, es)
|
EINA_LIST_FOREACH(shelves, l, es)
|
||||||
{
|
{
|
||||||
if ((!es->gadcon->populate_requests) || (!es->gadcon->cf->clients))
|
if ((!es->gadcon->populate_requests) || (!es->gadcon->cf->clients))
|
||||||
e_shelf_show(es);
|
{
|
||||||
|
if (e_shelf_desk_visible(es, NULL))
|
||||||
|
e_shelf_show(es);
|
||||||
|
}
|
||||||
else if (!es->module_init_end_timer)
|
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);
|
es->module_init_end_timer = ecore_timer_add(1.0, _e_shelf_module_init_end_timer_cb, es);
|
||||||
}
|
}
|
||||||
|
@ -2227,7 +2239,7 @@ _e_shelf_gadcon_populate_handler_cb(void *data __UNUSED__, int type __UNUSED__,
|
||||||
* waiting for this event to show it so that we don't ever resize the shelf
|
* waiting for this event to show it so that we don't ever resize the shelf
|
||||||
* object
|
* object
|
||||||
*/
|
*/
|
||||||
e_shelf_show(es);
|
if (e_shelf_desk_visible(es, NULL)) e_shelf_show(es);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return ECORE_CALLBACK_RENEW;
|
return ECORE_CALLBACK_RENEW;
|
||||||
|
|
Loading…
Reference in New Issue