Commit Graph

347 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz 5070653af2 add debug timing info for gadcon idler populates
SVN revision: 74478
2012-07-27 09:28:25 +00:00
Mike Blumenkrantz 81cbce9d96 log error and fail when attempting to register a nameless gadcon client class to prevent massive failure later
it is once again a good time to update


SVN revision: 74477
2012-07-27 08:46:04 +00:00
Mike Blumenkrantz 8b0c1eaefe fix gcc populates to actually set all necessary variables and prevent config from being wiped; fixes gadman gadgets randomly disappearing and probably a lot of other unnoticed bugs
SVN revision: 74476
2012-07-27 08:42:16 +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 5389c8a964 forgot to deregister client class from populated list
SVN revision: 74445
2012-07-26 14:13:49 +00:00
Mike Blumenkrantz 14b109ac78 fix gadcon crashing when enabling/disabling modules
SVN revision: 74443
2012-07-26 13:59:41 +00:00
Mike Blumenkrantz 812abd7c1d actually I don't know wtf I was thinking with 74438, I was clearly a misguided genius in the code that I removed in this commit; fixes adding new gadgets and also speeds up the process greatly
SVN revision: 74441
2012-07-26 13:00:15 +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 512f48014c not sure what I was thinking here, no need to repopulate a gadcon when client class is populated
SVN revision: 74438
2012-07-26 12:41:01 +00:00
Mike Blumenkrantz ec019bae91 only populate custom gadcons with the gadgets that are actually loaded in the gadcon: huge speedup
SVN revision: 74433
2012-07-26 11:05:39 +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 f66e16178c in general, any time e_icon_object_set is used, it's wrong. e_icon doesn't handle these cases and fails in every case other than the initial _set() call.
SVN revision: 74209
2012-07-20 06:53:52 +00:00
Mike Blumenkrantz 42ceb58540 merge a big e17 doc patch
ticket #91


SVN revision: 73408
2012-07-06 10:53:22 +00:00
Mike Blumenkrantz 5950d44b2f add resize callback for gadcon parent to properly adjust box packing objects for gadcon clients
also fixes pager resize in shelf


SVN revision: 73222
2012-07-03 10:44:33 +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 a8bfedc268 have to unlock shelf at this point or else it will never hide anymore
fixes ticket #1013


SVN revision: 72806
2012-06-25 13:04:13 +00:00
Mike Blumenkrantz e1acc237ed fix some remaining shelf autohide bugs related to shelves drawn on the container
SVN revision: 72804
2012-06-25 12:10:31 +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 9d5f2a7c63 also ensure min size for shelf gadgets is not greater than max size
SVN revision: 72787
2012-06-25 08:25:07 +00:00
Mike Blumenkrantz 1c0ae4ffcb shelf gadgets no longer tries to set min/max sizes that are larger than the shelf
SVN revision: 72786
2012-06-25 08:22:16 +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
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Mike Blumenkrantz 1a7c41f86a formatting
SVN revision: 72540
2012-06-20 12:43:15 +00:00
Cedric BAIL 2d0970da9a e: warning--.
SVN revision: 70751
2012-05-04 02:34:56 +00:00
Carsten Haitzler 515819cdb5 make all zone matching agree on the same convention - use zone->num,
not zone->id. zone->id is for matching u to zinerama/xrandr
screens/outputs. e re-sorts based on highest res screens first, lower
res later.



SVN revision: 67951
2012-02-15 04:35:18 +00:00
Carsten Haitzler 2812e15939 make aspect size requests work properly with autoscroll in shelf.
SVN revision: 66312
2011-12-18 14:03:15 +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
Carsten Haitzler 0b4f2529f9 overkill doing "Gadget nameofgadget in the menu. just nameofgadget
will do. also it wasnt translated anyway.



SVN revision: 64624
2011-11-01 22:33:38 +00:00
Youness Alaoui 88f331c878 wtf, removing wrongly inserted tabs in previous commit
SVN revision: 64588
2011-10-31 23:26:24 +00:00
Youness Alaoui a98518a9de E: gadcon width adjustment was entering an infinite loop if no gadget had autoscroll enabled
the 'need' variable had to be initialized to 0, and a break condition for the loop
also needed to be added otherwise we'd end up in an infinite loop if no gadget
had autoscroll (in which case, the need var was never modified).

SVN revision: 64587
2011-10-31 23:22:07 +00:00
Carsten Haitzler d5247cd243 and refine new gadcon layout somemore - so much simpler now! yay!
SVN revision: 64556
2011-10-31 12:04:34 +00:00
Carsten Haitzler be4202e8a6 disable resizable gadcon gadgets because we now have autoscroll expand
stuff working.



SVN revision: 64551
2011-10-31 10:10:17 +00:00
Carsten Haitzler 4a76470496 taskbar++!
one more todo item being knocked off. but there.
also no proper icon for it yet. mostly code from the old taskbar with
lots of little things fixed.



SVN revision: 64518
2011-10-30 07:36:54 +00:00
Hannes Janetzek 4651579f73 e17/gadcon client menu: dont restrict 'move to' when gadcon has no site restrictions
SVN revision: 58600
2011-04-12 20:42:19 +00:00
Hannes Janetzek bbcae9589b e17/gadcon: dont show 'move to' entries for sites to which gadgets cannot be moved
SVN revision: 58568
2011-04-11 20:39:42 +00:00
Christopher Michael 43c493f090 E17 - Fixup some compiler warnings
gadcon: Fix 'limit' may be used uninitialized.
        Fix formatting in some places.
menus:  Fix several variables may be used uninitialized warnings.
comp:   Add UNUSED where needed.
        Fix formatting in some places.



SVN revision: 58467
2011-04-08 05:31:47 +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
Carsten Haitzler d9184e351d on free of list.. set list ptr to null tnx. :)
SVN revision: 55859
2011-01-05 03:14:34 +00:00
Carsten Haitzler ab3e4d2f1b dont access null cf in gcc.
SVN revision: 55827
2011-01-03 15:37:49 +00:00
Christopher Michael 71d8f97aff Add some missing checks to make sure Gadcon Container and Gadcon
Clients are valid before we try using them.



SVN revision: 55789
2010-12-31 16:51:25 +00:00
Peter van de Werken 565303e0f3 Modified patch.
From: Peter van de Werken <pwerken-e@a-eskwadraat.nl>
Only add a separator if there is something to separate.



SVN revision: 55780
2010-12-30 13:44:39 +00:00
Mike Blumenkrantz bd9200c460 avoid two null derefs
SVN revision: 55712
2010-12-22 22:55:55 +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
Sebastian Dransfeld 8f1e82d9f9 TODO++
SVN revision: 54326
2010-11-08 14:05:08 +00:00
Sebastian Dransfeld 7867b41c98 Don't allow NULL id
This fixes #567

SVN revision: 54243
2010-11-06 18:13:57 +00:00
Miculcy Brian dd641e9259 New categories for modules.
To be continued soon...


SVN revision: 53514
2010-10-17 17:33:44 +00:00
Carsten Haitzler 4dfa97df1f menu icons.. are meant to be e_icon objects... devilhorns!
:)
(damned 64bit shit found it)



SVN revision: 52119
2010-09-10 04:09:00 +00:00
Christopher Michael 5a6461bcd8 Handle case where gadcon may not have the icon function for menu.
SVN revision: 52110
2010-09-09 22:18:00 +00:00
Christopher Michael 312da38b10 Get the Label from the gadget itself for display in the menu (rather
than the gadget name which is usually just a short version which would
mean less to the user).

Use the Icon from the gadget itself for display in the menu.



SVN revision: 52106
2010-09-09 20:46:24 +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
Lucas De Marchi 25113159a5 Fix common misspellings
Some misspellings were manually reverted since in E there are tons of .po with
phrases in other languages. Other than that all the changes in the following
files were reverted:

 * src/modules/illume/dicts/English_(US).dic
 * src/modules/illume-keyboard/dicts/English_(US).dic


Following misspellings were fixed:

acquited->acquitted
adres->address
adress->address
alreayd->already
aquire->acquire
arbitarily->arbitrarily
cant->can't
Capetown->Cape
carefull->careful
causalities->casualties
Celcius->Celsius
certian->certain
commandoes->commandos
considerd->considered
conveyer->conveyor
dependant->dependent
didnt->didn't
discontentment->discontent
doesnt->doesn't
everytime->every
exemple->example
existance->existence
existant->existent
existince->existence
Farenheit->Fahrenheit
forbad->forbade
funguses->fungi
guage->gauge
guerilla->guerrilla
guerillas->guerrillas
happend->happened
hasnt->hasn't
heros->heroes
inbetween->between
independant->independent
inital->initial
intrusted->entrusted
irregardless->regardless
isnt->isn't
knifes->knives
layed->laid
loosing->losing
marrage->marriage
midwifes->midwives
miniscule->minuscule
monickers->monikers
mroe->more
noone->no one
occured->occurred
omre->more
paralell->parallel
payed->paid
planed->planned
quitted->quit
quizes->quizzes
seperated->separated
seperate->separate
shoudl->should
similiar->similar
simplier->simpler
specifiying->specifying
teh->the
toke->took
torpedos->torpedoes
Tuscon->Tucson
unecessary->unnecessary
useage->usage
usefull->useful
useing->using
waht->what
wanna->want
whith->with
wich->which
withing->within




SVN revision: 52006
2010-09-08 23:59:07 +00:00
Michael BOUCHAUD 8f557cd30c Use a const char * here, remove some warning
SVN revision: 51402
2010-08-19 15:18:18 +00:00
Christopher Michael 9469f5ff41 Add UNUSED.
Init some vars.



SVN revision: 51338
2010-08-18 20:25:13 +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
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Christopher Michael d1e46e3888 Fix segfault if gadget has no zone.
SVN revision: 49163
2010-05-23 20:39:51 +00:00
Christopher Michael 57f2c2bd48 Set new client config geometry resolution to match current resolution
(better than a hard-coded value which may be incorrect).



SVN revision: 48748
2010-05-11 05:05:51 +00:00
Sebastian Dransfeld 78b294c4a8 make clang happy
SVN revision: 45176
2010-01-15 11:29:50 +00:00
Christopher Michael ffaef6196d When setting gadcon zone, record the zone id in config struct. (There was a
placeholder for it, but never got filled).
Fix some formatting while I am in here.



SVN revision: 44914
2010-01-05 22:06:47 +00:00
Sebastian Dransfeld bda24a1f0d Make clang happy
SVN revision: 44230
2009-12-06 19:42:41 +00:00
Christopher Michael 2a7f105194 If CLANG needs this return there, then don't create o_control until after in
case we do actually hit this return.



SVN revision: 43967
2009-11-25 01:10:11 +00:00
Christopher Michael fc8c5cac0d Add illume-indicator module to configure.ac
Some formatting in e_gadcon/e_shelf.



SVN revision: 43966
2009-11-25 01:02:11 +00:00
Christopher Michael 09edadd2a5 Use MENU_POP_DIRECTION_AUTO instead of DIRECTION_DOWN.
SVN revision: 43960
2009-11-24 21:17:18 +00:00
Christopher Michael b6ff4d6da1 Fix compiler warnings.
SVN revision: 43310
2009-10-27 17:33:56 +00:00
Hannes Janetzek 7cb9d3a362 EINA_FUCK_REVERSE_FOREACH != for (l = some_pointer_in_list_from_where_want_to_start; l; l = l->prev)
anyway nice that i didnt had to rewrite gadcon layout to fix this issue,
but at least starting the rewrite made me realize the above mentioned 
difference. moving and resizing of gcc in non-shrinked mode works 
now nicely again.


SVN revision: 42637
2009-09-23 06:06:13 +00:00
Hannes Janetzek 484b32f3f0 gadcon: gadcon clients move now _with_ the mouse in shrinked mode
SVN revision: 42543
2009-09-17 09:03:13 +00:00
Hannes Janetzek 36bf931eda gadcon: get right mouse position for efm gadcon..
SVN revision: 42540
2009-09-17 05:41:23 +00:00
Hannes Janetzek 5cee246020 gadcon:
- fix dnd of gadcon clients between gadcons
- apply fix from victor for gadcon client movements
- make layout algorithm orientation agnostic


SVN revision: 42539
2009-09-17 05:18:28 +00:00
Hannes Janetzek 8b6002a5cf populate custom gadcons on when added
- now gadman shows gadgets when it is unloaded and loaded again 


SVN revision: 42284
2009-09-05 17:02:09 +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
Cedric BAIL 6051d5f3a6 * e_gadcon.c: Fix Gadcon unpopulate. Thanks to Sachiel.
SVN revision: 41950
2009-08-24 09:17:54 +00:00
Cedric BAIL f8c05999e4 * e: Cleanup use of Eina data structure.
Patch from Peter van de Werken <pwerken-e@a-eskwadraat.nl>.


SVN revision: 41916
2009-08-21 15:08:49 +00:00
Christopher Michael c37b22a39f Fix ticket #343 (autoscroll and resizable not being set after restart).
Formatting.
Whitespace Removal.
Variable cleanup.
Add missing 'static' declaration on private function.
Move EAPI functions to be together in the source before local functions.



SVN revision: 41246
2009-07-04 01:44:34 +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
Gustavo Sverzut Barbieri 804f59e6e5 fix problem with e_gadcon_provider_register() being called from e_modapi_init().
if e_modapi_init() called e_gadcon_provider_register() the module
gc_init() would be called immediately, becore e_modapi_init() finished
and thus mod->data was unset (it's set by E when that function
returns).

most modules did not show this problem since they keep lots of globals
around and use them, but not mixer module. Mixer module did check for
global mixer_mod to be set and also mixer_mod->data, thus exposed this
problem, with "mixer is not able to show on desktop/gadget" but did in
shelves, since it would refuse to load immediately but would be loaded
later at e_shelf_config_new()->e_gadcon_populate().

Now gadcons are populated from an idler, avoiding all these problems
and probably will impact user's perceived load time since it will do
less work before getting to main loop and being able to process
events.


SVN revision: 40714
2009-05-17 23:43:02 +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
Davide Andreoli eb2d1db1dc Icon rename finished. Now we have a fully compliant icon theme :)
now I'm going to fix E-MODULE-EXTRA...


SVN revision: 39495
2009-03-15 17:41:46 +00:00
Davide Andreoli 49fecd25b7 More icons renamed
SVN revision: 39400
2009-03-06 22:18:15 +00:00
Davide Andreoli 1101c58d9f more icons renamed
SVN revision: 39396
2009-03-06 19:17:12 +00:00
Davide Andreoli 3d669d1177 * Rename the new function:
e_util_menu_item_fdo_icon_set to e_util_menu_item_theme_icon_set
As it looks for icons in e theme AND in fdo icon themes.
* Use the new function everywere instead of e_util_menu_item_edje_icon_set,
that is now marked as DEPRECATED

You should not see any difference with this commit. With the next few commit I'm
going to rename all the icons in the theme following fdo standard. I will not change
any icons, just rename them to match fdo ones.



SVN revision: 39370
2009-03-04 20:46:05 +00:00
Cedric BAIL db419867dd * estickies,
* etk,
	* PROTO/exalt,
	* E-MODULES-EXTRA/diskio,
	* E-MODULES-EXTRA/drawer,
	* E-MODULES-EXTRA/penguins,
	* E-MODULES-EXTRA/slideshow,
	* E-MODULES-EXTRA/mail,
	* E-MODULES-EXTRA/forecasts,
	* E-MODULES-EXTRA/iiirk,
	* E-MODULES-EXTRA/places,
	* e,
	* ewl,
	* ecore,
	* elitaire,
	* entrance,
	* e_dbus,
	* efreet: Here we go, move from Ecore_List to Eina_List.

	NOTE: This patch is huge, I did test it a lot, and I hope nothing is
	broken. But if you think something change after this commit, please
	contact me ASAP.


SVN revision: 39200
2009-02-25 11:03:47 +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
Carsten Haitzler a65708abbd clean up wiz
SVN revision: 38694
2009-01-22 04:42:16 +00:00
Gustavo Sverzut Barbieri 1bfaf61168 Re-break gadcon so everything works correctly.
according to raster e_gadcon_canvas_zone_geometry_get() was supposed
to return zone-relative coordinates, but it was implemented
incorrectly and everything now depends on absolute coordinates, so
let's keep it absolute.



SVN revision: 38589
2009-01-15 01:02:32 +00:00
Gustavo Sverzut Barbieri f3c5819ff3 gadcon: fix bugs reported by llvm clang static analyser.
Some cases like not having o_base and o_frame are impossible, but I
added the cheap "else return;" just to keep it quiet. But some cases
were really bugs and were fixed.



SVN revision: 38556
2009-01-12 18:31:49 +00:00
Gustavo Sverzut Barbieri 05402668aa e_menu: recursively delete children menus.
e_menu had this behaviour that submenus were not deleted
automatically, relying on the parent menu to hook to post_deactivate
and then delete them.

This was good because maybe you don't want to delete these children,
you might want to reuse them sometime.

But it ended that nobody was using this feature, and worse: most use
cases were failing to delete these children, causing memory leak.

This commit changes the default behaviour and thus remove all the
existing code that was replicating such work. If one want the old
behavior, just call e_menu_item_submenu_set(mi, NULL) and it will be
unbounded from the parent.

If you experience any problems with that, try adding some printf()
before _e_menu_free() and _e_menu_item_free() and print some relevant
information like m->category and m->header.title or mi->label in order
to figure out the problematic menu.



SVN revision: 38528
2009-01-10 07:02:32 +00:00
Cedric BAIL 773d102291 This commit is huge. I did test it a lot on my computer, and it run fine here.
But is so big i fear i could have broken some piece of code. So report any wrong
behaviour to me (cedric on #edevelop).

So moving e17 and efreet to eina_hash. With a little efreet API break so they
must come together.


SVN revision: 38185
2008-12-17 15:33:43 +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
Sebastian Dransfeld 92ff3dab37 Fix callback for list sorting.
SVN revision: 37202
2008-10-27 07:33:21 +00:00
Gustavo Sverzut Barbieri e5c4d62fd4 Set member_{add,del} to NULL.
SVN revision: 37091
2008-10-25 03:13:33 +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
Cedric BAIL 3d6749983b Switch to eina_stringshare.
This could also change the usage of string share in E17.



SVN revision: 36679
2008-10-15 15:12:56 +00:00
Chidambar Zinnoury 6de31a6163 id_del was never called for gadcon clients, so call it after shutdown. Report and help for testing done by stefzekiller <stefzekiller@gmail.com>.
Moreover, remove some new compiler warning.


SVN revision: 36661
2008-10-14 16:22:52 +00:00
toma a3c3d2c23f Icon work. HUGE revision of icons and their names. This breaks the icon theme API so you might need to revise some themes. It does however, simplify a whole lot of stuff. You'll notice a lot more icons in menus. This bigger changes will come with the new theme once it is done. The missing icon names are put in b_and_w theme for now so if you need them, look them up. Also a bit of base work for EFM and the border icons in there. Commented out till the old icons are merged in. Message me if anything is screwed up.
SVN revision: 36591
2008-10-12 06:04:26 +00:00
Carsten Haitzler b370f8315f remove/comment out printfs and remove fixme (to be removed) fake mouse up funcs
SVN revision: 36229
2008-09-25 01:34:39 +00:00
Gustavo Sverzut Barbieri 18966c828b Add calculate callback to Evas_Smart_Class.
Some people is using it for some time now without problems, so I'm
adding it to SVN to get some broader use. Remember to recompile ALL
libraries that depend on Evas as it will change the
EVAS_SMART_CLASS_VERSION and old classes will fail to load.

This will also change Edje so it will postpone _edje_recalc() to
render time, calculate() callback, however some methods will force
early recalculation.



SVN revision: 35860
2008-09-07 01:25:49 +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
Christopher Michael 7676686823 Fix some formatting while I am here tracking down why every module (when
used with new gadman module) has an extra separator in the menu.


SVN revision: 34614
2008-05-19 09:57:48 +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 586110892d since no icon is dragged - disable dnd gadgets off a gadcon for now.
SVN revision: 34554
2008-05-13 05:31:20 +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 9bd622f018 fix 3 valgrind issues i found.
SVN revision: 33955
2008-03-07 19:13:54 +00:00
Carsten Haitzler cdded0bf38 instant edit! werd! :)
SVN revision: 33936
2008-03-05 12:39:55 +00:00
Carsten Haitzler 6fbadc1d08 dont re-order gagdtes when a user has told us what to do with them!
SVN revision: 33919
2008-03-04 13:33:18 +00:00
Carsten Haitzler 65438bc3ab printf--
SVN revision: 33918
2008-03-04 12:20:50 +00:00
Carsten Haitzler 91ede9eacc and in case an object is deleted clear out the gadcon as well
SVN revision: 33915
2008-03-04 11:34:31 +00:00
Carsten Haitzler b70f5a0ecc e:
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system  - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.

ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape

evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).


SVN revision: 33448
2008-01-11 07:33:57 +00:00
Christopher Michael 28a576fbe9 Set proper icon for Inset.
SVN revision: 33265
2007-12-27 21:05:35 +00:00