sound-juicer r2253 - in trunk: . data src



Author: rburton
Date: Mon Aug 18 07:45:40 2008
New Revision: 2253
URL: http://svn.gnome.org/viewvc/sound-juicer?rev=2253&view=rev

Log:
2008-08-18  Ross Burton  <ross burtonini com>

	* src/sj-extracting.c:
	Don't eject the CD unless some tracks were successfully ripped.

	* data/sound-juicer.glade:
	Small string clarification.

	#530110, Matthew Martin.


Modified:
   trunk/ChangeLog
   trunk/data/sound-juicer.glade
   trunk/src/sj-extracting.c

Modified: trunk/data/sound-juicer.glade
==============================================================================
--- trunk/data/sound-juicer.glade	(original)
+++ trunk/data/sound-juicer.glade	Mon Aug 18 07:45:40 2008
@@ -787,7 +787,7 @@
                           <widget class="GtkCheckButton" id="check_eject">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">_Eject when finished</property>
+                            <property name="label" translatable="yes">_Eject after extracting tracks</property>
                             <property name="use_underline">True</property>
                             <property name="response_id">0</property>
                             <property name="draw_indicator">True</property>

Modified: trunk/src/sj-extracting.c
==============================================================================
--- trunk/src/sj-extracting.c	(original)
+++ trunk/src/sj-extracting.c	Mon Aug 18 07:45:40 2008
@@ -69,6 +69,9 @@
 /** If this module has been initialised yet. */
 static gboolean initialised = FALSE;
 
+/** If a track has been successfully extracted */
+static gboolean successful_extract = FALSE;
+
 /** The progress bar and Status bar */
 static GtkWidget *progress_bar, *status_bar;
 
@@ -421,6 +424,7 @@
     /* Skip existing files if "skip all" is selected. */
     if ((file_size == -1) ||
         ((file_size > MIN_FILE_SIZE) && (*overwrite_mode == SKIP_ALL))) {
+      successful_extract = FALSE;
       on_completion_cb (NULL, overwrite_mode);
       return;
     }
@@ -429,6 +433,7 @@
     if ((file_size > MIN_FILE_SIZE) &&
         (*overwrite_mode != OVERWRITE_ALL) &&
         (confirm_overwrite_existing_file (file, overwrite_mode, file_size) == FALSE)) {
+      successful_extract = FALSE;
       on_completion_cb (NULL, overwrite_mode);
       return;
     }
@@ -453,9 +458,11 @@
     sj_extractor_extract_track (extractor, track, temp_file, &error);
     if (error) {
       goto error;
-    }
+    } else
+        successful_extract = TRUE;       
     goto local_cleanup;
 error:
+    successful_extract = FALSE;
     on_error_cb (NULL, error, NULL);
     g_error_free (error);
 local_cleanup:
@@ -589,7 +596,7 @@
   gtk_window_set_urgency_hint (GTK_WINDOW (main_window), TRUE);
 
   /* Maybe eject */
-  if (eject_finished) {
+  if (eject_finished && successful_extract) {
     nautilus_burn_drive_eject (drive);
   }
   



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]