Commit Graph

104 Commits

Author SHA1 Message Date
Carsten Haitzler 6948e702b6 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Mike Blumenkrantz 59fa0e418d use E_BITFIELD define for bitfield struct members
on release builds this will be a bitfield, on devel builds it will make
bools a normal unsigned char for easier debugging
2017-11-07 10:39:56 -05:00
Stefan Schmidt d18e169701 e_gadcon: use Eina_Bool for one-bit bitfield
Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
2015-11-26 18:31:02 +01:00
Carsten Haitzler 10cd94a953 e shelf - small missing set of signals - tell theme when inset scrolls
the shelf theme actually can't know if there is scrollable content in
that direction when a shelf item has autoscroll on and has content in
that direction. this is kind of a missing theme capability that is
incredibly useful if you want to do certain kinds of themes. this is
fairly minor and i'd consider ok for e20 release as we aren't even
doing alphas yet...
2015-08-21 12:43:56 +09:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 0cc522d128 add max(w,h) to gadcon client struct, only used as yet-another-gadman-hack 2013-08-13 11:03:50 +01:00
Mike Blumenkrantz 19f79acb45 add e_gadcon_repopulate
this allows unpopulate+repopulate calls to occur while the layout is frozen, providing a substantial speedup
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 32bcde16af add e_gadcon_client_visible_get()
SVN revision: 84055
2013-02-18 13:43:29 +00:00
Mike Blumenkrantz 71f57bb52d gadcon location gadget_add callbacks now have a gadcon client param so the config can be retrieved since these callbacks are (currently) only used for changing locations of gadgets
also the related gcc param in gadget_del can now have a NULL config to signify that the gadget has been moved to a new gadcon

this means that moving a gadget to a new location will no longer cause it to lose its gadget config

ticket #1594


SVN revision: 77521
2012-10-05 09:57:34 +00:00
Mike Blumenkrantz 4c09bb330f yet another gadget overhaul, this time fixing:
* gadget dragging over windows (ticket #1563)
* gadget dragging/resizing on the hover layer
* yet another gadget refcount bug
* lots of annoying inconsistencies when dragging around new desktop gadgets


SVN revision: 77271
2012-10-01 14:02:24 +00:00
Mike Blumenkrantz 5e0b6fd200 reorder shelf startup slightly, add gadcon populate event, only show created shelf after it's been populated, populate gadcons incrementally instead of all at once
this commit reduces my startup time by 0.5-1.0 seconds on average when using two shelves


SVN revision: 76894
2012-09-20 08:44:30 +00:00
Mike Blumenkrantz 03dda786da with massive hacks and huge other hacks, it's finally possible to seamlessly drag icons from the desktop to a shelf and vice versa
ticket #113


SVN revision: 76765
2012-09-17 14:49:48 +00:00
Mike Blumenkrantz 040b87a604 clean up gadcon dnd code to not use static variables
SVN revision: 76757
2012-09-17 12:23:55 +00:00
Mike Blumenkrantz 5193de5919 finally fix moving (dragging) gadgets from a shelf to the desktop in a super hackish way that will hopefully be fixable in e18 with a complete rewrite of gadcon/gadman
note: this will look really bad (giant black rectangle) if you have "Use ARGB instead of shaped" checked in Engine config


SVN revision: 76543
2012-09-12 16:23:02 +00:00
Mike Blumenkrantz e81c385e57 break out gadcon drop handler add into separate function to make it reusable
SVN revision: 76516
2012-09-12 10:37:29 +00:00
Mike Blumenkrantz 787017ca11 add E_GADCON_ORIENT_LAST for iterating
SVN revision: 76307
2012-09-07 13:16:29 +00:00
Mike Blumenkrantz 4c89c8ccb1 add mechanism for deleting gadcon configs, shelf deletion now triggers gadcon deletion, fix crash when renaming shelves, prevent shelves from being renamed to the same name as another shelf, fix bug where gadcon client ordering would increase infinitely when adding/removing/redrawing gadgets
SVN revision: 76297
2012-09-07 11:00:25 +00:00
Mike Blumenkrantz 0e414444b2 add flag to gadcons to mark them as being custom gadcons, don't refresh custom gadcons completely when repopulating, fix crash which occurred when gadcon container was deleted before gadcon
SVN revision: 76256
2012-09-06 18:26:09 +00:00
Mike Blumenkrantz c66c6babeb add events for gadcon provider add/del
SVN revision: 76233
2012-09-06 09:28:53 +00:00
Mike Blumenkrantz 0b9f1a9c17 add new events for gadcon clients being added/removed
SVN revision: 76225
2012-09-06 07:40:30 +00:00
Mike Blumenkrantz 0fc873f1b9 revert gadcon event thingy, this causes a stupid gadman bug crash which takes more than 5 mins to fix
SVN revision: 76203
2012-09-05 16:47:16 +00:00
Mike Blumenkrantz 0a50c49958 add events for gadcon populate/unpopulate
SVN revision: 76199
2012-09-05 14:17:43 +00:00
Mike Blumenkrantz 5c3352c57f add function for changing a gadcon client's menu
SVN revision: 75971
2012-09-03 08:02:33 +00:00
Mike Blumenkrantz 7623fa4de0 add new functions for renaming a shelf/gadcon in the process of hunting #1286
SVN revision: 74973
2012-08-07 10:28:28 +00:00
Lucas De Marchi 8545b94e9e e: Add missing const to gadcon client class
SVN revision: 74871
2012-08-04 05:21:56 +00:00
Mike Blumenkrantz 71ce826982 e_gadcon_client_find now takes an optional gadcon param to speed it up where possible
SVN revision: 74512
2012-07-27 16:10:06 +00:00
Mike Blumenkrantz 5db9d9fb00 change gadcon waiting classes list to a hash in order to remove some strcmps
SVN revision: 74487
2012-07-27 12:26:41 +00:00
Mike Blumenkrantz 5a6e5ec964 make client class population gadcon-specific so we don't end up populating every gadcon site with 500 client classes if they're only used on a single shelf
SVN revision: 74485
2012-07-27 10:54:00 +00:00
Mike Blumenkrantz f08e7423f2 make gadcon class function pointers require const as they should, add new custom populate request function, consolidate gcc populate code
compile warnings are being cleaned up next


SVN revision: 74472
2012-07-27 08:17:32 +00:00
Mike Blumenkrantz f8b1dbf2e3 add function for finding a gadcon client from its config
SVN revision: 74439
2012-07-26 12:41:41 +00:00
Mike Blumenkrantz c2b2d7e5ad registering a gadcon client class no longer immediately tries to populate the class; we now populate classes only when a gadget for the class is loaded to further reduce the initial loading clusterfuck
SVN revision: 74432
2012-07-26 10:34:40 +00:00
Mike Blumenkrantz 37461278bc add e_shelf_zone_dummy_new(), e_shelf_list_all(), and e_gadcon_dummy_new() to allow for creating an object (such as a task bar) which simulates a shelf for the purpose of removing its geometry from _e_zone_useful_geometry_calc(), thus preventing windows from being placed under it
ticket #643


SVN revision: 72999
2012-06-28 10:59:19 +00:00
Mike Blumenkrantz 251ae5f857 add e_gadcon_client_autoscroll_toggle_disabled_set() to prevent disabling autoscroll in a gadget
SVN revision: 72795
2012-06-25 10:46:51 +00:00
Mike Blumenkrantz 82ae1fcaac when a gc_init function fails, delete the config and clean up after: mainly for systray
SVN revision: 72564
2012-06-21 06:47:26 +00:00
Mike Blumenkrantz 67d27ccc01 formatting
SVN revision: 72542
2012-06-20 13:21:57 +00:00
Cedric BAIL c2a29811d5 e: massiv warning cleanup !
SVN revision: 70756
2012-05-04 09:38:52 +00:00
Boris Faure 27264671d0 e/gadcon: label() returns a const char*
Original patch by Fabien Romano from OpenBSD

SVN revision: 65204
2011-11-14 21:46:57 +00:00
Carsten Haitzler a3bfd5d8bb have tasks always set inset and autoscroll so it works right.
SVN revision: 65118
2011-11-13 05:47:09 +00:00
Hannes Janetzek 7b399e3b2c e17: add macro to get gacon client config item by id, if id is NULL get a new id.
seems almost all modules got it wrong (those with uuid counter). 
when there are two gcc and gcc 1 is removed and e is restarted 
uuid counter will be 1, so when you add a new one it will get id of gcc 2


SVN revision: 63123
2011-09-03 14:27:27 +00:00
Hannes Janetzek 7f457f1911 e17: add option to have gadcon client settings menu in toplevel again.
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
2011-03-17 17:08:36 +00:00
Gustavo Sverzut Barbieri 6f2213cb25 convert init/shutdown to EINTERN, move some to _update().
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.

Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.



SVN revision: 54795
2010-11-22 15:21:32 +00:00
Sebastian Dransfeld 32a8f5160d Fix dnd working with reference coords.
SVN revision: 54383
2010-11-09 21:14:38 +00:00
Sebastian Dransfeld 2a048b5005 gadcon helper functions
SVN revision: 54348
2010-11-08 20:11:45 +00:00
Miculcy Brian 2f8f31fbf5 This commit will change the shelf menu completly:
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
2010-09-09 14:44:21 +00:00
Michael BOUCHAUD 8f557cd30c Use a const char * here, remove some warning
SVN revision: 51402
2010-08-19 15:18:18 +00:00
Lucas De Marchi 6638a10e20 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Christopher Michael 9c4e3ae13e Formatting.
SVN revision: 43954
2009-11-24 19:00:52 +00:00
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