[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