added e_menu_item_new_relative(E_Menu, E_Menu_Item *rel) which appends
new item to rel or prepends it when rel is NULL.
changed e_gadcon_util_client_menu_append to to take only the gadget menu
and returns the new toplevel menu that should be shown by gcc
depending on the setting this is a new menu with gadget menu as submenu
or the gadet_menu with gadget menu items appended
updated e-modules-extra comes in a minute
SVN revision: 57826
If you have a Gadget and open the menu over it, all gadget specific options are under a separate submenu. The menu items which the Gadget sets theirself can be put on the main menu tree or on the Gadget submenu.
If you don't see a reason for this, check the ibar menu _before_ and _after_. :)
This api change broke all modules but i already fixed them all. Hope everything works... I also shortend text strings, etc, etc.
Hope you like it! :)
SVN revision: 52041
This removes lots of unnecessary gadget object deletes and lots of
other sillyness. Ideally, this module needs a much much cleaner &
nicer rewrite.
SVN revision: 49164
Dave, are the advanced options working? I never tested them but the
dialog seems bit too polluted. Are all those options working? Do they
make sense? Maybe it should be reworked to be simpler and provide some
context (as far as I know, they just apply to "on top" gadgets)?
SVN revision: 46720
- modules using e_configure_registry_add must be modified to
use registry path as window class for this to work
- fileman now uses e_remember to remember position instead of
handling it separately
- added option to window remember for remembering dialogs and
fileman windows automatically
SVN revision: 42607
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
Before gadman was using a single gadcon for all zones, that lead to
problems like popup menus being incorrectly placed.
The correct solution is to mimic shelves and have one gadcon per zone,
including the top layer.
By: manio
SVN revision: 41312
1. Gadcon sities:
-- 'E_Gadcon_Site' enum to list all available sities,
-- added 'is_site' callback for distinguish gadcon sities,
-- 'e_gadcon_site_is_*' helpers written to use in gadget modules,
-- gadcon config dialogs modified to show only gadgets that appropriate
to selected gadcon site,
-- all gadget modules updated for using new callback.
When callback is not provided in module, then gadget can be used in
any gadcon site.
2. Filemanager:
-- added error icon to unexisting path dialog,
-- added callback 'func.abort' to 'E_Fm2_Op_Registry_Entry' to specify
abort operation sequence (if not provided, then operation is not
cancelable),
-- added parameter to 'e_fm2_op_registry_entry_add' to specify abort
method on construct 'E_Fm2_Op_Registry_Entry' or make non-cancelable
operation if this function is not provided,
-- added 'e_fm2_operation_abort' call to cancel efm2 operation,
-- added method '_e_fm2_operation_abort_internal' that represent efm2
default handler of operation cancelling,
-- 'done' and 'total' fields of 'E_Fm2_Op_Registry_Entry' changed to
off_t type, also all message handlers modified to work with it
(to show progress for large files correctly),
-- improved file operation progress processing,
-- added cancel button to operation progress gadget in filemanager window,
-- added delete file glyph to operation progress gadget,
-- improved status message for efm2 operation progress.
3. Filemanager slave:
-- fixed critical bug in message handling via stdin/stdout,
-- fixed critical bug in removing task from list,
-- improved 'E_FM_OP_ABORT' handling,
-- fix rollback counting on moving files.
4. Fileman_opinfo module:
-- a new theme writed: status string and gadget for view operation status
in summary and detail modes,
-- summary mode: operation glyph, state message, progressbar, abort button,
-- detail mode: all for summary + from filename, to filename,
-- summary/detailed button works as trigger,
-- added source of module theme and used images.
4. Pathbar module:
-- non-critical fix, just for safety.
Also patch contains several minor updates to serve main task.
SVN revision: 41224
maybe this is too much for a feature freeze phase, but this is
annoying for users, sometimes your menu looks one way, sometimes
another. Now it will always look the same, alphabetically ordered.
If it breaks anything before Monday revert!
SVN revision: 40205
This cleanup replaces snprintf() usage with specific calls, they have
the benefit of being cleaner (so easier to grep), typing less and also
marginal speed up compared to the other (specially concat_static),
although those are rarely used in critical paths.
I'm testing it for some time and seems to not break anything, but let
me know of any problem. If you can review the patch and try to spot
incorrect names, please do.
SVN revision: 40014