diff --git a/src/desktop.c b/src/desktop.c index 5abe9c0..c8dd90d 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -227,7 +227,7 @@ elfe_desktop_gadget_list(Evas_Object *obj) } Evas_Object * -elfe_desktop_add(Evas_Object *parent) +elfe_desktop_add(Evas_Object *parent, E_Zone *zone) { Evas_Object *tb, *pad, *bx, *ly; @@ -303,7 +303,7 @@ elfe_desktop_add(Evas_Object *parent) elm_box_pack_end(bx, tb); desktop_name = eina_stringshare_printf("Elfe Desktop %d", i); - gad = elfe_gadgets_zone_add(tb, i, desktop_name); + gad = elfe_gadgets_zone_add(tb, zone, i, desktop_name); evas_object_show(gad); desk->gadgets = eina_list_append(desk->gadgets, gad); diff --git a/src/desktop.h b/src/desktop.h index 8d55407..c3da9b1 100644 --- a/src/desktop.h +++ b/src/desktop.h @@ -3,7 +3,7 @@ #include -Evas_Object *elfe_desktop_add(Evas_Object *parent); +Evas_Object *elfe_desktop_add(Evas_Object *parent, E_Zone *zone); Evas_Object *elfe_desktop_gadget_list(Evas_Object *obj); #endif /* _DESKTOP_H_ */ diff --git a/src/gadgets.c b/src/gadgets.c index e635d03..fc19602 100644 --- a/src/gadgets.c +++ b/src/gadgets.c @@ -87,6 +87,8 @@ _gadget_client_add(void *data, const E_Gadcon_Client_Class *cc) x = i*w; y = j*h; gcc = cc->func.init(egad->gc, cc->name, "test", cc->default_style); + gcc->cf = NULL; + gcc->client_class = cc; ly = _item_add(egad, ELFE_DESKTOP_ITEM_GADGET, cc->name, gcc->o_base, i, j, x, y, w, h); if (ly) { @@ -203,7 +205,7 @@ _object_resize_cb(void *data , Evas *e , Evas_Object *obj, void *event_info ) Evas_Object * -elfe_gadgets_zone_add(Evas_Object *parent, int desktop, const char *desktop_name) +elfe_gadgets_zone_add(Evas_Object *parent, E_Zone *zone, int desktop, const char *desktop_name) { const char *location_name; Elfe_Gadget *egad; @@ -262,6 +264,7 @@ elfe_gadgets_zone_add(Evas_Object *parent, int desktop, const char *desktop_name egad->gc->frame_request.func = NULL; egad->gc->resize_request.func = NULL; egad->gc->min_size_request.func = NULL; + e_gadcon_zone_set(egad->gc, zone); e_gadcon_custom_new(egad->gc); /* Fill zone with config items*/ diff --git a/src/gadgets.h b/src/gadgets.h index e1d52c5..a5815dd 100644 --- a/src/gadgets.h +++ b/src/gadgets.h @@ -3,6 +3,6 @@ #include -Evas_Object *elfe_gadgets_zone_add(Evas_Object *parent, int desktop, const char *desktop_name); +Evas_Object *elfe_gadgets_zone_add(Evas_Object *parent, E_Zone *zone, int desktop, const char *desktop_name); void elfe_gadgets_gadget_add(Evas_Object *obj, E_Gadcon_Client_Class *gcc); #endif /* _GADGETS_H_ */ diff --git a/src/main.c b/src/main.c index 9a62a13..0adf9c1 100644 --- a/src/main.c +++ b/src/main.c @@ -372,7 +372,7 @@ _elfe_home_win_new(E_Zone *zone) evas_object_show(hwin->allapps); elm_layout_content_set(hwin->layout, "apps-list-swallow", hwin->allapps); - hwin->desktop = elfe_desktop_add(hwin->layout); + hwin->desktop = elfe_desktop_add(hwin->layout, hwin->zone); elm_layout_content_set(hwin->layout, "launcher.swallow", hwin->desktop); evas_object_smart_callback_add(hwin->desktop, "longpressed", _desktop_longpressed_cb, hwin); evas_object_smart_callback_add(hwin->desktop, "gadget,added", _gadget_added_cb, hwin);