Commit Graph

68 Commits

Author SHA1 Message Date
Mike Blumenkrantz 446860b68a if gadget wizard returns a zero id, remove gadget from site and destroy 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 4c58940291 force horizontal orient for all gadget editors with orientation
vertical orient does not fit well into any list/grid widgets, not sure
if this can be further improved yet
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz ebfb925a11 redo the gadget editor (again)
the list implementation had some issues with sizing and was also
inflexible and prevented a good display for desktop gadget sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 6a1d0226ed allow gadgets to return a null object for demo objects
this indicates the gadget should not be advertised for the given demo
purpose
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 97c3db5ab1 ensure flag to preserve gadget editor is unset after setup
the first click on the desktop should always dismiss the editor if
a gadget is not being dragged
2017-06-23 17:49:43 -04:00
Marcel Hollerbach 738f6d8f6b e_gadget: fix destroying of drop_objects
keys of pointer hashes are represent as void** so you just get a pointer
to where the pointer can be found. This now dereferences the pointer so
the correct value is used.

This fixes T5136.
2017-01-28 23:02:40 +01:00
Mike Blumenkrantz 1861f474e4 remove gadget drop object event callbacks during object deletion
ensure that no callbacks reference gadget internals after they have been
deleted
2017-01-27 10:51:21 -05:00
Mike Blumenkrantz 75224784bd reset demo gadget id before deleting gadget object during drop operation
ensure that the gadget is marked as usable so that the config isn't deleted
2017-01-20 11:52:24 -05:00
Mike Blumenkrantz 27091c510c ensure that gadget internal del callbacks are handled before other callbacks 2017-01-13 11:35:20 -05:00
Mike Blumenkrantz 3af7affa02 free configs for demo gadgets on object free
these are purely for demo purposes and should never be retained

I think this is right...
2017-01-13 11:35:20 -05:00
Stephen 'Okra' Houston 05f35b4deb Enlightenment: Make gadget editor popup scrollable:
This fixes T5077
2017-01-09 10:39:39 -06:00
Mike Blumenkrantz 485f250880 don't track gadget drop handler objects for deletion
the user should be managing this
2016-12-09 11:59:24 -05:00
Mike Blumenkrantz b133dbd35d prevent divide by zero when calculating gadget aspect sizing 2016-11-28 10:43:28 -05:00
Mike Blumenkrantz 46cad09e3e force gadget site recalc from style object if gadget's hints change
ensure that these intermediate objects trigger recalcs as expected

fix T4809
2016-11-02 11:31:59 -04:00
Mike Blumenkrantz 6723756d6b feed mouse-up when dropping a gadget site before enabling events on the site
prevents unintentional activation of gadget actions during moves
2016-11-02 10:20:04 -04:00
Mike Blumenkrantz c3a01ba16c attempt to recalc gadgets which overflow their container 2016-10-31 13:07:21 -04:00
Mike Blumenkrantz 3d1334e883 delete current dragging gadget during edit if escape is pressed 2016-10-31 13:07:03 -04:00
Mike Blumenkrantz b0831d5f0d allow scaling gadgets using wheel events during initial placement 2016-10-31 13:06:18 -04:00
Mike Blumenkrantz 1f9801f922 attempt to handle non-orient gadget resizes based on anchor corners 2016-10-31 13:05:44 -04:00
Mike Blumenkrantz b9d59616e9 track desktop gadgets based on their zones
ensure positioning is accurate with multiple displays
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 35df03a596 center desktop gadget editor popups upon the zone they have activated 2016-10-31 12:34:29 -04:00
Mike Blumenkrantz a9d0a27ea3 add generic handler for desktop gadget layers
...and a menu item for triggering basic editing
2016-10-26 13:59:29 -04:00
Mike Blumenkrantz 6c16988adc calc new gadget size based on ratio of size:target site size
no use case for this yet...
2016-10-26 13:58:15 -04:00
Mike Blumenkrantz edee519304 copy gadget position from pointer gadget -> drop gadget when executing drop
fixes desync which would cause gadgets to move offscreen
2016-10-26 13:57:07 -04:00
Mike Blumenkrantz 0b40aade50 force gadget site recalc on gadget object creation to ensure sizing
fixes initial sizing for no-orient gadget sites
2016-10-26 13:55:45 -04:00
Mike Blumenkrantz ef2cb47daf handle no-orient gadget visibility based on site->events visibility 2016-10-26 13:54:25 -04:00
Mike Blumenkrantz 3e6f2f1fa7 add workarounds for ctxpopup geometry for use in input shape tiling
ref T4687
2016-10-26 10:28:30 -04:00
Mike Blumenkrantz 8bf7999c31 add gadget site sizing workaround to avoid elm box sizing desync
ref T4747

fix T4732
2016-10-19 11:38:34 -04:00
Mike Blumenkrantz e690d70512 set ON_HOLD flag more accurately when activating gadget actions
fixes handling of actions which have same binding as gadget site's container bindings
2016-10-19 11:13:32 -04:00
Mike Blumenkrantz 79b24ea884 handle gadget_popup smart callback on gadget's display object
fixes case where this signal was not accurately propagated

ref T4732
2016-10-17 11:57:05 -04:00
Mike Blumenkrantz d5847e8ca6 call gadget_popup smart callback when configuring gadgets
ensure visibility changes are received by containers

ref T4732
2016-10-17 11:56:32 -04:00
Mike Blumenkrantz d0e21c912a add gadget_site_(un)locked smart callbacks for forcing gadget site visibility
useful for cases where the gadget site has no popups to manage but visibility must
be maintained

ref T4732
2016-10-17 11:55:23 -04:00
Mike Blumenkrantz baa7e85e61 add EINTERN function for renaming gadget sites 2016-10-13 11:27:12 -04:00
Carsten Haitzler 1afddc3b5e explicitly use eina list types passing into EINA_LIST_FREE() 2016-10-03 11:55:55 +09:00
Mike Blumenkrantz 2642e8c95a clamp gadget util ctxpopups to E_LAYER_POPUP at the lowest
avoid having these be obscured by windows when the gadget is on a lower layer
2016-10-02 09:35:40 -04:00
Mike Blumenkrantz b47b3cd75f force shape queue when gadget util ctxpopups change visibility
fixes some input region issues in x11
2016-09-30 12:59:10 -04:00
Mike Blumenkrantz 0074c1ca27 remove extraneous recalc trigger when deleting a gadget
CID 1362898
2016-09-21 07:12:49 -04:00
Mike Blumenkrantz f700a57baf clean up gadget drop handlers correctly
use drop_handler_del when deleting gadget drop handlers, also delete spacer rects
2016-09-20 12:46:46 -04:00
Mike Blumenkrantz 17909e4fb5 always delete gadget's display object and ensure gadget object is null
fixes some object errors during container deletion
2016-09-20 11:20:22 -04:00
Mike Blumenkrantz d1953c2205 always use largest available size for free-oriented gadgets
ensure that gadgets don't unexpectedly clamp to minimum size
2016-09-19 15:50:55 -04:00
Mike Blumenkrantz 9439228816 add backspace/delete for clearing all lockscreen gadgets
this was turning into a total wasteland
2016-09-19 15:18:06 -04:00
Mike Blumenkrantz 682dd5f835 check visibility of gadget site 'events' member to determine drop availability
the layout object of a gadget site does not need to be visible since it may be
used for desktop gadgets or a transparent overlay
2016-09-19 15:04:47 -04:00
Mike Blumenkrantz b5701bdb1b adjust gadget drop coords for pointer offset
gadgets are centered on the pointer when moved, so the drop coord needs to
then be uncentered to avoid unintended movement
2016-09-19 14:55:53 -04:00
Mike Blumenkrantz d4450d8eb6 attempt to retain gadget size when executing move operations 2016-09-19 14:55:28 -04:00
Mike Blumenkrantz 8923415f8b force smart calc on gadget sites at key points during move operations
ensure that gadget info and visuals match up
2016-09-19 14:54:35 -04:00
Mike Blumenkrantz 4dd99ed669 add separate codepath for handling layout of moving gadgets
these get sized and positioned in a passthrough manner, so avoid doing any calc
2016-09-19 14:53:20 -04:00
Mike Blumenkrantz 42056009a5 set gadget added flag any time a gadget is created or wizarded
ensure that desktop gadget editor doesn't exit when attempting to add
subsequent gadgets
2016-09-19 14:32:20 -04:00
Mike Blumenkrantz ca7bc28286 set the spacer rect as the drop handler base when creating gadget drop handlers
this provides layering info to dnd internals
2016-09-15 14:48:28 -04:00
Mike Blumenkrantz 0a9b8889e0 do not attempt to populate gadgets during type_add if site has not yet been populated
mostly just fixes some ERRs on init
2016-09-08 10:29:22 -04:00
Mike Blumenkrantz 5da62d9adf add drop handlers for gadgets
a simple wrapper around existing e_dnd functionality
2016-09-06 11:12:31 -04:00