Lots of formatting, & Whitespace Removal

SVN revision: 40752
This commit is contained in:
Christopher Michael 2009-05-19 22:50:35 +00:00
parent 4147c5156d
commit 56c5dda8e5
1 changed files with 136 additions and 138 deletions

View File

@ -34,48 +34,44 @@ static const E_Gadcon_Client_Class _gadcon_class =
/* actual module specifics */ /* actual module specifics */
typedef struct _Instance Instance; typedef struct _Instance Instance;
typedef struct _IBar IBar;
typedef struct _IBar IBar;
typedef struct _IBar_Icon IBar_Icon; typedef struct _IBar_Icon IBar_Icon;
struct _Instance struct _Instance
{ {
E_Gadcon_Client *gcc; E_Gadcon_Client *gcc;
Evas_Object *o_ibar; Evas_Object *o_ibar;
IBar *ibar; IBar *ibar;
E_Drop_Handler *drop_handler; E_Drop_Handler *drop_handler;
Config_Item *ci; Config_Item *ci;
E_Gadcon_Orient orient; E_Gadcon_Orient orient;
}; };
struct _IBar struct _IBar
{ {
Instance *inst; Instance *inst;
Evas_Object *o_box; Evas_Object *o_box, *o_drop;
Evas_Object *o_drop; Evas_Object *o_drop_over, *o_empty;
Evas_Object *o_drop_over; IBar_Icon *ic_drop_before;
Evas_Object *o_empty; int drop_before;
IBar_Icon *ic_drop_before; E_Order *apps;
int drop_before; Eina_List *icons;
E_Order *apps; Evas_Coord dnd_x, dnd_y;
Eina_List *icons;
Evas_Coord dnd_x, dnd_y;
}; };
struct _IBar_Icon struct _IBar_Icon
{ {
IBar *ibar; IBar *ibar;
Evas_Object *o_holder; Evas_Object *o_holder, *o_icon;
Evas_Object *o_icon; Evas_Object *o_holder2, *o_icon2;
Evas_Object *o_holder2;
Evas_Object *o_icon2;
Efreet_Desktop *app; Efreet_Desktop *app;
int mouse_down; int mouse_down;
struct { struct
unsigned char start : 1; {
unsigned char dnd : 1; unsigned char start : 1;
int x, y; unsigned char dnd : 1;
} drag; int x, y;
} drag;
}; };
static IBar *_ibar_new(Evas *evas, Instance *inst); static IBar *_ibar_new(Evas *evas, Instance *inst);
@ -115,7 +111,6 @@ static void _ibar_inst_cb_leave(void *data, const char *type, void *event_info);
static void _ibar_inst_cb_drop(void *data, const char *type, void *event_info); static void _ibar_inst_cb_drop(void *data, const char *type, void *event_info);
static void _ibar_drop_position_update(Instance *inst, Evas_Coord x, Evas_Coord y); static void _ibar_drop_position_update(Instance *inst, Evas_Coord x, Evas_Coord y);
static void _ibar_inst_cb_scroll(void *data); static void _ibar_inst_cb_scroll(void *data);
static int _ibar_cb_config_icon_theme(void *data, int ev_type, void *ev); static int _ibar_cb_config_icon_theme(void *data, int ev_type, void *ev);
static E_Config_DD *conf_edd = NULL; static E_Config_DD *conf_edd = NULL;
@ -135,7 +130,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
Evas_Coord x, y, w, h; Evas_Coord x, y, w, h;
const char *drop[] = { "enlightenment/desktop", "enlightenment/border", "text/uri-list" }; const char *drop[] = { "enlightenment/desktop", "enlightenment/border", "text/uri-list" };
Config_Item *ci; Config_Item *ci;
inst = E_NEW(Instance, 1); inst = E_NEW(Instance, 1);
ci = _ibar_config_item_get(id); ci = _ibar_config_item_get(id);
@ -145,11 +140,11 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
o = b->o_box; o = b->o_box;
gcc = e_gadcon_client_new(gc, name, id, style, o); gcc = e_gadcon_client_new(gc, name, id, style, o);
gcc->data = inst; gcc->data = inst;
inst->gcc = gcc; inst->gcc = gcc;
inst->o_ibar = o; inst->o_ibar = o;
inst->orient = E_GADCON_ORIENT_HORIZ; inst->orient = E_GADCON_ORIENT_HORIZ;
evas_object_geometry_get(o, &x, &y, &w, &h); evas_object_geometry_get(o, &x, &y, &w, &h);
inst->drop_handler = inst->drop_handler =
e_drop_handler_add(E_OBJECT(inst->gcc), inst, e_drop_handler_add(E_OBJECT(inst->gcc), inst,
@ -168,12 +163,12 @@ static void
_gc_shutdown(E_Gadcon_Client *gcc) _gc_shutdown(E_Gadcon_Client *gcc)
{ {
Instance *inst; Instance *inst;
inst = gcc->data; inst = gcc->data;
ibar_config->instances = eina_list_remove(ibar_config->instances, inst); ibar_config->instances = eina_list_remove(ibar_config->instances, inst);
e_drop_handler_del(inst->drop_handler); e_drop_handler_del(inst->drop_handler);
_ibar_free(inst->ibar); _ibar_free(inst->ibar);
free(inst); E_FREE(inst);
} }
static void static void
@ -182,8 +177,7 @@ _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
Instance *inst; Instance *inst;
inst = gcc->data; inst = gcc->data;
if (orient != -1) if (orient != -1) inst->orient = orient;
inst->orient = orient;
switch (inst->orient) switch (inst->orient)
{ {
@ -225,7 +219,7 @@ _gc_icon(E_Gadcon_Client_Class *client_class, Evas *evas)
{ {
Evas_Object *o; Evas_Object *o;
char buf[4096]; char buf[4096];
o = edje_object_add(evas); o = edje_object_add(evas);
snprintf(buf, sizeof(buf), "%s/e-module-ibar.edj", snprintf(buf, sizeof(buf), "%s/e-module-ibar.edj",
e_module_dir_get(ibar_config->module)); e_module_dir_get(ibar_config->module));
@ -260,12 +254,6 @@ _gc_id_del(E_Gadcon_Client_Class *client_class, const char *id)
*/ */
} }
/**/
/***************************************************************************/
/***************************************************************************/
/**/
static IBar * static IBar *
_ibar_new(Evas *evas, Instance *inst) _ibar_new(Evas *evas, Instance *inst)
{ {
@ -280,9 +268,8 @@ _ibar_new(Evas *evas, Instance *inst)
e_box_orientation_set(b->o_box, 1); e_box_orientation_set(b->o_box, 1);
e_box_align_set(b->o_box, 0.5, 0.5); e_box_align_set(b->o_box, 0.5, 0.5);
if (inst->ci->dir[0] != '/') if (inst->ci->dir[0] != '/')
{ e_user_dir_snprintf(buf, sizeof(buf), "applications/bar/%s/.order",
e_user_dir_snprintf(buf, sizeof(buf), "applications/bar/%s/.order", inst->ci->dir); inst->ci->dir);
}
else else
ecore_strlcpy(buf, inst->ci->dir, sizeof(buf)); ecore_strlcpy(buf, inst->ci->dir, sizeof(buf));
b->apps = e_order_new(buf); b->apps = e_order_new(buf);
@ -301,7 +288,7 @@ _ibar_free(IBar *b)
if (b->o_empty) evas_object_del(b->o_empty); if (b->o_empty) evas_object_del(b->o_empty);
e_order_update_callback_set(b->apps, NULL, NULL); e_order_update_callback_set(b->apps, NULL, NULL);
if (b->apps) e_object_del(E_OBJECT(b->apps)); if (b->apps) e_object_del(E_OBJECT(b->apps));
free(b); E_FREE(b);
} }
static void static void
@ -309,7 +296,7 @@ _ibar_cb_empty_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
{ {
Evas_Event_Mouse_Down *ev; Evas_Event_Mouse_Down *ev;
IBar *b; IBar *b;
ev = event_info; ev = event_info;
b = data; b = data;
if (!ibar_config->menu) if (!ibar_config->menu)
@ -317,7 +304,7 @@ _ibar_cb_empty_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
E_Menu *mn; E_Menu *mn;
E_Menu_Item *mi; E_Menu_Item *mi;
int cx, cy, cw, ch; int cx, cy, cw, ch;
mn = e_menu_new(); mn = e_menu_new();
e_menu_post_deactivate_callback_set(mn, _ibar_cb_menu_post, NULL); e_menu_post_deactivate_callback_set(mn, _ibar_cb_menu_post, NULL);
ibar_config->menu = mn; ibar_config->menu = mn;
@ -329,9 +316,9 @@ _ibar_cb_empty_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
mi = e_menu_item_new(mn); mi = e_menu_item_new(mn);
e_menu_item_separator_set(mi, 1); e_menu_item_separator_set(mi, 1);
e_gadcon_client_util_menu_items_append(b->inst->gcc, mn, 0); e_gadcon_client_util_menu_items_append(b->inst->gcc, mn, 0);
e_gadcon_canvas_zone_geometry_get(b->inst->gcc->gadcon, e_gadcon_canvas_zone_geometry_get(b->inst->gcc->gadcon,
&cx, &cy, &cw, &ch); &cx, &cy, &cw, &ch);
e_menu_activate_mouse(mn, e_menu_activate_mouse(mn,
@ -349,9 +336,11 @@ _ibar_empty_handle(IBar *b)
if (!b->o_empty) if (!b->o_empty)
{ {
Evas_Coord w, h; Evas_Coord w, h;
b->o_empty = evas_object_rectangle_add(evas_object_evas_get(b->o_box)); b->o_empty = evas_object_rectangle_add(evas_object_evas_get(b->o_box));
evas_object_event_callback_add(b->o_empty, EVAS_CALLBACK_MOUSE_DOWN, _ibar_cb_empty_mouse_down, b); evas_object_event_callback_add(b->o_empty,
EVAS_CALLBACK_MOUSE_DOWN,
_ibar_cb_empty_mouse_down, b);
evas_object_color_set(b->o_empty, 0, 0, 0, 0); evas_object_color_set(b->o_empty, 0, 0, 0, 0);
evas_object_show(b->o_empty); evas_object_show(b->o_empty);
e_box_pack_end(b->o_box, b->o_empty); e_box_pack_end(b->o_box, b->o_empty);
@ -383,6 +372,7 @@ _ibar_fill(IBar *b)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
const Eina_List *l; const Eina_List *l;
EINA_LIST_FOREACH(b->apps->desktops, l, desktop) EINA_LIST_FOREACH(b->apps->desktops, l, desktop)
{ {
IBar_Icon *ic = _ibar_icon_new(b, desktop); IBar_Icon *ic = _ibar_icon_new(b, desktop);
@ -398,6 +388,7 @@ static void
_ibar_empty(IBar *b) _ibar_empty(IBar *b)
{ {
IBar_Icon *ic; IBar_Icon *ic;
EINA_LIST_FREE(b->icons, ic) EINA_LIST_FREE(b->icons, ic)
_ibar_icon_free(ic); _ibar_icon_free(ic);
@ -417,7 +408,7 @@ _ibar_resize_handle(IBar *b)
const Eina_List *l; const Eina_List *l;
IBar_Icon *ic; IBar_Icon *ic;
Evas_Coord w, h; Evas_Coord w, h;
evas_object_geometry_get(b->o_box, NULL, NULL, &w, &h); evas_object_geometry_get(b->o_box, NULL, NULL, &w, &h);
if (e_box_orientation_get(b->o_box)) if (e_box_orientation_get(b->o_box))
w = h; w = h;
@ -441,7 +432,7 @@ static void
_ibar_instance_drop_zone_recalc(Instance *inst) _ibar_instance_drop_zone_recalc(Instance *inst)
{ {
Evas_Coord x, y, w, h; Evas_Coord x, y, w, h;
evas_object_geometry_get(inst->o_ibar, &x, &y, &w, &h); evas_object_geometry_get(inst->o_ibar, &x, &y, &w, &h);
e_drop_handler_geometry_set(inst->drop_handler, x, y, w, h); e_drop_handler_geometry_set(inst->drop_handler, x, y, w, h);
} }
@ -460,13 +451,13 @@ _ibar_config_item_get(const char *id)
else else
{ {
const Eina_List *l; const Eina_List *l;
/* Find old config, or reuse supplied id */ /* Find old config, or reuse supplied id */
EINA_LIST_FOREACH(ibar_config->items, l, ci) EINA_LIST_FOREACH(ibar_config->items, l, ci)
{ {
if ((ci->id) && (!strcmp(ci->id, id))) if ((ci->id) && (!strcmp(ci->id, id)))
{ {
if (!ci->dir) if (!ci->dir) ci->dir = eina_stringshare_add("default");
ci->dir = eina_stringshare_add("default");
return ci; return ci;
} }
} }
@ -496,9 +487,8 @@ _ibar_config_update(Config_Item *ci)
if (inst->ibar->apps) if (inst->ibar->apps)
e_object_del(E_OBJECT(inst->ibar->apps)); e_object_del(E_OBJECT(inst->ibar->apps));
if (inst->ci->dir[0] != '/') if (inst->ci->dir[0] != '/')
{ e_user_dir_snprintf(buf, sizeof(buf), "applications/bar/%s/.order",
e_user_dir_snprintf(buf, sizeof(buf), "applications/bar/%s/.order", inst->ci->dir); inst->ci->dir);
}
else else
ecore_strlcpy(buf, inst->ci->dir, sizeof(buf)); ecore_strlcpy(buf, inst->ci->dir, sizeof(buf));
inst->ibar->apps = e_order_new(buf); inst->ibar->apps = e_order_new(buf);
@ -508,18 +498,22 @@ _ibar_config_update(Config_Item *ci)
const Eina_List *i; const Eina_List *i;
IBar_Icon *ic; IBar_Icon *ic;
EINA_LIST_FOREACH(inst->ibar->icons, i, ic) EINA_LIST_FOREACH(inst->ibar->icons, i, ic)
{ {
switch (ci->eap_label) switch (ci->eap_label)
{ {
case 0: case 0:
edje_object_part_text_set(ic->o_holder2, "e.text.label", ic->app->name); edje_object_part_text_set(ic->o_holder2, "e.text.label",
ic->app->name);
break; break;
case 1: case 1:
edje_object_part_text_set(ic->o_holder2, "e.text.label", ic->app->comment); edje_object_part_text_set(ic->o_holder2, "e.text.label",
ic->app->comment);
break; break;
case 2: case 2:
edje_object_part_text_set(ic->o_holder2, "e.text.label", ic->app->generic_name); edje_object_part_text_set(ic->o_holder2, "e.text.label",
ic->app->generic_name);
break; break;
} }
} }
@ -535,6 +529,7 @@ _ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y)
EINA_LIST_FOREACH(b->icons, l, ic) EINA_LIST_FOREACH(b->icons, l, ic)
{ {
Evas_Coord dx, dy, dw, dh; Evas_Coord dx, dy, dw, dh;
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;
} }
@ -545,29 +540,36 @@ static IBar_Icon *
_ibar_icon_new(IBar *b, Efreet_Desktop *desktop) _ibar_icon_new(IBar *b, Efreet_Desktop *desktop)
{ {
IBar_Icon *ic; IBar_Icon *ic;
ic = E_NEW(IBar_Icon, 1); ic = E_NEW(IBar_Icon, 1);
ic->ibar = b; ic->ibar = b;
ic->app = desktop; ic->app = desktop;
ic->o_holder = edje_object_add(evas_object_evas_get(b->o_box)); ic->o_holder = edje_object_add(evas_object_evas_get(b->o_box));
e_theme_edje_object_set(ic->o_holder, "base/theme/modules/ibar", e_theme_edje_object_set(ic->o_holder, "base/theme/modules/ibar",
"e/modules/ibar/icon"); "e/modules/ibar/icon");
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_IN, _ibar_cb_icon_mouse_in, ic); evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_IN,
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_OUT, _ibar_cb_icon_mouse_out, ic); _ibar_cb_icon_mouse_in, ic);
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_DOWN, _ibar_cb_icon_mouse_down, ic); evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_OUT,
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_UP, _ibar_cb_icon_mouse_up, ic); _ibar_cb_icon_mouse_out, ic);
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_MOVE, _ibar_cb_icon_mouse_move, ic); evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_DOWN,
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOVE, _ibar_cb_icon_move, ic); _ibar_cb_icon_mouse_down, ic);
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_RESIZE, _ibar_cb_icon_resize, ic); evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_UP,
_ibar_cb_icon_mouse_up, ic);
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOUSE_MOVE,
_ibar_cb_icon_mouse_move, ic);
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_MOVE,
_ibar_cb_icon_move, ic);
evas_object_event_callback_add(ic->o_holder, EVAS_CALLBACK_RESIZE,
_ibar_cb_icon_resize, ic);
evas_object_show(ic->o_holder); evas_object_show(ic->o_holder);
ic->o_holder2 = edje_object_add(evas_object_evas_get(b->o_box)); ic->o_holder2 = edje_object_add(evas_object_evas_get(b->o_box));
e_theme_edje_object_set(ic->o_holder2, "base/theme/modules/ibar", e_theme_edje_object_set(ic->o_holder2, "base/theme/modules/ibar",
"e/modules/ibar/icon_overlay"); "e/modules/ibar/icon_overlay");
evas_object_layer_set(ic->o_holder2, 9999); evas_object_layer_set(ic->o_holder2, 9999);
evas_object_pass_events_set(ic->o_holder2, 1); evas_object_pass_events_set(ic->o_holder2, 1);
evas_object_show(ic->o_holder2); evas_object_show(ic->o_holder2);
_ibar_icon_fill(ic); _ibar_icon_fill(ic);
return ic; return ic;
} }
@ -586,7 +588,7 @@ _ibar_icon_free(IBar_Icon *ic)
_ibar_icon_empty(ic); _ibar_icon_empty(ic);
evas_object_del(ic->o_holder); evas_object_del(ic->o_holder);
evas_object_del(ic->o_holder2); evas_object_del(ic->o_holder2);
free(ic); E_FREE(ic);
} }
static void static void
@ -594,16 +596,18 @@ _ibar_icon_fill(IBar_Icon *ic)
{ {
/* TODO: Correct icon size! */ /* TODO: Correct icon size! */
if (ic->o_icon) evas_object_del(ic->o_icon); if (ic->o_icon) evas_object_del(ic->o_icon);
ic->o_icon = e_util_desktop_icon_add(ic->app, 48, evas_object_evas_get(ic->ibar->o_box)); ic->o_icon = e_util_desktop_icon_add(ic->app, 48,
evas_object_evas_get(ic->ibar->o_box));
edje_object_part_swallow(ic->o_holder, "e.swallow.content", ic->o_icon); edje_object_part_swallow(ic->o_holder, "e.swallow.content", ic->o_icon);
evas_object_pass_events_set(ic->o_icon, 1); evas_object_pass_events_set(ic->o_icon, 1);
evas_object_show(ic->o_icon); evas_object_show(ic->o_icon);
if (ic->o_icon2) evas_object_del(ic->o_icon2); if (ic->o_icon2) evas_object_del(ic->o_icon2);
ic->o_icon2 = e_util_desktop_icon_add(ic->app, 48, evas_object_evas_get(ic->ibar->o_box)); ic->o_icon2 = e_util_desktop_icon_add(ic->app, 48,
evas_object_evas_get(ic->ibar->o_box));
edje_object_part_swallow(ic->o_holder2, "e.swallow.content", ic->o_icon2); edje_object_part_swallow(ic->o_holder2, "e.swallow.content", ic->o_icon2);
evas_object_pass_events_set(ic->o_icon2, 1); evas_object_pass_events_set(ic->o_icon2, 1);
evas_object_show(ic->o_icon2); evas_object_show(ic->o_icon2);
switch (ic->ibar->inst->ci->eap_label) switch (ic->ibar->inst->ci->eap_label)
{ {
case 0: /* Eap Name */ case 0: /* Eap Name */
@ -650,15 +654,14 @@ _ibar_cb_app_change(void *data, E_Order *eo)
_ibar_empty(b); _ibar_empty(b);
_ibar_fill(b); _ibar_fill(b);
_ibar_resize_handle(b); _ibar_resize_handle(b);
if (b->inst) if (b->inst) _gc_orient(b->inst->gcc, -1);
_gc_orient(b->inst->gcc, -1);
} }
static void static void
_ibar_cb_obj_moveresize(void *data, Evas *e, Evas_Object *obj, void *event_info) _ibar_cb_obj_moveresize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
Instance *inst; Instance *inst;
inst = data; inst = data;
_ibar_resize_handle(inst->ibar); _ibar_resize_handle(inst->ibar);
_ibar_instance_drop_zone_recalc(inst); _ibar_instance_drop_zone_recalc(inst);
@ -688,10 +691,9 @@ static void
_ibar_cb_menu_icon_properties(void *data, E_Menu *m, E_Menu_Item *mi) _ibar_cb_menu_icon_properties(void *data, E_Menu *m, E_Menu_Item *mi)
{ {
IBar_Icon *ic; IBar_Icon *ic;
ic = data; ic = data;
e_desktop_edit(ic->ibar->inst->gcc->gadcon->zone->container, e_desktop_edit(ic->ibar->inst->gcc->gadcon->zone->container, ic->app);
ic->app);
} }
static void static void
@ -699,7 +701,7 @@ _ibar_cb_menu_icon_remove(void *data, E_Menu *m, E_Menu_Item *mi)
{ {
IBar_Icon *ic; IBar_Icon *ic;
E_Gadcon_Client *gc; E_Gadcon_Client *gc;
ic = data; ic = data;
ic->ibar->icons = eina_list_remove(ic->ibar->icons, ic); ic->ibar->icons = eina_list_remove(ic->ibar->icons, ic);
_ibar_resize_handle(ic->ibar); _ibar_resize_handle(ic->ibar);
@ -713,7 +715,7 @@ static void
_ibar_cb_menu_configuration(void *data, E_Menu *m, E_Menu_Item *mi) _ibar_cb_menu_configuration(void *data, E_Menu *m, E_Menu_Item *mi)
{ {
IBar *b; IBar *b;
b = data; b = data;
_config_ibar_module(b->inst->ci); _config_ibar_module(b->inst->ci);
} }
@ -722,7 +724,7 @@ static void
_ibar_cb_menu_add(void *data, E_Menu *m, E_Menu_Item *mi) _ibar_cb_menu_add(void *data, E_Menu *m, E_Menu_Item *mi)
{ {
IBar *b; IBar *b;
b = data; b = data;
e_configure_registry_call("internal/ibar_other", e_configure_registry_call("internal/ibar_other",
b->inst->gcc->gadcon->zone->container, b->inst->gcc->gadcon->zone->container,
@ -742,7 +744,7 @@ _ibar_cb_icon_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
Evas_Event_Mouse_In *ev; Evas_Event_Mouse_In *ev;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
ic = data; ic = data;
_ibar_icon_signal_emit(ic, "e,state,focused", "e"); _ibar_icon_signal_emit(ic, "e,state,focused", "e");
@ -755,7 +757,7 @@ _ibar_cb_icon_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
Evas_Event_Mouse_Out *ev; Evas_Event_Mouse_Out *ev;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
ic = data; ic = data;
_ibar_icon_signal_emit(ic, "e,state,unfocused", "e"); _ibar_icon_signal_emit(ic, "e,state,unfocused", "e");
@ -768,7 +770,7 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info
{ {
Evas_Event_Mouse_Down *ev; Evas_Event_Mouse_Down *ev;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
ic = data; ic = data;
if (ev->button == 1) if (ev->button == 1)
@ -794,7 +796,7 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info
e_menu_item_label_set(mi, _("Change Icon Properties")); e_menu_item_label_set(mi, _("Change Icon Properties"));
e_util_menu_item_theme_icon_set(mi, "configure"); e_util_menu_item_theme_icon_set(mi, "configure");
e_menu_item_callback_set(mi, _ibar_cb_menu_icon_properties, ic); e_menu_item_callback_set(mi, _ibar_cb_menu_icon_properties, ic);
mi = e_menu_item_new(mn); mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, _("Remove Icon")); e_menu_item_label_set(mi, _("Remove Icon"));
e_util_menu_item_theme_icon_set(mi, "list-remove"); e_util_menu_item_theme_icon_set(mi, "list-remove");
@ -833,9 +835,8 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info
e_util_menu_item_theme_icon_set(mi, "list-add"); e_util_menu_item_theme_icon_set(mi, "list-add");
e_menu_item_callback_set(mi, _ibar_cb_menu_add, ic->ibar); e_menu_item_callback_set(mi, _ibar_cb_menu_add, ic->ibar);
} }
e_gadcon_client_util_menu_items_append(ic->ibar->inst->gcc, mn, 0); e_gadcon_client_util_menu_items_append(ic->ibar->inst->gcc, mn, 0);
e_gadcon_canvas_zone_geometry_get(ic->ibar->inst->gcc->gadcon, e_gadcon_canvas_zone_geometry_get(ic->ibar->inst->gcc->gadcon,
&cx, &cy, NULL, NULL); &cx, &cy, NULL, NULL);
e_menu_activate_mouse(mn, e_menu_activate_mouse(mn,
@ -850,7 +851,7 @@ _ibar_cb_icon_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
Evas_Event_Mouse_Up *ev; Evas_Event_Mouse_Up *ev;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
ic = data; ic = data;
if ((ev->button == 1) && (!ic->drag.dnd) && (ic->mouse_down == 1)) if ((ev->button == 1) && (!ic->drag.dnd) && (ic->mouse_down == 1))
@ -883,7 +884,7 @@ _ibar_cb_icon_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info
{ {
Evas_Event_Mouse_Move *ev; Evas_Event_Mouse_Move *ev;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
ic = data; ic = data;
if (ic->drag.start) if (ic->drag.start)
@ -930,7 +931,7 @@ _ibar_cb_icon_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
IBar_Icon *ic; IBar_Icon *ic;
Evas_Coord x, y; Evas_Coord x, y;
ic = data; ic = data;
evas_object_geometry_get(ic->o_holder, &x, &y, NULL, NULL); evas_object_geometry_get(ic->o_holder, &x, &y, NULL, NULL);
evas_object_move(ic->o_holder2, x, y); evas_object_move(ic->o_holder2, x, y);
@ -942,7 +943,7 @@ _ibar_cb_icon_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
IBar_Icon *ic; IBar_Icon *ic;
Evas_Coord w, h; Evas_Coord w, h;
ic = data; ic = data;
evas_object_geometry_get(ic->o_holder, NULL, NULL, &w, &h); evas_object_geometry_get(ic->o_holder, NULL, NULL, &w, &h);
evas_object_resize(ic->o_holder2, w, h); evas_object_resize(ic->o_holder2, w, h);
@ -954,7 +955,7 @@ _ibar_cb_drop_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
IBar *b; IBar *b;
Evas_Coord x, y; Evas_Coord x, y;
b = data; b = data;
evas_object_geometry_get(b->o_drop, &x, &y, NULL, NULL); evas_object_geometry_get(b->o_drop, &x, &y, NULL, NULL);
evas_object_move(b->o_drop_over, x, y); evas_object_move(b->o_drop_over, x, y);
@ -965,7 +966,7 @@ _ibar_cb_drop_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
IBar *b; IBar *b;
Evas_Coord w, h; Evas_Coord w, h;
b = data; b = data;
evas_object_geometry_get(b->o_drop, NULL, NULL, &w, &h); evas_object_geometry_get(b->o_drop, NULL, NULL, &w, &h);
evas_object_resize(b->o_drop_over, w, h); evas_object_resize(b->o_drop_over, w, h);
@ -992,8 +993,7 @@ _ibar_drop_position_update(Instance *inst, Evas_Coord x, Evas_Coord y)
inst->ibar->dnd_x = x; inst->ibar->dnd_x = x;
inst->ibar->dnd_y = y; inst->ibar->dnd_y = y;
if (inst->ibar->o_drop) if (inst->ibar->o_drop) e_box_unpack(inst->ibar->o_drop);
e_box_unpack(inst->ibar->o_drop);
evas_object_geometry_get(inst->ibar->o_box, &xx, &yy, NULL, NULL); evas_object_geometry_get(inst->ibar->o_box, &xx, &yy, NULL, NULL);
e_box_align_pixel_offset_get(inst->gcc->o_box, &ox, &oy); e_box_align_pixel_offset_get(inst->gcc->o_box, &ox, &oy);
ic = _ibar_icon_at_coord(inst->ibar, x + xx + ox, y + yy + oy); ic = _ibar_icon_at_coord(inst->ibar, x + xx + ox, y + yy + oy);
@ -1002,7 +1002,7 @@ _ibar_drop_position_update(Instance *inst, Evas_Coord x, Evas_Coord y)
* from dropping in the very last spot in the ibar. This is not * from dropping in the very last spot in the ibar. This is not
* necessarily a good way to solve the problem however it is by far * necessarily a good way to solve the problem however it is by far
* the simplest. */ * the simplest. */
if (inst->gcc->autoscroll && ic) if ((inst->gcc->autoscroll) && (ic))
{ {
double ax,ay; double ax,ay;
@ -1022,7 +1022,7 @@ _ibar_drop_position_update(Instance *inst, Evas_Coord x, Evas_Coord y)
{ {
Evas_Coord ix, iy, iw, ih; Evas_Coord ix, iy, iw, ih;
int before = 0; int before = 0;
evas_object_geometry_get(ic->o_holder, &ix, &iy, &iw, &ih); evas_object_geometry_get(ic->o_holder, &ix, &iy, &iw, &ih);
if (e_box_orientation_get(inst->ibar->o_box)) if (e_box_orientation_get(inst->ibar->o_box))
{ {
@ -1056,15 +1056,17 @@ _ibar_inst_cb_enter(void *data, const char *type, void *event_info)
E_Event_Dnd_Enter *ev; E_Event_Dnd_Enter *ev;
Instance *inst; Instance *inst;
Evas_Object *o, *o2; Evas_Object *o, *o2;
ev = event_info; ev = event_info;
inst = data; inst = data;
o = edje_object_add(evas_object_evas_get(inst->ibar->o_box)); o = edje_object_add(evas_object_evas_get(inst->ibar->o_box));
inst->ibar->o_drop = o; inst->ibar->o_drop = o;
o2 = edje_object_add(evas_object_evas_get(inst->ibar->o_box)); o2 = edje_object_add(evas_object_evas_get(inst->ibar->o_box));
inst->ibar->o_drop_over = o2; inst->ibar->o_drop_over = o2;
evas_object_event_callback_add(o, EVAS_CALLBACK_MOVE, _ibar_cb_drop_move, inst->ibar); evas_object_event_callback_add(o, EVAS_CALLBACK_MOVE,
evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE, _ibar_cb_drop_resize, inst->ibar); _ibar_cb_drop_move, inst->ibar);
evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE,
_ibar_cb_drop_resize, inst->ibar);
e_theme_edje_object_set(o, "base/theme/modules/ibar", e_theme_edje_object_set(o, "base/theme/modules/ibar",
"e/modules/ibar/drop"); "e/modules/ibar/drop");
e_theme_edje_object_set(o2, "base/theme/modules/ibar", e_theme_edje_object_set(o2, "base/theme/modules/ibar",
@ -1086,7 +1088,6 @@ _ibar_inst_cb_move(void *data, const char *type, void *event_info)
ev = event_info; ev = event_info;
inst = data; inst = data;
_ibar_drop_position_update(inst, ev->x, ev->y); _ibar_drop_position_update(inst, ev->x, ev->y);
e_gadcon_client_autoscroll_update(inst->gcc, ev->x, ev->y); e_gadcon_client_autoscroll_update(inst->gcc, ev->x, ev->y);
} }
@ -1096,7 +1097,7 @@ _ibar_inst_cb_leave(void *data, const char *type, void *event_info)
{ {
E_Event_Dnd_Leave *ev; E_Event_Dnd_Leave *ev;
Instance *inst; Instance *inst;
ev = event_info; ev = event_info;
inst = data; inst = data;
inst->ibar->ic_drop_before = NULL; inst->ibar->ic_drop_before = NULL;
@ -1117,33 +1118,29 @@ _ibar_inst_cb_drop(void *data, const char *type, void *event_info)
Efreet_Desktop *app = NULL; Efreet_Desktop *app = NULL;
Eina_List *fl = NULL; Eina_List *fl = NULL;
IBar_Icon *ic; IBar_Icon *ic;
ev = event_info; ev = event_info;
inst = data; inst = data;
if (!strcmp(type, "enlightenment/desktop")) if (!strcmp(type, "enlightenment/desktop"))
{ app = ev->data;
app = ev->data;
}
else if (!strcmp(type, "enlightenment/border")) else if (!strcmp(type, "enlightenment/border"))
{ {
E_Border *bd; E_Border *bd;
bd = ev->data; bd = ev->data;
app = bd->desktop; app = bd->desktop;
if (!app) if (!app)
{ {
app = e_desktop_border_create(bd); app = e_desktop_border_create(bd);
efreet_desktop_save(app); efreet_desktop_save(app);
e_desktop_edit(e_container_current_get(e_manager_current_get()), app); e_desktop_edit(e_container_current_get(e_manager_current_get()),
app);
} }
} }
else if (!strcmp(type, "text/uri-list")) else if (!strcmp(type, "text/uri-list"))
{ fl = ev->data;
fl = ev->data;
}
ic = inst->ibar->ic_drop_before; ic = inst->ibar->ic_drop_before;
if (ic) if (ic)
{ {
@ -1152,6 +1149,7 @@ _ibar_inst_cb_drop(void *data, const char *type, void *event_info)
{ {
const Eina_List *l; const Eina_List *l;
IBar_Icon *ic2; IBar_Icon *ic2;
EINA_LIST_FOREACH(inst->ibar->icons, l, ic2) EINA_LIST_FOREACH(inst->ibar->icons, l, ic2)
{ {
if (ic2 == ic) if (ic2 == ic)
@ -1189,16 +1187,12 @@ _ibar_inst_cb_drop(void *data, const char *type, void *event_info)
_ibar_empty_handle(inst->ibar); _ibar_empty_handle(inst->ibar);
_ibar_resize_handle(inst->ibar); _ibar_resize_handle(inst->ibar);
_gc_orient(inst->gcc, -1); _gc_orient(inst->gcc, -1);
} }
/***************************************************************************/
/**/
/* module setup */ /* module setup */
EAPI E_Module_Api e_modapi = EAPI E_Module_Api e_modapi =
{ {
E_MODULE_API_VERSION, E_MODULE_API_VERSION, "IBar"
"IBar"
}; };
EAPI void * EAPI void *
@ -1213,20 +1207,20 @@ e_modapi_init(E_Module *m)
E_CONFIG_VAL(D, T, dir, STR); E_CONFIG_VAL(D, T, dir, STR);
E_CONFIG_VAL(D, T, show_label, INT); E_CONFIG_VAL(D, T, show_label, INT);
E_CONFIG_VAL(D, T, eap_label, INT); E_CONFIG_VAL(D, T, eap_label, INT);
conf_edd = E_CONFIG_DD_NEW("IBar_Config", Config); conf_edd = E_CONFIG_DD_NEW("IBar_Config", Config);
#undef T #undef T
#undef D #undef D
#define T Config #define T Config
#define D conf_edd #define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd); E_CONFIG_LIST(D, T, items, conf_item_edd);
ibar_config = e_config_domain_load("module.ibar", conf_edd); ibar_config = e_config_domain_load("module.ibar", conf_edd);
if (!ibar_config) if (!ibar_config)
{ {
Config_Item *ci; Config_Item *ci;
ibar_config = E_NEW(Config, 1); ibar_config = E_NEW(Config, 1);
ci = E_NEW(Config_Item, 1); ci = E_NEW(Config_Item, 1);
@ -1241,6 +1235,7 @@ e_modapi_init(E_Module *m)
Eina_List *removes = NULL; Eina_List *removes = NULL;
const Eina_List *l; const Eina_List *l;
Config_Item *ci; Config_Item *ci;
EINA_LIST_FOREACH(ibar_config->items, l, ci) EINA_LIST_FOREACH(ibar_config->items, l, ci)
{ {
if (!ci->id) if (!ci->id)
@ -1251,6 +1246,7 @@ e_modapi_init(E_Module *m)
{ {
const Eina_List *ll; const Eina_List *ll;
Config_Item *ci2; Config_Item *ci2;
EINA_LIST_FOREACH(l->next, ll, ci2) EINA_LIST_FOREACH(l->next, ll, ci2)
{ {
if ((ci2->id) && (!strcmp(ci->id, ci2->id))) if ((ci2->id) && (!strcmp(ci->id, ci2->id)))
@ -1266,18 +1262,19 @@ e_modapi_init(E_Module *m)
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); E_FREE(ci);
} }
EINA_LIST_FOREACH(ibar_config->items, l, ci) EINA_LIST_FOREACH(ibar_config->items, l, ci)
{ {
if (ci->id) if (ci->id)
{ {
const char *p; const char *p;
p = strrchr(ci->id, '.'); p = strrchr(ci->id, '.');
if (p) if (p)
{ {
int id; int id;
id = atoi(p + 1); id = atoi(p + 1);
if (id > uuid) uuid = id; if (id > uuid) uuid = id;
} }
@ -1287,9 +1284,11 @@ e_modapi_init(E_Module *m)
ibar_config->module = m; ibar_config->module = m;
ibar_config->handlers = eina_list_append(ibar_config->handlers, ibar_config->handlers =
ecore_event_handler_add(E_EVENT_CONFIG_ICON_THEME, _ibar_cb_config_icon_theme, NULL)); eina_list_append(ibar_config->handlers,
ecore_event_handler_add(E_EVENT_CONFIG_ICON_THEME,
_ibar_cb_config_icon_theme, NULL));
e_gadcon_provider_register(&_gadcon_class); e_gadcon_provider_register(&_gadcon_class);
return m; return m;
} }
@ -1297,12 +1296,14 @@ e_modapi_init(E_Module *m)
EAPI int EAPI int
e_modapi_shutdown(E_Module *m) e_modapi_shutdown(E_Module *m)
{ {
Ecore_Event_Handler *eh;
Config_Item *ci;
e_gadcon_provider_unregister(&_gadcon_class); e_gadcon_provider_unregister(&_gadcon_class);
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));
Ecore_Event_Handler *eh;
EINA_LIST_FREE(ibar_config->handlers, eh) EINA_LIST_FREE(ibar_config->handlers, eh)
ecore_event_handler_del(eh); ecore_event_handler_del(eh);
@ -1313,14 +1314,13 @@ e_modapi_shutdown(E_Module *m)
ibar_config->menu = NULL; ibar_config->menu = NULL;
} }
Config_Item *ci;
EINA_LIST_FREE(ibar_config->items, ci) 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); E_FREE(ci);
} }
free(ibar_config); E_FREE(ibar_config);
ibar_config = NULL; ibar_config = NULL;
E_CONFIG_DD_FREE(conf_item_edd); E_CONFIG_DD_FREE(conf_item_edd);
E_CONFIG_DD_FREE(conf_edd); E_CONFIG_DD_FREE(conf_edd);
@ -1344,11 +1344,9 @@ _ibar_cb_config_icon_theme(void *data, int ev_type, void *ev)
{ {
const Eina_List *l2; const Eina_List *l2;
IBar_Icon *icon; IBar_Icon *icon;
EINA_LIST_FOREACH(inst->ibar->icons, l2, icon) EINA_LIST_FOREACH(inst->ibar->icons, l2, icon)
_ibar_icon_fill(icon); _ibar_icon_fill(icon);
} }
return 1; return 1;
} }
/**/
/***************************************************************************/