Commit Graph

716 Commits

Author SHA1 Message Date
Sebastian Dransfeld 23c5801400 Move all eet cache handling to efreet_cache.c
SVN revision: 56906
2011-02-10 14:24:40 +00:00
Sebastian Dransfeld 72ab08256a Move struct only used for cache
SVN revision: 56905
2011-02-10 14:24:30 +00:00
Sebastian Dransfeld 3997e75aa9 move around some code
SVN revision: 56904
2011-02-10 14:24:20 +00:00
Sebastian Dransfeld 45aebcb121 Make efreet_cache_icon_theme_free static
SVN revision: 56903
2011-02-10 14:24:09 +00:00
Sebastian Dransfeld c999910e15 Remove unneeded EAPI
SVN revision: 56902
2011-02-10 14:23:31 +00:00
Sebastian Dransfeld 6067dad09e Check for special "*" glob
SVN revision: 56878
2011-02-09 21:20:42 +00:00
Sebastian Dransfeld 6ad5b0111e Remove unneeded header
SVN revision: 56877
2011-02-09 21:20:28 +00:00
Sebastian Dransfeld 8c9ac9c967 Don't free strings from eet
SVN revision: 56874
2011-02-09 20:43:43 +00:00
Sebastian Dransfeld 851fcce119 Don't deref NULL pointer
SVN revision: 56868
2011-02-09 18:36:12 +00:00
Sebastian Dransfeld 8c9083f65d Add free callback to eet hashes
Fixes memleak

SVN revision: 56854
2011-02-09 17:09:38 +00:00
Sebastian Dransfeld 2728c70bc3 Don't free data from efreet_util_cache_names
SVN revision: 56853
2011-02-09 17:09:27 +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 2344ff9520 These TODO's are done
SVN revision: 56851
2011-02-09 17:08:50 +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
Hannes Janetzek 0f47e4a0eb fix segv of e's icon theme chooser. please review
SVN revision: 56818
2011-02-08 20:50:29 +00:00
Sebastian Dransfeld c49d6dd5c4 Set file owner to calling user
This fixes cache problems when running programs utilizing efreet with
sudo.

SVN revision: 56787
2011-02-07 21:33:33 +00:00
Sebastian Dransfeld 582ecd7203 Fix doc
SVN revision: 56783
2011-02-07 21:19:36 +00:00
Sebastian Dransfeld 1cfad6b93c And really remove init/shutdown of xml
SVN revision: 56737
2011-02-05 20:34:22 +00:00
Sebastian Dransfeld 8d0cebc632 Fix segv, clear mem cache on eet file close
Patch by Hannes Janetzek

SVN revision: 56735
2011-02-05 20:03:18 +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 18c663b7e2 Remove efreet_xml_{init,shutdown}() from menu
SVN revision: 56730
2011-02-05 19:06:45 +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 32defc93ae don't strdup, we return const data
SVN revision: 56693
2011-02-03 19:58:04 +00:00
Sebastian Dransfeld 9427097015 Close cache file at end and set free'd = NULL
SVN revision: 56691
2011-02-03 19:57:25 +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 c1bf3a7d32 Check for NULL
SVN revision: 56665
2011-02-02 22:57:34 +00:00
Sebastian Dransfeld ecfbc7f83c free local mem cache on shutdown
SVN revision: 56639
2011-02-01 21:08:16 +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 53f96546e2 And put read eet data in mem cache
SVN revision: 56621
2011-02-01 08:58:12 +00:00
Sebastian Dransfeld 5e69accabd update icon cache major
Make sure we don't reuse some old cache

SVN revision: 56620
2011-02-01 08:53:43 +00:00
Sebastian Dransfeld 812b38c286 init variable to NULL
SVN revision: 56619
2011-02-01 08:53:33 +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 e35ba4174c Remove TODO, code is correct
SVN revision: 56601
2011-01-31 11:45:29 +00:00
Sebastian Dransfeld b069c18c4b Check for pointer equality
SVN revision: 56600
2011-01-31 11:45:19 +00:00
Sebastian Dransfeld 0b519a6f7d Create one cache file for each theme
SVN revision: 56598
2011-01-31 11:44:56 +00:00
Sebastian Dransfeld 7279143b7e Prefix internal efreet cache keys with __
SVN revision: 56597
2011-01-31 11:44:46 +00:00
Sebastian Dransfeld 8309f40d0f Check if theme has changed when building cache
SVN revision: 56596
2011-01-31 11:44:35 +00:00
Sebastian Dransfeld 4ec17d71fc Create internal struct for theme cache
SVN revision: 56595
2011-01-31 11:44:24 +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 fbcff4288f Add temporary memory cache of eet file data
SVN revision: 56589
2011-01-31 11:32:45 +00:00
Sebastian Dransfeld 37405fc035 Improve storage of desktop util data
SVN revision: 56588
2011-01-31 11:32:34 +00:00
Sebastian Dransfeld dd3a72dc33 Fix memleak
SVN revision: 56587
2011-01-31 11:27:46 +00:00
rephorm 618ed1f5fb don't crash on an empty <Name></Name> tag in a menu
SVN revision: 56394
2011-01-30 03:55:06 +00:00
Sebastian Dransfeld 978741a789 doc
SVN revision: 56326
2011-01-27 17:49:45 +00:00
Sebastian Dransfeld 3997a22f3a Add doc
SVN revision: 56324
2011-01-27 17:43:38 +00:00
Sebastian Dransfeld ceb323a4eb Add doc for param
SVN revision: 56323
2011-01-27 17:43:27 +00:00
Sebastian Dransfeld c4fdbe3a66 fix parameter name
SVN revision: 56322
2011-01-27 17:43:15 +00:00
Sebastian Dransfeld 8141000018 fix variable name typo in doc
SVN revision: 56321
2011-01-27 17:43:01 +00:00
Sebastian Dransfeld 58e0a470cf use convenience macro
SVN revision: 55523
2010-12-12 22:17:05 +00:00
Sebastian Dransfeld 8babc062be delay closing of icon theme cache
SVN revision: 55502
2010-12-11 20:37:17 +00:00
Sebastian Dransfeld 99d014aa20 TODO++
SVN revision: 55468
2010-12-10 20:32:28 +00:00
Sebastian Dransfeld 7c995d2f16 Use right struct for eddc size
SVN revision: 55415
2010-12-09 14:13:31 +00:00
Sebastian Dransfeld a9e8e3c2c4 use cache dir for data lock
SVN revision: 55414
2010-12-09 14:01:34 +00:00
Sebastian Dransfeld ea7834865e revert crazy idea
SVN revision: 55413
2010-12-09 13:41:22 +00:00
Sebastian Dransfeld e88061b9aa Reduce stack usage
For functions often called, don't put unneded mem on stack

SVN revision: 55411
2010-12-09 13:15:43 +00:00
Sebastian Dransfeld 4e9fa3d6f7 if file open, return true
SVN revision: 55407
2010-12-09 12:19:23 +00:00
Sebastian Dransfeld fb77905c83 TODO++
SVN revision: 55406
2010-12-09 12:19:13 +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 84fdf4e0ef don't terminate execs
they finish very quickly, not need to terminate

SVN revision: 55383
2010-12-08 21:39:23 +00:00
Sebastian Dransfeld ed43ae5263 rename struct
prepare for Efreet_Cache_Icon_Theme

SVN revision: 55382
2010-12-08 21:36:54 +00:00
Sebastian Dransfeld 9da725d028 fix cache filenames
move cache to XDG_CACHE_HOME and add hostname for shared homedirs

SVN revision: 55263
2010-12-04 16:02:20 +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
Sebastian Dransfeld d364a70386 rename variables
SVN revision: 55180
2010-12-03 09:55:36 +00:00
Sebastian Dransfeld bd435f19f9 Add data to right edd
SVN revision: 55179
2010-12-03 09:55:23 +00:00
Cedric BAIL 447dc9d9f7 * efreet: fix build.
SVN revision: 55157
2010-12-02 10:47:34 +00:00
Sebastian Dransfeld e9763d92d4 add global version to cache files
SVN revision: 55145
2010-12-02 08:34:07 +00:00
Sebastian Dransfeld 0ccccf1934 use update file for icon cache
SVN revision: 55144
2010-12-02 08:33:57 +00:00
Sebastian Dransfeld fec2ca310f defer cache open
SVN revision: 55143
2010-12-02 08:33:48 +00:00
Sebastian Dransfeld 2ce2d03609 delay opening eet file
SVN revision: 55142
2010-12-02 08:33:38 +00:00
Sebastian Dransfeld 7c6a51ce0a unix file format
SVN revision: 55141
2010-12-02 08:33:28 +00:00
Sebastian Dransfeld 5ad15a52b6 Symbol always defined, always set to 0
SVN revision: 55139
2010-12-02 08:33:09 +00:00
Sebastian Dransfeld 0a3b631073 One func to free edd's
SVN revision: 55138
2010-12-02 08:32:59 +00:00
Sebastian Dransfeld f372387cde Rename extension to .eet to keep consistency
SVN revision: 55137
2010-12-02 08:32:49 +00:00
Sebastian Dransfeld 4615570ec9 Create desktop edd when needed
SVN revision: 55136
2010-12-02 08:32:39 +00:00
Sebastian Dransfeld bbd2b07962 Rename to match icon functions
SVN revision: 55135
2010-12-02 08:32:22 +00:00
Sebastian Dransfeld 256c566009 formatting
SVN revision: 55093
2010-11-30 18:41:21 +00:00
Cedric BAIL 64a612ef38 * efreet: simplify code.
SVN revision: 55071
2010-11-29 18:42:48 +00:00
Cedric BAIL 7db2cb388c * efreet: improve speed of cache regeneration.
SVN revision: 55060
2010-11-29 13:17:33 +00:00
Cedric BAIL 8dceeeee5b efreet: probably fix windows build.
SVN revision: 55040
2010-11-28 10:05:52 +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
Cedric BAIL 65e808c0af * efreet: Eet.h is needed by declaration in efreet_private.h.
SVN revision: 55034
2010-11-27 17:02:18 +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 57c6d1b2e0 fix efreet after the Windows commits
SVN revision: 55026
2010-11-26 20:48:50 +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
Sebastian Dransfeld b9c9af539a Check if dir exists before listening to it
SVN revision: 55008
2010-11-26 10:27:41 +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
Sebastian Dransfeld 58f3f4f363 check if name.internal exists
SVN revision: 54964
2010-11-24 21:31:24 +00:00
Sebastian Dransfeld 748f2423b1 only listen if icon cache is enabled
SVN revision: 54963
2010-11-24 21:29:35 +00:00
Sebastian Dransfeld 04f61e115b we need to monitor each theme dir too
xdg-icon-resource creates and deletes a file called
.xdg-icon-resource-dummy in each dir.

SVN revision: 54962
2010-11-24 21:18:56 +00:00
Sebastian Dransfeld 54ec9cec67 listen to changes for icon dirs
SVN revision: 54957
2010-11-24 21:10:52 +00:00
Sebastian Dransfeld 8f7c47480d use convenience macro
SVN revision: 54954
2010-11-24 20:52:12 +00:00
Sebastian Dransfeld fabda0d559 reorder code
SVN revision: 54953
2010-11-24 20:51:48 +00:00
Sebastian Dransfeld b6a8ffb13d remove unneeded code
SVN revision: 54949
2010-11-24 19:37:01 +00:00
Sebastian Dransfeld 76bf6bc471 And always return
SVN revision: 54931
2010-11-24 11:30:12 +00:00
Sebastian Dransfeld 48471479e8 low prio for cache creation
SVN revision: 54930
2010-11-24 10:44:16 +00:00
Sebastian Dransfeld 7083a3f774 formatting
SVN revision: 54929
2010-11-24 10:33:49 +00:00
Sebastian Dransfeld 1f83aecc41 Always return before error handler
SVN revision: 54928
2010-11-24 10:33:40 +00:00
Sebastian Dransfeld b645d20ab2 fix memleak and use realpath directly
SVN revision: 54927
2010-11-24 10:33:30 +00:00
Sebastian Dransfeld cc981aba4d remove printf
SVN revision: 54926
2010-11-24 09:37:56 +00:00
Sebastian Dransfeld 213be68ade Only update if file has known extension
SVN revision: 54925
2010-11-24 09:37:46 +00:00
Mike Blumenkrantz e8ae0da271 fix compile
SVN revision: 54917
2010-11-24 02:40:54 +00:00
Sebastian Dransfeld 263745797e Listening for changes is private for desktop
SVN revision: 54911
2010-11-23 21:54:01 +00:00
Sebastian Dransfeld 620121501f Don't close active desktop cache
SVN revision: 54910
2010-11-23 21:35:32 +00:00
Sebastian Dransfeld d6cd4ae87d always init cache
SVN revision: 54908
2010-11-23 21:16:19 +00:00
Sebastian Dransfeld f557446b92 NULL pointers after deletion
SVN revision: 54907
2010-11-23 21:15:55 +00:00
Sebastian Dransfeld 3a0be239f9 And compile without ICON_CACHE
SVN revision: 54905
2010-11-23 20:26:50 +00:00
Sebastian Dransfeld e2c6e11724 move cache file handling from desktop to cache
SVN revision: 54901
2010-11-23 20:14:13 +00:00
Sebastian Dransfeld 7e584e6293 ecore is handled in main
SVN revision: 54887
2010-11-23 13:30:51 +00:00
Sebastian Dransfeld 86eb1f3367 TODO++
SVN revision: 54834
2010-11-22 21:31:35 +00:00
Sebastian Dransfeld 2762d8ba37 Always emit icon cache update event
If file starts with icon_ and ends with .cache, we have a new icon
cache, emit event.

SVN revision: 54833
2010-11-22 21:30:43 +00:00
Sebastian Dransfeld 7b68d53abc fix fallback icon searching
SVN revision: 54831
2010-11-22 20:51:34 +00:00
Sebastian Dransfeld 09aed7876d close cache file after 60 seconds of inactivity
SVN revision: 54829
2010-11-22 20:51:05 +00:00
Sebastian Dransfeld bdb6cdffd0 read fallback icon from cache
SVN revision: 54828
2010-11-22 20:50:46 +00:00
Sebastian Dransfeld 5c4adef911 And use right error handler
SVN revision: 54826
2010-11-22 20:50:09 +00:00
Sebastian Dransfeld 997158486a ecore_file is init'ed in base
SVN revision: 54825
2010-11-22 20:49:52 +00:00
Sebastian Dransfeld 12550e7b58 init ecore_file in base
And add missing ecore_*shutdown() in shutdown

SVN revision: 54824
2010-11-22 20:49:22 +00:00
Sebastian Dransfeld 3624014340 Remove common included header
SVN revision: 54823
2010-11-22 20:49:08 +00:00
Sebastian Dransfeld 44264c2d8f Add ecore headers to private header
Used everywhere

SVN revision: 54822
2010-11-22 20:48:55 +00:00
Sebastian Dransfeld 7ad68afff2 Don't add a new public header
SVN revision: 54821
2010-11-22 20:48:41 +00:00
Sebastian Dransfeld d2b2019675 We always need to to the tasks in init on init
SVN revision: 54820
2010-11-22 20:48:24 +00:00
Sebastian Dransfeld 3c6ce92aa4 remove erronous chars
SVN revision: 54819
2010-11-22 20:47:14 +00:00
Sebastian Dransfeld 862412f11d rename
SVN revision: 54789
2010-11-22 14:16:58 +00:00
Sebastian Dransfeld bbf23d8ab2 rename
SVN revision: 54788
2010-11-22 14:16:48 +00:00
Sebastian Dransfeld 64f366ee77 TODO++
SVN revision: 54787
2010-11-22 14:16:38 +00:00
Sebastian Dransfeld 8a9a0bbc15 TODO++
SVN revision: 54786
2010-11-22 14:16:29 +00:00
Sebastian Dransfeld 9941eba9d6 check for NULL
SVN revision: 54785
2010-11-22 14:16:19 +00:00
Sebastian Dransfeld 87baeb631b Execute cache creator and listen for changes
SVN revision: 54784
2010-11-22 14:16:09 +00:00
Sebastian Dransfeld 04d52dcd86 cache update is a generic event
SVN revision: 54783
2010-11-22 14:15:59 +00:00
Sebastian Dransfeld 537f3fd258 include Ecore.h
SVN revision: 54782
2010-11-22 14:15:50 +00:00
Sebastian Dransfeld a16314cd88 init ecore in main init
SVN revision: 54781
2010-11-22 14:15:40 +00:00
Sebastian Dransfeld 93429120f9 If only one path, only check extension
SVN revision: 54780
2010-11-22 14:15:30 +00:00
Carsten Haitzler 1c34083001 lets... use our return value shall we? <- THATS the missing icons bug
i was telling you about!



SVN revision: 54776
2010-11-22 09:47:36 +00:00
Sebastian Dransfeld 027c174f9d Find icons in cache
SVN revision: 54616
2010-11-16 21:50:53 +00:00