cleanup list usage and move to eina macros.

SVN revision: 39229
This commit is contained in:
Gustavo Sverzut Barbieri 2009-02-26 03:57:10 +00:00
parent 089917d8c1
commit 19de236fd0
1 changed files with 50 additions and 72 deletions

View File

@ -378,17 +378,13 @@ _ibar_empty_handle(IBar *b)
static void static void
_ibar_fill(IBar *b) _ibar_fill(IBar *b)
{ {
IBar_Icon *ic;
if (b->apps) if (b->apps)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
Eina_List *l; const Eina_List *l;
EINA_LIST_FOREACH(b->apps->desktops, l, desktop)
for (l = b->apps->desktops; l; l = l->next)
{ {
desktop = l->data; IBar_Icon *ic = _ibar_icon_new(b, desktop);
ic = _ibar_icon_new(b, desktop);
b->icons = eina_list_append(b->icons, ic); b->icons = eina_list_append(b->icons, ic);
e_box_pack_end(b->o_box, ic->o_holder); e_box_pack_end(b->o_box, ic->o_holder);
} }
@ -400,11 +396,10 @@ _ibar_fill(IBar *b)
static void static void
_ibar_empty(IBar *b) _ibar_empty(IBar *b)
{ {
while (b->icons) IBar_Icon *ic;
{ EINA_LIST_FREE(b->icons, ic)
_ibar_icon_free(b->icons->data); _ibar_icon_free(ic);
b->icons = eina_list_remove_list(b->icons, b->icons);
}
_ibar_empty_handle(b); _ibar_empty_handle(b);
} }
@ -418,7 +413,7 @@ _ibar_orient_set(IBar *b, int horizontal)
static void static void
_ibar_resize_handle(IBar *b) _ibar_resize_handle(IBar *b)
{ {
Eina_List *l; const Eina_List *l;
IBar_Icon *ic; IBar_Icon *ic;
Evas_Coord w, h; Evas_Coord w, h;
@ -428,9 +423,8 @@ _ibar_resize_handle(IBar *b)
else else
h = w; h = w;
e_box_freeze(b->o_box); e_box_freeze(b->o_box);
for (l = b->icons; l; l = l->next) EINA_LIST_FOREACH(b->icons, l, ic)
{ {
ic = l->data;
e_box_pack_options_set(ic->o_holder, e_box_pack_options_set(ic->o_holder,
1, 1, /* fill */ 1, 1, /* fill */
0, 0, /* expand */ 0, 0, /* expand */
@ -454,7 +448,6 @@ _ibar_instance_drop_zone_recalc(Instance *inst)
static Config_Item * static Config_Item *
_ibar_config_item_get(const char *id) _ibar_config_item_get(const char *id)
{ {
Eina_List *l;
Config_Item *ci; Config_Item *ci;
char buf[128]; char buf[128];
@ -465,10 +458,10 @@ _ibar_config_item_get(const char *id)
} }
else else
{ {
const Eina_List *l;
/* Find old config, or reuse supplied id */ /* Find old config, or reuse supplied id */
for (l = ibar_config->items; l; l = l->next) EINA_LIST_FOREACH(ibar_config->items, l, ci)
{ {
ci = l->data;
if ((ci->id) && (!strcmp(ci->id, id))) if ((ci->id) && (!strcmp(ci->id, id)))
{ {
if (!ci->dir) if (!ci->dir)
@ -489,15 +482,13 @@ _ibar_config_item_get(const char *id)
void void
_ibar_config_update(Config_Item *ci) _ibar_config_update(Config_Item *ci)
{ {
Eina_List *l; const Eina_List *l;
Eina_List *i;
for (l = ibar_config->instances; l; l = l->next)
{
Instance *inst; Instance *inst;
EINA_LIST_FOREACH(ibar_config->instances, l, inst)
{
char buf[4096]; char buf[4096];
inst = l->data;
if (inst->ci != ci) continue; if (inst->ci != ci) continue;
_ibar_empty(inst->ibar); _ibar_empty(inst->ibar);
@ -517,11 +508,10 @@ _ibar_config_update(Config_Item *ci)
_ibar_resize_handle(inst->ibar); _ibar_resize_handle(inst->ibar);
_gc_orient(inst->gcc, -1); _gc_orient(inst->gcc, -1);
for (i = inst->ibar->icons; i; i = i->next) const Eina_List *i;
{
IBar_Icon *ic; IBar_Icon *ic;
EINA_LIST_FOREACH(inst->ibar->icons, i, ic)
ic = i->data; {
switch (ci->eap_label) switch (ci->eap_label)
{ {
case 0: case 0:
@ -544,14 +534,12 @@ _ibar_config_update(Config_Item *ci)
static IBar_Icon * static IBar_Icon *
_ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y) _ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y)
{ {
Eina_List *l; const Eina_List *l;
IBar_Icon *ic; IBar_Icon *ic;
for (l = b->icons; l; l = l->next) EINA_LIST_FOREACH(b->icons, l, ic)
{ {
Evas_Coord dx, dy, dw, dh; Evas_Coord dx, dy, dw, dh;
ic = l->data;
evas_object_geometry_get(ic->o_holder, &dx, &dy, &dw, &dh); evas_object_geometry_get(ic->o_holder, &dx, &dy, &dw, &dh);
if (E_INSIDE(x, y, dx, dy, dw, dh)) return ic; if (E_INSIDE(x, y, dx, dy, dw, dh)) return ic;
} }
@ -1135,7 +1123,7 @@ _ibar_inst_cb_drop(void *data, const char *type, void *event_info)
E_Event_Dnd_Drop *ev; E_Event_Dnd_Drop *ev;
Instance *inst; Instance *inst;
Efreet_Desktop *app = NULL; Efreet_Desktop *app = NULL;
Eina_List *l, *fl = NULL; Eina_List *fl = NULL;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
@ -1170,9 +1158,11 @@ _ibar_inst_cb_drop(void *data, const char *type, void *event_info)
/* Add new eapp before this icon */ /* Add new eapp before this icon */
if (!inst->ibar->drop_before) if (!inst->ibar->drop_before)
{ {
for (l = inst->ibar->icons; l; l = l->next) const Eina_List *l;
IBar_Icon *ic2;
EINA_LIST_FOREACH(inst->ibar->icons, l, ic2)
{ {
if (l->data == ic) if (ic2 == ic)
{ {
if (l->next) if (l->next)
ic = l->next->data; ic = l->next->data;
@ -1257,22 +1247,20 @@ e_modapi_init(E_Module *m)
else else
{ {
Eina_List *removes = NULL; Eina_List *removes = NULL;
Eina_List *l; const Eina_List *l;
Config_Item *ci;
for (l = ibar_config->items; l; l = l->next) EINA_LIST_FOREACH(ibar_config->items, l, ci)
{ {
Config_Item *ci = l->data;
if (!ci->id) if (!ci->id)
removes = eina_list_append(removes, ci); removes = eina_list_append(removes, ci);
else if (!ci->dir) else if (!ci->dir)
removes = eina_list_append(removes, ci); removes = eina_list_append(removes, ci);
else else
{ {
Eina_List *ll; const Eina_List *ll;
Config_Item *ci2;
for (ll = l->next; ll; ll = ll->next) EINA_LIST_FOREACH(l->next, ll, ci2)
{ {
Config_Item *ci2 = ll->data;
if ((ci2->id) && (!strcmp(ci->id, ci2->id))) if ((ci2->id) && (!strcmp(ci->id, ci2->id)))
{ {
removes = eina_list_append(removes, ci); removes = eina_list_append(removes, ci);
@ -1281,18 +1269,15 @@ e_modapi_init(E_Module *m)
} }
} }
} }
while (removes) EINA_LIST_FREE(removes, ci)
{ {
Config_Item *ci = removes->data;
removes = eina_list_remove_list(removes, removes);
ibar_config->items = eina_list_remove(ibar_config->items, ci); ibar_config->items = eina_list_remove(ibar_config->items, ci);
if (ci->id) eina_stringshare_del(ci->id); if (ci->id) eina_stringshare_del(ci->id);
if (ci->dir) eina_stringshare_del(ci->dir); if (ci->dir) eina_stringshare_del(ci->dir);
free(ci); free(ci);
} }
for (l = ibar_config->items; l; l = l->next) EINA_LIST_FOREACH(ibar_config->items, l, ci)
{ {
Config_Item *ci = l->data;
if (ci->id) if (ci->id)
{ {
const char *p; const char *p;
@ -1324,23 +1309,21 @@ e_modapi_shutdown(E_Module *m)
if (ibar_config->config_dialog) if (ibar_config->config_dialog)
e_object_del(E_OBJECT(ibar_config->config_dialog)); e_object_del(E_OBJECT(ibar_config->config_dialog));
while (ibar_config->handlers)
{ Ecore_Event_Handler *eh;
ecore_event_handler_del(ibar_config->handlers->data); EINA_LIST_FREE(ibar_config->handlers, eh)
ibar_config->handlers = eina_list_remove_list(ibar_config->handlers, ibar_config->handlers); ecore_event_handler_del(eh);
}
if (ibar_config->menu) if (ibar_config->menu)
{ {
e_menu_post_deactivate_callback_set(ibar_config->menu, NULL, NULL); e_menu_post_deactivate_callback_set(ibar_config->menu, NULL, NULL);
e_object_del(E_OBJECT(ibar_config->menu)); e_object_del(E_OBJECT(ibar_config->menu));
ibar_config->menu = NULL; ibar_config->menu = NULL;
} }
while (ibar_config->items)
{
Config_Item *ci;
ci = ibar_config->items->data; Config_Item *ci;
ibar_config->items = eina_list_remove_list(ibar_config->items, ibar_config->items); EINA_LIST_FREE(ibar_config->items, ci)
{
if (ci->id) eina_stringshare_del(ci->id); if (ci->id) eina_stringshare_del(ci->id);
if (ci->dir) eina_stringshare_del(ci->dir); if (ci->dir) eina_stringshare_del(ci->dir);
free(ci); free(ci);
@ -1362,21 +1345,16 @@ e_modapi_save(E_Module *m)
static int static int
_ibar_cb_config_icon_theme(void *data, int ev_type, void *ev) _ibar_cb_config_icon_theme(void *data, int ev_type, void *ev)
{ {
Eina_List *l, *l2; const Eina_List *l;
for (l = ibar_config->instances; l; l = l->next)
{
Instance *inst; Instance *inst;
inst = l->data; EINA_LIST_FOREACH(ibar_config->instances, l, inst)
for (l2 = inst->ibar->icons; l2; l2 = l2->next)
{ {
const Eina_List *l2;
IBar_Icon *icon; IBar_Icon *icon;
EINA_LIST_FOREACH(inst->ibar->icons, l2, icon)
icon = l2->data;
_ibar_icon_fill(icon); _ibar_icon_fill(icon);
} }
}
return 1; return 1;
} }