forked from enlightenment/enlightenment
Hi guys. Here is my solution for #113 ticket request. This allows to transfer a gadget to different locations. In short, - any module can register arbitrary number of locations by invoking e_gadcon_location_register(). - module is responsible to provide 2 functions, one for removing particular gadget and one to add particular gadget class. - module responsible to equip its gadcon(s) with reference to registered location. If a gadcon contains non-NULL location reference, each gadget contained by this gadcon can have submenu on its context menu. Template function for constructing such submenu is provided e_gadcon_client_add_location_menu. Gadgets can be moved from and to this location by invoking menu items. Gadcons with NULL location reference can accept transferred gadgets by module logic but can't send contained gadgets to another module. - module responsible to unregister location when gadcon is no more available. - menu items for context submenu is sorted by E_GADCON_SITE_XXX assigned to that. Module can assign and change an icon for context menu item corresponding to its location(s). - Currently only shelves and gadman (desktop) used in gadget transfer operations. I believe it is no trouble to ivolve any other gadcon-capable module into the process. If you want to have that, please just let me know. Here the patch in attachmet. It even works, at least sometimes and at least for me. Hope you'll find it useful. SVN revision: 42121 |
||
---|---|---|
.. | ||
bin | ||
modules | ||
preload | ||
.cvsignore | ||
Makefile.am |