forked from enlightenment/enlightenment
move shelf visible detection code from e_desk to e_shelf
SVN revision: 77416
This commit is contained in:
parent
ae68c2d7a9
commit
b0df4fc70f
|
@ -303,30 +303,7 @@ e_desk_show(E_Desk *desk)
|
|||
|
||||
EINA_LIST_FOREACH(e_shelf_list(), l, es)
|
||||
{
|
||||
Eina_List *ll;
|
||||
E_Config_Shelf *cf_es;
|
||||
E_Zone *zone;
|
||||
E_Config_Shelf_Desk *sd;
|
||||
int show_shelf = 0;
|
||||
|
||||
if (!es) continue;
|
||||
if (!es->cfg->desk_show_mode) continue;
|
||||
cf_es = es->cfg;
|
||||
if (!cf_es) continue;
|
||||
|
||||
zone = desk->zone;
|
||||
if (cf_es->zone != (int)zone->num) continue;
|
||||
|
||||
EINA_LIST_FOREACH(es->cfg->desk_list, ll, sd)
|
||||
{
|
||||
if (!sd) continue;
|
||||
if ((desk->x == sd->x) && (desk->y == sd->y))
|
||||
{
|
||||
show_shelf = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (show_shelf)
|
||||
if (e_shelf_desk_visible(es, desk))
|
||||
e_shelf_show(es);
|
||||
else
|
||||
e_shelf_hide(es);
|
||||
|
|
|
@ -876,6 +876,32 @@ e_shelf_position_calc(E_Shelf *es)
|
|||
} while (0);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
e_shelf_desk_visible(E_Shelf *es, E_Desk *desk)
|
||||
{
|
||||
Eina_List *ll;
|
||||
E_Config_Shelf *cf_es;
|
||||
E_Zone *zone;
|
||||
E_Config_Shelf_Desk *sd;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(es, EINA_FALSE);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(desk, EINA_FALSE);
|
||||
if (!es->cfg->desk_show_mode) return EINA_TRUE;
|
||||
cf_es = es->cfg;
|
||||
if (!cf_es) return EINA_FALSE;
|
||||
|
||||
zone = desk->zone;
|
||||
if (cf_es->zone != (int)zone->num) return EINA_FALSE;
|
||||
|
||||
EINA_LIST_FOREACH(es->cfg->desk_list, ll, sd)
|
||||
{
|
||||
if (!sd) continue;
|
||||
if ((desk->x == sd->x) && (desk->y == sd->y))
|
||||
return EINA_TRUE;
|
||||
}
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_shelf_style_set(E_Shelf *es, const char *style)
|
||||
{
|
||||
|
|
|
@ -92,5 +92,6 @@ EAPI E_Shelf *e_shelf_config_new(E_Zone *zone, E_Config_Shelf *cf_es);
|
|||
EAPI void e_shelf_name_set(E_Shelf *es, const char *name);
|
||||
EAPI void e_shelf_rename_dialog(E_Shelf *es);
|
||||
EAPI void e_shelf_autohide_set(E_Shelf *es, Eina_Bool autohide);
|
||||
EAPI Eina_Bool e_shelf_desk_visible(E_Shelf *es, E_Desk *desk);
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue