[Rawstudio-commit] r2031 - trunk/src
Anders Brander
anders at brander.dk
Mon Sep 29 01:09:45 CEST 2008
Author: abrander
Date: 2008-09-29 01:09:45 +0200 (Mon, 29 Sep 2008)
New Revision: 2031
Modified:
trunk/src/rawstudio.c
trunk/src/rawstudio.h
trunk/src/rs-actions.c
trunk/src/rs-metadata.c
trunk/src/rs-metadata.h
Log:
Replaced rs_thumb_get_name() with rs_metadata_delete_cache().
Modified: trunk/src/rawstudio.c
===================================================================
--- trunk/src/rawstudio.c 2008-09-28 22:57:40 UTC (rev 2030)
+++ trunk/src/rawstudio.c 2008-09-28 23:09:45 UTC (rev 2031)
@@ -588,28 +588,6 @@
return (ret);
}
-gchar *
-rs_thumb_get_name(const gchar *src)
-{
- gchar *ret=NULL;
- gchar *dotdir, *filename;
- GString *out;
- dotdir = rs_dotdir_get(src);
- filename = g_path_get_basename(src);
- if (dotdir)
- {
- out = g_string_new(dotdir);
- out = g_string_append(out, G_DIR_SEPARATOR_S);
- out = g_string_append(out, filename);
- out = g_string_append(out, ".thumb.png");
- ret = out->str;
- g_string_free(out, FALSE);
- g_free(dotdir);
- }
- g_free(filename);
- return(ret);
-}
-
void
rs_gdk_load_meta(const gchar *src, RSMetadata *metadata)
{
Modified: trunk/src/rawstudio.h
===================================================================
--- trunk/src/rawstudio.h 2008-09-28 22:57:40 UTC (rev 2030)
+++ trunk/src/rawstudio.h 2008-09-28 23:09:45 UTC (rev 2031)
@@ -282,7 +282,6 @@
void rs_set_photo(RS_BLOB *rs, RS_PHOTO *photo);
void rs_set_snapshot(RS_BLOB *rs, gint snapshot);
gchar *rs_dotdir_get(const gchar *filename);
-gchar *rs_thumb_get_name(const gchar *src);
void rs_white_black_point(RS_BLOB *rs);
void rs_render_pixel_to_srgb(RS_BLOB *rs, gint x, gint y, guchar *dest);
void rs_apply_settings_from_double(RS_SETTINGS *rss, RS_SETTINGS_DOUBLE *rsd, gint mask);
Modified: trunk/src/rs-actions.c
===================================================================
--- trunk/src/rs-actions.c 2008-09-28 22:57:40 UTC (rev 2030)
+++ trunk/src/rs-actions.c 2008-09-28 23:09:45 UTC (rev 2031)
@@ -37,6 +37,7 @@
#include "rs-cache.h"
#include "rs-preview-widget.h"
#include "rs-batch.h"
+#include "rs-metadata.h"
static GtkActionGroup *core_action_group = NULL;
GStaticMutex rs_actions_spinlock = G_STATIC_MUTEX_INIT;
@@ -251,7 +252,7 @@
ACTION(delete_flagged)
{
- gchar *thumb, *cache;
+ gchar *cache;
GtkWidget *dialog;
GList *photos_d = NULL;
gint items = 0, i;
@@ -284,11 +285,7 @@
if(0 == g_unlink(fullname))
{
- if ((thumb = rs_thumb_get_name(fullname)))
- {
- g_unlink(thumb);
- g_free(thumb);
- }
+ rs_metadata_delete_cache(fullname);
if ((cache = rs_cache_get_name(fullname)))
{
g_unlink(cache);
Modified: trunk/src/rs-metadata.c
===================================================================
--- trunk/src/rs-metadata.c 2008-09-28 22:57:40 UTC (rev 2030)
+++ trunk/src/rs-metadata.c 2008-09-28 23:09:45 UTC (rev 2031)
@@ -17,6 +17,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include <glib/gstdio.h> /* g_unlink() */
#include <config.h>
#include <libxml/encoding.h>
#include <libxml/xmlwriter.h>
@@ -426,3 +427,37 @@
return metadata->thumbnail;
}
+
+/**
+ * Deletes the on-disk cache (if any) for a photo
+ * @param filename The full path to the photo - not the cache itself
+ */
+void
+rs_metadata_delete_cache(const gchar *filename)
+{
+ gchar *basename;
+ gchar *dotdir = rs_dotdir_get(filename);
+ gchar *cache_filename;
+ gchar *thumb_filename;
+
+ if (!dotdir)
+ return;
+
+ g_assert(filename);
+
+ basename = g_path_get_basename(filename);
+
+ /* Delete the metadata cache itself */
+ cache_filename = g_strdup_printf("%s/%s.metacache.xml", dotdir, basename);
+ g_unlink(cache_filename);
+ g_free(cache_filename);
+
+ /* Delete the thumbnail */
+ thumb_filename = g_strdup_printf("%s/%s.thumb.png", dotdir, basename);
+ g_unlink(thumb_filename);
+ g_free(thumb_filename);
+
+ /* Clean up please */
+ g_free(dotdir);
+ g_free(basename);
+}
Modified: trunk/src/rs-metadata.h
===================================================================
--- trunk/src/rs-metadata.h 2008-09-28 22:57:40 UTC (rev 2030)
+++ trunk/src/rs-metadata.h 2008-09-28 23:09:45 UTC (rev 2031)
@@ -46,6 +46,12 @@
extern gchar *rs_metadata_get_short_description(RSMetadata *metadata);
extern GdkPixbuf *rs_metadata_get_thumbnail(RSMetadata *metadata);
+/**
+ * Deletes the on-disk cache (if any) for a photo
+ * @param filename The filename of the PHOTO - not the cache itself
+ */
+extern void rs_metadata_delete_cache(const gchar *filename);
+
G_END_DECLS
#endif /* RS_METADATA_H */
More information about the Rawstudio-commit
mailing list