Commit Graph

57 Commits

Author SHA1 Message Date
victor 324e84908c From: victor <victor.scorpion@gmail.com>
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
2009-08-31 11:23:03 +00:00
semernin 2f76dd5d99 List of changes:
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
2009-06-29 14:38:03 +00:00
Gustavo Sverzut Barbieri 413729a142 get zone from gadcon.
The old code that query the zone based on x,y was causing me
segfaults. When battery module was in a hidden shelf, the position was
outside any zone and then segmentation fault.

As far as I understand, gcc->gadcon->zone should always exist and
always be correct, but I don't have xinerama setup now to confirm
that.

If you know this is wrong, let me know!



SVN revision: 41147
2009-06-21 21:18:44 +00:00
Viktor Kojouharov 30b11d23c8 add a urgent show function on the gadcon level and use that
(p.s. it's a good idea to recompile any extra module that you might use)


SVN revision: 39686
2009-03-24 16:08:37 +00:00
Hannes Janetzek 887264eed4 added e_gadcon_locked_set: with this gadgets can lock the gadcon from
vanishing, like with e_shelf_locked_set. gadcon providers set their own lock 
function with e_gadcon_util_lock_func_set, which is called by 
e_gadcon_locked_set.


SVN revision: 38759
2009-01-24 14:09:37 +00:00
Davide Andreoli 1a5b14aa48 * Now gadman place the gadget when E say so, and not only on startup.
SVN revision: 37594
2008-11-12 01:14:18 +00:00
Davide Andreoli fa648a9e48 * make E aware of the existance of gadman as a gadcon. This solve some module load/unload issues
SVN revision: 37575
2008-11-10 15:47:25 +00:00
Davide Andreoli 45cbf72298 * Gadcon API 3 *BREAK*
Version 3 add the *client_class param to icon(),label(),id_new(), id_del() 
 and the *orient param to orient().

All the modules (with a gadcon_client) need to be fixed...just add the new params 

to follow the EXTRA modules update.

SVN revision: 37450
2008-11-04 03:57:45 +00:00
Cedric BAIL 1087de2397 Remove Evas list and replace them with Eina list.
No change for ->next and ->data access right now, as the patch is already
big enough.



SVN revision: 36962
2008-10-22 11:49:33 +00:00
Sebastian Dransfeld ae855ee47e Fix dnd. Hopefully works in all situations now. Seems like we should
consider separating internal and external dnd code.


SVN revision: 34901
2008-06-24 20:13:35 +00:00
Carsten Haitzler 0a8ffffa5f add in gadman for desktop. happy dave! :)
SVN revision: 34610
2008-05-19 04:37:34 +00:00
Carsten Haitzler 56865b731c instant edit is on a delay timer of 1 sec
SVN revision: 34479
2008-05-06 10:20:53 +00:00
Carsten Haitzler cdded0bf38 instant edit! werd! :)
SVN revision: 33936
2008-03-05 12:39:55 +00:00
Gustavo Sverzut Barbieri 4dbd25097b More const added.
SVN revision: 33738
2008-02-13 04:51:01 +00:00
Christopher Michael 90163254fd Minor formatting fixes.
SVN revision: 32518
2007-11-09 07:43:38 +00:00
Christopher Michael 9a4d68f63a Initial check-in of upcoming toolbar. Ignore this code for now as it's still
a work in progress (ie: do not use right now).


SVN revision: 32229
2007-10-31 10:09:51 +00:00
Carsten Haitzler 43a5794c88 buttom patch from lok and seb's shelf bug fix.
SVN revision: 31974
2007-10-05 06:05:16 +00:00
Sebastian Dransfeld ac35054634 We need id's for gadgets which are independent of shelves, so if we move
a gadget from one shelf to another it will keep the same config. Since the
id is mainly for the module to find the appropriate config for a gadget,
the module is now responsible for creating id's for gadgets config. One
problem is that we no longer can trust the id of a gadget, so we need to
store a reference between a gadget and its config after startup. No big
deal.


SVN revision: 31727
2007-09-16 00:02:53 +00:00
Sebastian Dransfeld 80b32e7c7b Show shelves on dnd enter.
SVN revision: 29915
2007-05-07 19:54:12 +00:00
Sebastian Dransfeld f6dc1dc1cc Remove stale code.
Fix comments.


SVN revision: 29159
2007-03-25 22:45:00 +00:00
Viktor Kojouharov aaebfe05c2 a new function to return the correct geometry and position of the gcc regardless of the shelf layer
SVN revision: 28548
2007-03-03 22:42:37 +00:00
Sebastian Dransfeld 322d9adcf3 DND for gadcon clients.
SVN revision: 27847
2007-01-07 16:32:57 +00:00
Sebastian Dransfeld 077df81327 dnd gadcon clients. Order for shrinked shelves does not work right.
SVN revision: 27759
2007-01-03 16:41:07 +00:00
Sebastian Dransfeld cba29bd250 Revert to old e_gadcon_client_new, some modules require id to be set on
the gadcon client after this func returns.


SVN revision: 27684
2006-12-30 23:32:25 +00:00
Sebastian Dransfeld e2ad139030 Clean gadgets because of current changes.
It is possible to drop gadcon clients on shelves.


SVN revision: 27679
2006-12-30 22:31:28 +00:00
Sebastian Dransfeld ff30cfcfe3 Functions to create new config and del config.
SVN revision: 27676
2006-12-30 21:00:19 +00:00
Sebastian Dransfeld 805315670b Clean up some gadcon config code.
Make id unique for each gadcon.


SVN revision: 27673
2006-12-30 17:54:27 +00:00
Sebastian Dransfeld 439b87ffa6 Start of drag code for gadcon.
SVN revision: 27645
2006-12-29 16:54:21 +00:00
metrics 7f9999dbf8 More fixes of the autoscroll/drag and drop behaviour for gadgets in
shelves. Added callback to allow the current drop position to be
dynamically updated as the gadget scrolling is animated.


SVN revision: 27114
2006-11-15 06:24:30 +00:00
metrics 5cc25e147a Start of fix for drag and drop to autoscrolling ibar/ibox.
SVN revision: 27068
2006-11-12 11:32:44 +00:00
Carsten Haitzler 5409f4f0cd fix dnd for "below everything"
SVN revision: 26653
2006-10-16 10:40:10 +00:00
Carsten Haitzler 71be7e7882 sys actions have status/info/progress dialogs that should work right for all
actions (so you know what is going on and have some feedback/status).


SVN revision: 25670
2006-09-10 04:51:07 +00:00
sndev d38f03aea7 Ehhhh. So stuff in one go.
* Mouse Binding Dialog
  - dialog refactoring
  - no need to select modifiers, etc. Just click add button and do an action with a mouse.
  - new icons. Many thanks to Luchezar 'ManowarrioR' Petkov for great work on this icons.
  - extra mouse buttons and wheels are supported.
  - etc, just try and see.

* Shelf
  - No re-population when "plain/inset" mode set.
  - Changing the orientation of the shelf horiz->vert does not screws up it look.
  - something else

* Gadcon
  - No overlaping items in initial shelf.
  - Moving of items in gadcon is not problematic any more. Will not get any mess
    and overlaps in gadcon on moving.
  - Item sizing. If u size an item to the left it will be sized only to the left.
  - If gadcon clients take much more space than gadcon can display, they are resized
    starting from the biggest item(s).
  - Shrinked mode actions, moving/sizing, is not problematic. Everything works
    exactly in the same fasion as in non-shrinked mode.
  - etc.


SVN revision: 25235
2006-08-31 04:16:43 +00:00
essiene 26abf12032 * $XXX [xxxxxxxxxx] default view (plain or inset) of a gadget should be able to be
specified by the gadcon client so when it is added it can also supply an initial style mode.

This first commit, sets up the infrastructure. See the collab mail describing how this works. The next patch shall simply update the core modules to use this. Then comes the modules in e_modules


SVN revision: 24491
2006-08-09 06:08:36 +00:00
Carsten Haitzler 7ea19245d7 todo-- :)
SVN revision: 23444
2006-06-15 07:24:10 +00:00
sebastid c2d2b54e25 Remove unused variables
SVN revision: 23031
2006-05-31 18:44:18 +00:00
sebastid 2faf4a5ab6 Add some const modifiers to quiet warnings.
Remove unused variables.


SVN revision: 23021
2006-05-31 16:07:22 +00:00
Carsten Haitzler 0f5945349d gadcon config generates new id's for new gadcon clients... properly.
SVN revision: 22736
2006-05-19 12:56:47 +00:00
Carsten Haitzler 7dc5dc0753 add icon provision for gadcon classes and label provider functions. also add
all the data, update and add new icons etc. etc.


SVN revision: 22495
2006-05-09 13:02:48 +00:00
Carsten Haitzler 851d41c010 gadcons now can have their contents enabled/disabled depending on what is
providing it.


SVN revision: 22478
2006-05-07 09:49:37 +00:00
Carsten Haitzler 90a1c59b5c governors menu works properly/predictably again
SVN revision: 22468
2006-05-05 23:31:12 +00:00
Carsten Haitzler 0279810e42 ou can choose shelf styles now - finally. added 2 more styles (gold and
invisible). themes can provide as many styles as u like.


SVN revision: 22391
2006-04-29 03:51:27 +00:00
Carsten Haitzler afe18a2157 now config comes off a menu as does editing of items
SVN revision: 22318
2006-04-23 13:20:57 +00:00
Carsten Haitzler fbd972cdb9 e packages build again - also not much point having an enlightenment-data as
it's built as an arch specific package and it is intrinsically required by e
and cannot work without it nor is the data shared betwene e and other apps
unless e itself is installed too


SVN revision: 22260
2006-04-20 11:30:25 +00:00
Carsten Haitzler 51c1084431 more shelf work - getting there.
SVN revision: 21847
2006-04-05 14:00:32 +00:00
Carsten Haitzler cc6b6a326c add frame object selection ability - broke move of the framed "ibar" test.
need to fix framed gadcon clients to account for frame size.


SVN revision: 21807
2006-04-04 15:42:25 +00:00
Carsten Haitzler 7f422515a1 different shelf look - imho much nicer now.
work on some mroe shelf stuff - like autofit. i need to add a lot more hooks
for things and info.


SVN revision: 21802
2006-04-04 09:54:50 +00:00
Carsten Haitzler 3a778335dd add size request callback
SVN revision: 21729
2006-04-02 11:35:35 +00:00
stffrdhrn 218717c8dc Clean up compile warnings:
* char * -> const char * for stringshare strings
 * char * -> const char * where needed in functions
 * remove unused vars in some places


SVN revision: 20912
2006-03-02 12:03:48 +00:00
Carsten Haitzler 477a40e79b working on shelves
... and a bit on gadcon.


SVN revision: 20456
2006-02-14 13:09:01 +00:00