Commit Graph

164 Commits

Author SHA1 Message Date
Sebastian Dransfeld 4eb8b955a9 efreet: optimize stat
use eina_file_stat_ls instead of eina_file.*_ls + ecore_file_is_dir

SVN revision: 78173
2012-10-18 09:12:25 +00:00
Sebastian Dransfeld 17cd7fa313 efreet: remove file exists check
efreet_ini_new will check if file exists later on.

SVN revision: 78169
2012-10-18 09:11:43 +00:00
Sebastian Dransfeld 2a3cb2d1c9 efreet: remove realpath
Use eina_file_path_sanitize where needed

SVN revision: 78161
2012-10-18 08:10:35 +00:00
Carsten Haitzler 8b19e6eab1 disable some realpath(s) in efreet to rece syscall noise on init...
after some poking around and looking - terminology is taking about
800ms to start ... and we seem to use about 300ms or so of that time
statting files and tregistering them for file monitoring (the dirs
that are found there) and also handling a big batch of incoming file
monitor events for some reason even tho nothing changed.

this cuts down some time+noise, but we need to do a lot of work here. :(



SVN revision: 78108
2012-10-17 09:16:20 +00:00
Sebastian Dransfeld f419175657 efreet: Add parameter checking to exported API
Some efreet APIs do not check input parameters.  So I add checking by
using EINA_SAFETY_ON_XXX().
ISO/IEC statndards says that "If an argument to a function has an
invalid value, behavior is undefined" . But this is  just for the
primitive functions such as libc.  I think that parameter checking is
needed in at least EFL exported APIs to prevent run-time abnormal
behavior.
EINA_SAFTETY_ON_XXX are better than "if (xxx) return" because it gives
error message and can be maintainable.

Patch by Bluezery, modified by me

SVN revision: 71366
2012-05-23 20:10:27 +00:00
Cedric BAIL 08e79c00ff efreet: add svg.
SVN revision: 63538
2011-09-22 14:10:04 +00:00
Sebastian Dransfeld 56f3b3b278 efreet: Clean headers
Might affect other systems, please just add the needed headers and don't
complain.

SVN revision: 62557
2011-08-18 07:35:48 +00:00
Carsten Haitzler 71b7acde90 doxy -> h files.
SVN revision: 58487
2011-04-08 11:01:08 +00:00
Sebastian Dransfeld c45d4c937d Efreet: Listen for ECORE_FILE_EVENT_CLOSED
SVN revision: 57574
2011-03-08 11:40:54 +00:00
Hannes Janetzek 8aed4736a0 fix: size < ret_size is always false. scale icons less
SVN revision: 57021
2011-02-14 14:28:21 +00:00
Sebastian Dransfeld d22176c22d TODO++
SVN revision: 56951
2011-02-11 13:49:25 +00:00
Sebastian Dransfeld 8094cbf79b move NON_EXISTING define to efreet_cache
SVN revision: 56917
2011-02-10 14:34:03 +00:00
Sebastian Dransfeld 049fee06f1 efreet_cache_icon -> efreet_icon
SVN revision: 56908
2011-02-10 14:25:00 +00:00
Sebastian Dransfeld 6ad5b0111e Remove unneeded header
SVN revision: 56877
2011-02-09 21:20:28 +00:00
Sebastian Dransfeld 021beae781 Move theme hash from efreet_icon to efreet_cache
SVN revision: 56852
2011-02-09 17:09:16 +00:00
Sebastian Dransfeld 88efa51928 Fix segv correctly
There should be no key starting with efreet in the cache, but make sure
a theme exists before adding to the theme list.

SVN revision: 56838
2011-02-09 08:40:39 +00:00
Sebastian Dransfeld da2c871e24 Remove duplicate logging macros
SVN revision: 56732
2011-02-05 19:07:07 +00:00
Sebastian Dransfeld accd246c72 Set EFREET_MODULE_LOG_DOM to -1 after unregister
SVN revision: 56731
2011-02-05 19:06:55 +00:00
Sebastian Dransfeld 6ed10251db Remove global log domain
SVN revision: 56729
2011-02-05 19:05:55 +00:00
Sebastian Dransfeld 49ea948fe1 always remove file extensions
Need to remove extension before checking fallback icons as well.

SVN revision: 56699
2011-02-03 22:19:52 +00:00
Sebastian Dransfeld 83e7cba435 Pass extensions and directories to cache process.
SVN revision: 56666
2011-02-02 22:58:15 +00:00
Sebastian Dransfeld e9d7cce821 Reapply hash cache
And this time update it on new cache

SVN revision: 56638
2011-02-01 21:03:40 +00:00
Sebastian Dransfeld 3bf3e34ff4 Revert local hash cache
SVN revision: 56623
2011-02-01 09:23:05 +00:00
Sebastian Dransfeld 90dcedff5e TODO--
SVN revision: 56604
2011-01-31 11:46:01 +00:00
Sebastian Dransfeld 62ca03731a Remove TODO
SVN revision: 56602
2011-01-31 11:45:40 +00:00
Sebastian Dransfeld e3e3b2a204 Always use icon cache, remove old code
SVN revision: 56590
2011-01-31 11:43:31 +00:00
Sebastian Dransfeld dd3a72dc33 Fix memleak
SVN revision: 56587
2011-01-31 11:27:46 +00:00
Sebastian Dransfeld 978741a789 doc
SVN revision: 56326
2011-01-27 17:49:45 +00:00
Sebastian Dransfeld c4fdbe3a66 fix parameter name
SVN revision: 56322
2011-01-27 17:43:15 +00:00
Sebastian Dransfeld 8babc062be delay closing of icon theme cache
SVN revision: 55502
2010-12-11 20:37:17 +00:00
Sebastian Dransfeld 18dea4b9f8 And recreate hash after deletion
SVN revision: 55400
2010-12-09 09:12:12 +00:00
Sebastian Dransfeld de36c69b16 flush icon theme cache before closing eet file
SVN revision: 55399
2010-12-09 08:57:06 +00:00
Sebastian Dransfeld 55404c7134 enable icon theme cache
SVN revision: 55398
2010-12-09 08:56:56 +00:00
Sebastian Dransfeld b525e964d0 free iterator after usage
SVN revision: 55396
2010-12-09 08:56:36 +00:00
Sebastian Dransfeld ac51f4ead3 Fix very weird double looping
Not need to extract keys from hash, then loop keys to find data.

SVN revision: 55395
2010-12-09 08:56:23 +00:00
Sebastian Dransfeld d104d2e745 Add icon theme cache
Not used yet.

SVN revision: 55384
2010-12-08 21:39:43 +00:00
Sebastian Dransfeld 649aa06958 simplify code
SVN revision: 55262
2010-12-04 15:13:47 +00:00
Sebastian Dransfeld 802339c2c0 Add cache usage for efreet_icon_list_find()
SVN revision: 55261
2010-12-04 13:59:48 +00:00
Sebastian Dransfeld 9e3be1a1a4 use eina_hash_direct_add
use eina_hash_direct_add where we use a struct member as key

SVN revision: 55193
2010-12-03 14:53:01 +00:00
Cedric BAIL 64a612ef38 * efreet: simplify code.
SVN revision: 55071
2010-11-29 18:42:48 +00:00
Sebastian Dransfeld caaf7ab25f formatting
SVN revision: 55037
2010-11-27 20:36:39 +00:00
Sebastian Dransfeld 66e52e2829 Rename efreet_icon_private.h to something better
efreet_icon_private.h should be private to external code interacting
with the icon cache, so name it efreet_cache_private.h and only include
Eet.h there.

SVN revision: 55035
2010-11-27 20:15:00 +00:00
Christopher Michael 8719a729ab Fix missing include <Ecore.h> for needed ecore functions
(ecore_time_get, ecore_exe_run, etc, etc).



SVN revision: 55027
2010-11-26 21:32:34 +00:00
Vincent Torri 126c3574c3 fix compilation on Windows
SVN revision: 55021
2010-11-26 17:05:16 +00:00
Cedric BAIL a90e2e4aff * efreet: improve icon cache, increase speed and consume a little
more memory than previous version.

	TODO: efreet_icon_cache_create could be speeded up if we did
	reuse already generated theme instead when doing inherit work.

	NOTE: Let me add a rant against Freedesktop standard. Walking
	around 22731 paths for 3051 icons is insane and that's just for
	one theme ! Maybe they could give me one SSD...


SVN revision: 55018
2010-11-26 14:56:23 +00:00
Vincent Torri d07b011ca8 move Ecore_File.h inclusion to the source file
SVN revision: 55002
2010-11-25 23:52:57 +00:00
Vincent Torri 42f57e9fc3 put alloca declaration after config.h
SVN revision: 55001
2010-11-25 23:48:59 +00:00
Sebastian Dransfeld 14f8c7b24f TODO++--
SVN revision: 54976
2010-11-25 09:41:08 +00:00
Sebastian Dransfeld ffee0081c7 Keep all queried themes in hash
The previous logic would create a fake theme object in
efreet_icon_find_theme_check() if we didn't find the theme. Later in
efreet_icon_theme_dir_scan_all() we would delete this theme, and then
segv. As the user hopefully wont query for a bunch of non existing
themes, and each theme object is fairly small, keep all in hash.

SVN revision: 54975
2010-11-25 09:04:49 +00:00
Sebastian Dransfeld 6be2628e97 revert, name.internal is always set
SVN revision: 54965
2010-11-24 21:34:21 +00:00