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
817bec21b1
prevent DND for systray gadgets in all cases
...
SVN revision: 77357
2012-10-03 09:19:26 +00:00
Mike Blumenkrantz
54d1715e58
debug printf--
...
SVN revision: 77272
2012-10-01 14:07:37 +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
8a7477d9a8
reflow some code
...
SVN revision: 77254
2012-10-01 08:54:36 +00:00
Mike Blumenkrantz
37f4478e0a
add last resort fix for an extremely rare corner case in gadman which causes objects to be undeletable at this point, preventing shutdown due to an infinite loop
...
SVN revision: 76930
2012-09-21 06:45:11 +00:00
Mike Blumenkrantz
8233970853
fix nulling of gadcon populate idler
...
SVN revision: 76908
2012-09-20 12:54:11 +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
03a578abae
initialize variable
...
SVN revision: 76808
2012-09-18 11:44:24 +00:00
Mike Blumenkrantz
ea61755d98
fix a bunch of questionably valid null derefs from clang
...
SVN revision: 76807
2012-09-18 11:42:44 +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
95ac2fdc8a
show/hide gadget drag object when leaving/entering gadcons
...
SVN revision: 76761
2012-09-17 13:10:19 +00:00
Mike Blumenkrantz
59d33a4a8b
remove debug info
...
SVN revision: 76758
2012-09-17 12:24:17 +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
fbc50eee75
prevent gadcon callbacks from being added multiple times
...
SVN revision: 76749
2012-09-17 09:50:49 +00:00
Mike Blumenkrantz
8bea4f9411
check for existence BEFORE getting geom
...
SVN revision: 76744
2012-09-17 09:27:05 +00:00
Mike Blumenkrantz
7031ce46b4
fix bug where gadgets could not be dragged left on shelf at the expected level of dragging, also increase drag threshold for moving gadgets to the right
...
SVN revision: 76736
2012-09-17 07:09:21 +00:00
Mike Blumenkrantz
9ccf1d988f
don't delete gadgets when drag is done if new gadget is dropped gadget
...
SVN revision: 76735
2012-09-17 06:10:49 +00:00
Mike Blumenkrantz
4036e9a3c5
need to unlock gadcon BEFORE checking whether gadcon is still editing, otherwise we never unlock and always break shelf autohide
...
SVN revision: 76731
2012-09-17 05:26:22 +00:00
Mike Blumenkrantz
092b37f981
hmm it seems that attempting to be clever and show/hide when leaving and entering the same gadcon during a drag is at least part of the problem with ticket #1462...
...
SVN revision: 76730
2012-09-17 05:25:15 +00:00
Mike Blumenkrantz
d181a362c6
fix gadget dnd bug where repeatedly dragging gadgets around from shelf to desktop to shelf to desktop to shelf to desktop would confuse gadman and prevent it from injecting gadgets properly
...
SVN revision: 76729
2012-09-17 05:02:23 +00:00
Mike Blumenkrantz
6cf37f95bf
delete newly-created gcc here if it isn't our current gcc since we won't be using it
...
SVN revision: 76728
2012-09-17 04:44:41 +00:00
Mike Blumenkrantz
46afc57359
check null here even though it SEEMS impossible to prevent jokers from injecting bad configs
...
SVN revision: 76727
2012-09-17 04:41:09 +00:00
Mike Blumenkrantz
194dbb13a3
fix rare gadget dnd crash
...
SVN revision: 76726
2012-09-17 04:29:49 +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
8f0aa351f8
reflow some code
...
SVN revision: 76536
2012-09-12 15:02:12 +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
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
e0c57c8244
remove this misleading line: there is NEVER a zone here.
...
SVN revision: 76280
2012-09-07 07:08:48 +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
4c0fa2d381
big roundup commit fixing leaky submenus
...
SVN revision: 75973
2012-09-03 08:30:39 +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
Carsten Haitzler
40a67e9222
streamline gadget menu to move move item to main menu.
...
SVN revision: 75407
2012-08-18 10:54:02 +00:00
Mike Blumenkrantz
3433a78ba2
gadcon util menu thingy now sets created menu to appropriate struct members to prevent unexpected behavior
...
SVN revision: 75282
2012-08-15 06:35:02 +00:00
Mike Blumenkrantz
8da7dd34b1
probably a good idea to actually delete menus when they hide instead of just praying for it
...
indirectly fixes ticket #1287
SVN revision: 75256
2012-08-14 12:39:19 +00:00
Mike Blumenkrantz
e9cb0d2085
gadget provider list is now sorted alphabetically
...
SVN revision: 75201
2012-08-13 09:51:50 +00:00
Mike Blumenkrantz
e3e11778fa
wait till after module init is over before drawing gadgets so we can draw them all at once, also don't need to bind to frametime anymore with this
...
SVN revision: 75067
2012-08-10 07:02:02 +00:00
Mike Blumenkrantz
f8eff99bf8
Dear all.
...
I found the bug which may occurs enlightenment crash.
There is code to insert E_Gadcon pointer to custom_populate_requests list in e_gadcon_custom_new(). However, there is no code to remove deleted E_Gadcon pointer from custom_populate_requests list in e_gadcon_custom_del(). So, if the e_gadcon_custom_del() is called before calling _e_gadcon_custom_populate_idler(), then enlightenment crash may occurs while e calls _e_gadcon_custom_populate_idler() because e accesses deleted E_Gadcon pointer.
I modified this problem. Please review this patch.
Thanks.
--
Doyoun Kang
SVN revision: 75033
2012-08-09 08:25:41 +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
Mike Blumenkrantz
031fc80e2f
clean up my earlier gadcon/menu idler work to be functional, thanks to jeffdameth for pointing it out
...
SVN revision: 74786
2012-08-02 07:20:51 +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
4ffafd3313
ensure gadcon class is populated before trying to create a client for it
...
SVN revision: 74507
2012-07-27 15:30:36 +00:00
Mike Blumenkrantz
f990c4d738
greatly simplify gadcon populate idler
...
SVN revision: 74491
2012-07-27 13:18:25 +00:00
Mike Blumenkrantz
df03a272e5
remove useless checks on gcc name
...
SVN revision: 74488
2012-07-27 12:29:55 +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