Possible to lock shelf.

SVN revision: 32837
This commit is contained in:
Sebastian Dransfeld 2007-11-23 09:18:21 +00:00
parent 218076320e
commit 8304a2cb9e
2 changed files with 73 additions and 54 deletions

View File

@ -250,21 +250,37 @@ 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
e_shelf_toggle(E_Shelf *es, int show)
{
E_OBJECT_CHECK(es);
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
es->toggle = show;
if (es->locked)
es->interrupted = -1;
if ((show) && (es->hidden))
{
es->hidden = 0;
edje_object_signal_emit(es->o_base, "e,state,visible", "e");
if (es->instant_delay >= 0.0)
{
_e_shelf_cb_instant_hide_timer(es);
}
else
{
if (es->hide_timer)

View File

@ -28,9 +28,6 @@ struct _E_Shelf
const char *name;
const char *style;
E_Config_Shelf *cfg;
unsigned char fit_along : 1;
unsigned char fit_size : 1;
unsigned char hidden : 1;
int size;
E_Config_Dialog *config_dialog;
E_Menu *menu;
@ -43,6 +40,11 @@ struct _E_Shelf
float instant_delay;
Ecore_Timer *instant_timer;
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);
@ -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_show(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_move(E_Shelf *es, int x, int y);
EAPI void e_shelf_resize(E_Shelf *es, int w, int h);