forked from enlightenment/enlightenment
parent
218076320e
commit
8304a2cb9e
|
@ -250,53 +250,69 @@ e_shelf_hide(E_Shelf *es)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_shelf_locked_set(E_Shelf *es, int lock)
|
||||||
|
{
|
||||||
|
printf("Lock shelf: %d\n", lock);
|
||||||
|
if (lock)
|
||||||
|
{
|
||||||
|
e_shelf_toggle(es, 1);
|
||||||
|
es->locked = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
es->locked = 0;
|
||||||
|
e_shelf_toggle(es, es->toggle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_shelf_toggle(E_Shelf *es, int show)
|
e_shelf_toggle(E_Shelf *es, int show)
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(es);
|
E_OBJECT_CHECK(es);
|
||||||
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
|
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
|
||||||
|
|
||||||
es->interrupted = -1;
|
es->toggle = show;
|
||||||
if ((show) && (es->hidden))
|
if (es->locked)
|
||||||
{
|
es->interrupted = -1;
|
||||||
es->hidden = 0;
|
if ((show) && (es->hidden))
|
||||||
edje_object_signal_emit(es->o_base, "e,state,visible", "e");
|
{
|
||||||
if (es->instant_delay >= 0.0)
|
es->hidden = 0;
|
||||||
{
|
edje_object_signal_emit(es->o_base, "e,state,visible", "e");
|
||||||
_e_shelf_cb_instant_hide_timer(es);
|
if (es->instant_delay >= 0.0)
|
||||||
}
|
_e_shelf_cb_instant_hide_timer(es);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (es->hide_timer)
|
if (es->hide_timer)
|
||||||
{
|
{
|
||||||
ecore_timer_del(es->hide_timer);
|
ecore_timer_del(es->hide_timer);
|
||||||
es->hide_timer = NULL;
|
es->hide_timer = NULL;
|
||||||
}
|
}
|
||||||
if (!es->hide_animator)
|
if (!es->hide_animator)
|
||||||
es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
|
es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((!show) && (!es->hidden) && (!es->gadcon->editing) && (es->cfg->autohide))
|
else if ((!show) && (!es->hidden) && (!es->gadcon->editing) && (es->cfg->autohide))
|
||||||
{
|
{
|
||||||
edje_object_signal_emit(es->o_base, "e,state,hidden", "e");
|
edje_object_signal_emit(es->o_base, "e,state,hidden", "e");
|
||||||
if (es->instant_delay >= 0.0)
|
if (es->instant_delay >= 0.0)
|
||||||
{
|
{
|
||||||
es->hidden = 1;
|
es->hidden = 1;
|
||||||
if (!es->instant_timer)
|
if (!es->instant_timer)
|
||||||
es->instant_timer = ecore_timer_add(es->instant_delay, _e_shelf_cb_instant_hide_timer, es);
|
es->instant_timer = ecore_timer_add(es->instant_delay, _e_shelf_cb_instant_hide_timer, es);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (es->hide_animator)
|
if (es->hide_animator)
|
||||||
{
|
{
|
||||||
es->interrupted = show;
|
es->interrupted = show;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
es->hidden = 1;
|
es->hidden = 1;
|
||||||
if (es->hide_timer) ecore_timer_del(es->hide_timer);
|
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);
|
es->hide_timer = ecore_timer_add(es->cfg->hide_timeout, _e_shelf_cb_hide_animator_timer, es);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -611,7 +627,7 @@ e_shelf_config_new(E_Zone *zone, E_Config_Shelf *cf_es)
|
||||||
E_Shelf *es;
|
E_Shelf *es;
|
||||||
|
|
||||||
es = e_shelf_zone_new(zone, cf_es->name, cf_es->style,
|
es = e_shelf_zone_new(zone, cf_es->name, cf_es->style,
|
||||||
cf_es->popup, cf_es->layer, cf_es->id);
|
cf_es->popup, cf_es->layer, cf_es->id);
|
||||||
if (!es) return NULL;
|
if (!es) return NULL;
|
||||||
|
|
||||||
if (!cf_es->hide_timeout) cf_es->hide_timeout = 1.0;
|
if (!cf_es->hide_timeout) cf_es->hide_timeout = 1.0;
|
||||||
|
|
|
@ -28,9 +28,6 @@ struct _E_Shelf
|
||||||
const char *name;
|
const char *name;
|
||||||
const char *style;
|
const char *style;
|
||||||
E_Config_Shelf *cfg;
|
E_Config_Shelf *cfg;
|
||||||
unsigned char fit_along : 1;
|
|
||||||
unsigned char fit_size : 1;
|
|
||||||
unsigned char hidden : 1;
|
|
||||||
int size;
|
int size;
|
||||||
E_Config_Dialog *config_dialog;
|
E_Config_Dialog *config_dialog;
|
||||||
E_Menu *menu;
|
E_Menu *menu;
|
||||||
|
@ -43,6 +40,11 @@ struct _E_Shelf
|
||||||
float instant_delay;
|
float instant_delay;
|
||||||
Ecore_Timer *instant_timer;
|
Ecore_Timer *instant_timer;
|
||||||
Evas_List *handlers;
|
Evas_List *handlers;
|
||||||
|
unsigned char fit_along : 1;
|
||||||
|
unsigned char fit_size : 1;
|
||||||
|
unsigned char hidden : 1;
|
||||||
|
unsigned char locked : 1;
|
||||||
|
unsigned char toggle : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI int e_shelf_init(void);
|
EAPI int e_shelf_init(void);
|
||||||
|
@ -54,6 +56,7 @@ EAPI void e_shelf_zone_move_resize_handle(E_Zone *zone);
|
||||||
EAPI void e_shelf_populate(E_Shelf *es);
|
EAPI void e_shelf_populate(E_Shelf *es);
|
||||||
EAPI void e_shelf_show(E_Shelf *es);
|
EAPI void e_shelf_show(E_Shelf *es);
|
||||||
EAPI void e_shelf_hide(E_Shelf *es);
|
EAPI void e_shelf_hide(E_Shelf *es);
|
||||||
|
EAPI void e_shelf_locked_set(E_Shelf *es, int lock);
|
||||||
EAPI void e_shelf_toggle(E_Shelf *es, int show);
|
EAPI void e_shelf_toggle(E_Shelf *es, int show);
|
||||||
EAPI void e_shelf_move(E_Shelf *es, int x, int y);
|
EAPI void e_shelf_move(E_Shelf *es, int x, int y);
|
||||||
EAPI void e_shelf_resize(E_Shelf *es, int w, int h);
|
EAPI void e_shelf_resize(E_Shelf *es, int w, int h);
|
||||||
|
|
Loading…
Reference in New Issue