Commit Graph

86 Commits

Author SHA1 Message Date
Mike Blumenkrantz 03325b0195 always check for autoclose object when adding gadget objs to edit grabber
ensure popups can be closed as expected during editor operations
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 02b3755828 hide gadget editor if gadget triggers a popup
show again when popup is hidden
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 35f4bc1cdc add better handling for interacting with gadget popups while editor is up
includes gadget wizards

ref T4648
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 5e7e38d2c4 don't close gadget editor if ON_HOLD is set or click is not button 1 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4e8836e591 prune unconfigured gadgets from comp object sites upon site del
automatically created sites shouldn't trigger wizards upon show
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 664c3dc468 move gadget del callbacks to AFTER priority
ensure gadget internals have longer lifetime than external callbacks on
gadget objects

ref 27091c510c

fix T5601, T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 8e54684a2e delete gadget editor site when editor is deleted
leak--
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 415a94b987 unpack gadget from site editor box on content_item del
the gadget should be deleted by the site, not by the gen(list|grid)

ref T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 59b14a4ace unset gadget site's layout pointer after destroying gadgets
ensure this persists through gadget del callbacks

ref T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz af60915713 add function for a gadget to remove itself 2017-06-30 17:03:24 -04:00
Mike Blumenkrantz c109e2d6a6 save gadget site config when deleting gadget after wizard failure 2017-06-30 17:03:24 -04:00
Mike Blumenkrantz 89aa89f3a6 use event grabber for gadget editors to improve event detection
fixes some cases where clicking the background didn't dismiss the editor
and allows for clicking on non-gadget parts of the editor
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 809a3492ae unset gadget editor pointer on editor delete 2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 8b8703cfa6 use safe list iterating when clearing a gadget site during shutdown
demo gadgets are immediately removed when deleted, leading to list
corruption unless a safe iterator is used
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 9fa3fdfc78 always grab input when showing a gadget wizard 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz be0015a283 hide gadget editor when dragging/wizarding a new gadget 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 7e6a2a9064 update gadget position during a resize from top/left edge 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 099e6e019d reset demo gadget id before deleting gadget object during drop operation
ref 75224784bd
2017-06-23 17:49:44 -04:00
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