[Rawstudio-commit] r2062 - tags/v1.1.1/src

Anders Brander anders at brander.dk
Sun Oct 12 22:09:55 CEST 2008


Author: abrander
Date: 2008-10-12 22:09:55 +0200 (Sun, 12 Oct 2008)
New Revision: 2062

Modified:
   tags/v1.1.1/src/rs-actions.c
   tags/v1.1.1/src/rs-batch.c
   tags/v1.1.1/src/rs-batch.h
   tags/v1.1.1/src/rs-cache.c
   tags/v1.1.1/src/rs-external-editor.c
Log:
Backported fix for bug [221], [222], [223], [227], [230] and a fix for exporting to Gimp v. 2.6+ from trunk revision 2060.

Modified: tags/v1.1.1/src/rs-actions.c
===================================================================
--- tags/v1.1.1/src/rs-actions.c	2008-10-12 19:44:54 UTC (rev 2061)
+++ tags/v1.1.1/src/rs-actions.c	2008-10-12 20:09:55 UTC (rev 2062)
@@ -117,7 +117,7 @@
 	photos_selected = (RS_IS_PHOTO(rs->photo) || (num_selected > 0));
 
 	rs_core_action_group_set_sensivity("AddToBatch", photos_selected);
-	rs_core_action_group_set_sensivity("RemoveFromBatch", photos_selected);
+	rs_core_action_group_set_sensivity("RemoveFromBatch", photos_selected && rs->photo && rs_batch_exists_in_queue(rs->queue, rs->photo->filename, rs->current_setting));
 	rs_core_action_group_set_sensivity("ProcessBatch", (rs_batch_num_entries(rs->queue)>0));
 	g_list_free(selected);
 }
@@ -846,7 +846,7 @@
 	{ "AddToBatch", GTK_STOCK_ADD, _("_Add to batch queue"), "<control>B", NULL, ACTION_CB(add_to_batch) },
 	{ "AddViewToBatch", NULL, _("_Add current view to queue"), NULL, NULL, ACTION_CB(add_view_to_batch) },
 	{ "RemoveFromBatch", GTK_STOCK_REMOVE, _("_Remove from batch queue"), "<control><alt>B", NULL, ACTION_CB(remove_from_batch) },
-	{ "ProcessBatch", GTK_STOCK_CONVERT, _("_Start"), NULL, NULL, ACTION_CB(ProcessBatch) },
+	{ "ProcessBatch", GTK_STOCK_EXECUTE, _("_Start"), NULL, NULL, ACTION_CB(ProcessBatch) },
 
 	/* help menu */
 	{ "About", GTK_STOCK_ABOUT, _("_About"), NULL, NULL, ACTION_CB(about) },

Modified: tags/v1.1.1/src/rs-batch.c
===================================================================
--- tags/v1.1.1/src/rs-batch.c	2008-10-12 19:44:54 UTC (rev 2061)
+++ tags/v1.1.1/src/rs-batch.c	2008-10-12 20:09:55 UTC (rev 2062)
@@ -36,7 +36,6 @@
 
 extern GtkWindow *rawstudio_window;
 
-static gboolean batch_exists_in_queue(RS_QUEUE *queue, const gchar *filename, gint setting_id);
 static GtkWidget *make_batchview(RS_QUEUE *queue);
 static void size_update_infolabel(RS_QUEUE *queue);
 static gchar *batch_queue_filename = NULL;
@@ -202,7 +201,7 @@
 rs_batch_add_to_queue(RS_QUEUE *queue, const gchar *filename, const gint setting_id)
 {
 	gboolean ret = FALSE;
-	if (!batch_exists_in_queue(queue, filename, setting_id))
+	if (!rs_batch_exists_in_queue(queue, filename, setting_id))
 	{
 		gchar *filename_short, *setting_id_abc;
 		RS_FILETYPE *filetype;
@@ -261,7 +260,7 @@
 			}
 			g_object_unref(missing_thumb);
 
-			if (!batch_exists_in_queue(queue, filename, setting_id))
+			if (!rs_batch_exists_in_queue(queue, filename, setting_id))
 			{
 				GtkTreeIter iter;
 
@@ -316,6 +315,10 @@
 				}
 			}
 			g_free(filename_temp);
+
+			/* Break out of the loop if we got a hit */
+			if (ret)
+				break;
 		} while (gtk_tree_model_iter_next(queue->list, &iter));
 	}
 
@@ -326,8 +329,8 @@
 	return ret;
 }
 
-static gboolean
-batch_exists_in_queue(RS_QUEUE *queue, const gchar *filename, gint setting_id)
+gboolean
+rs_batch_exists_in_queue(RS_QUEUE *queue, const gchar *filename, gint setting_id)
 {
 	gboolean ret = FALSE;
 	GtkTreeIter iter;

Modified: tags/v1.1.1/src/rs-batch.h
===================================================================
--- tags/v1.1.1/src/rs-batch.h	2008-10-12 19:44:54 UTC (rev 2061)
+++ tags/v1.1.1/src/rs-batch.h	2008-10-12 20:09:55 UTC (rev 2062)
@@ -62,6 +62,7 @@
 extern RS_QUEUE* rs_batch_new_queue(void);
 extern gboolean rs_batch_add_to_queue(RS_QUEUE *queue, const gchar *filename, const gint setting_id);
 extern gboolean rs_batch_remove_from_queue(RS_QUEUE *queue, const gchar *filename, gint setting_id);
+extern gboolean rs_batch_exists_in_queue(RS_QUEUE *queue, const gchar *filename, gint setting_id);
 extern void rs_batch_process(RS_QUEUE *queue);
 extern GtkWidget *make_batchbox(RS_QUEUE *queue);
 

Modified: tags/v1.1.1/src/rs-cache.c
===================================================================
--- tags/v1.1.1/src/rs-cache.c	2008-10-12 19:44:54 UTC (rev 2061)
+++ tags/v1.1.1/src/rs-cache.c	2008-10-12 20:09:55 UTC (rev 2062)
@@ -333,7 +333,7 @@
 
 	xmlFreeDoc(doc);
 	g_free(cachename);
-	return(TRUE);
+	return mask;
 }
 
 void

Modified: tags/v1.1.1/src/rs-external-editor.c
===================================================================
--- tags/v1.1.1/src/rs-external-editor.c	2008-10-12 19:44:54 UTC (rev 2061)
+++ tags/v1.1.1/src/rs-external-editor.c	2008-10-12 20:09:55 UTC (rev 2062)
@@ -62,6 +62,11 @@
 		system("gimp &");
 		gint i = 0;
 
+		// FIXME: We need to sleep a bit with GIMP 2.6 as it doesn't wait until it has opened the photo before it replies...
+		if (rs_has_gimp(2,6,0)) {
+			sleep(5);
+		}
+
 		while (!reply && i < EXPORT_TO_GIMP_TIMEOUT_SECONDS ) {
 			sleep(1);
 			reply = dbus_connection_send_with_reply_and_block (bus, message, -1, NULL);
@@ -71,6 +76,11 @@
 
 	dbus_message_unref (message);
 
+	// FIXME: We still need to sleep a bit because of GIMP 2.6...
+	if (rs_has_gimp(2,6,0)) {
+		sleep(2);
+	}
+
 	g_unlink(filename->str);
 	g_string_free(filename, TRUE);
 




More information about the Rawstudio-commit mailing list