Mercurial > geeqie
diff src/cache.c @ 1145:3a7af6a8cd5f
Use functions to return directories instead of constants.
Following functions were added:
get_collections_dir()
get_metadata_cache_dir()
get_rc_dir()
get_thumbnails_cache_dir()
get_trash_dir()
They return the full directory path.
author | zas_ |
---|---|
date | Sat, 15 Nov 2008 17:30:45 +0000 |
parents | 1646720364cf |
children | 95860439070b |
line wrap: on
line diff
--- a/src/cache.c Sat Nov 15 10:35:43 2008 +0000 +++ b/src/cache.c Sat Nov 15 17:30:45 2008 +0000 @@ -623,17 +623,17 @@ switch (type) { case CACHE_TYPE_THUMB: - *cache_rc = GQ_CACHE_RC_THUMB; + *cache_rc = get_thumbnails_cache_dir(); *cache_local = GQ_CACHE_LOCAL_THUMB; *cache_ext = GQ_CACHE_EXT_THUMB; break; case CACHE_TYPE_SIM: - *cache_rc = GQ_CACHE_RC_THUMB; + *cache_rc = get_thumbnails_cache_dir(); *cache_local = GQ_CACHE_LOCAL_THUMB; *cache_ext = GQ_CACHE_EXT_SIM; break; case CACHE_TYPE_METADATA: - *cache_rc = GQ_CACHE_RC_METADATA; + *cache_rc = get_metadata_cache_dir(); *cache_local = GQ_CACHE_LOCAL_METADATA; *cache_ext = GQ_CACHE_EXT_METADATA; break; @@ -669,7 +669,7 @@ if (!path) { - path = g_build_filename(homedir(), cache_rc, base, name, NULL); + path = g_build_filename(cache_rc, base, name, NULL); if (mode) *mode = 0755; } @@ -695,7 +695,7 @@ { gchar *path; gchar *name = g_strconcat(source, cache_ext, NULL); - path = g_build_filename(homedir(), cache_rc, name, NULL); + path = g_build_filename(cache_rc, name, NULL); g_free(name); return path; @@ -794,4 +794,25 @@ return ret; } + +const gchar *get_thumbnails_cache_dir(void) +{ + static gchar *thumbnails_cache_dir = NULL; + + if (thumbnails_cache_dir) return thumbnails_cache_dir; + + thumbnails_cache_dir = g_build_filename(get_rc_dir(), GQ_CACHE_THUMB, NULL); + return thumbnails_cache_dir; +} + +const gchar *get_metadata_cache_dir(void) +{ + static gchar *metadata_cache_dir = NULL; + + if (metadata_cache_dir) return metadata_cache_dir; + + metadata_cache_dir = g_build_filename(get_rc_dir(), GQ_CACHE_METADATA, NULL); + return metadata_cache_dir; +} + /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */