[brasero: 1/8] Allow a project is (auto) saved even if there was an error



commit 75e5340fcaed9a1c66b86d0b6329c73dd9dd8a90
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Thu Aug 6 09:48:27 2009 +0200

    Allow a project is (auto) saved even if there was an error

 src/brasero-project.c |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)
---
diff --git a/src/brasero-project.c b/src/brasero-project.c
index 58ae2c5..539d6c2 100644
--- a/src/brasero-project.c
+++ b/src/brasero-project.c
@@ -929,12 +929,19 @@ brasero_project_is_valid (BraseroSessionCfg *session,
 
 	/* FIXME: update option button state as well */
 
+	/* NOTE: empty error is the first checked error; so if another errors comes up
+	 * that means that file selection is not empty */
+
 	/* Clean any message */
 	brasero_notify_message_remove (BRASERO_NOTIFY (project->priv->message),
 				       BRASERO_NOTIFY_CONTEXT_SIZE);
 
-	if (valid == BRASERO_SESSION_INSUFFICIENT_SPACE) {
+	if (valid == BRASERO_SESSION_EMPTY) {
+		project->priv->empty = TRUE;
+	}
+	else if (valid == BRASERO_SESSION_INSUFFICIENT_SPACE) {
 		project->priv->oversized = TRUE;
+		project->priv->empty = FALSE;
 
 		/* Here there is an alternative: we may be able to span the data
 		 * across multiple media. So try that. */
@@ -967,6 +974,7 @@ brasero_project_is_valid (BraseroSessionCfg *session,
 	else if (valid == BRASERO_SESSION_OVERBURN_NECESSARY) {
 		GtkWidget *message;
 
+		project->priv->empty = FALSE;
 		project->priv->oversized = TRUE;
 		message = brasero_notify_message_add (BRASERO_NOTIFY (project->priv->message),
 						      _("Would you like to burn beyond the disc reported capacity?"),
@@ -986,27 +994,26 @@ brasero_project_is_valid (BraseroSessionCfg *session,
 				  G_CALLBACK (brasero_project_message_response_overburn_cb),
 				  project);
 	}
-	else if (valid == BRASERO_SESSION_EMPTY) {
-		project->priv->empty = TRUE;
-	}
 	else if (valid == BRASERO_SESSION_NO_OUTPUT) {
+		project->priv->empty = FALSE;
 		brasero_notify_message_add (BRASERO_NOTIFY (project->priv->message),
 					    _("Please insert a recordable CD or DVD."),
 					    _("There is no recordable disc inserted."),
 					    -1,
 					    BRASERO_NOTIFY_CONTEXT_SIZE);
 	}
-	else if (valid == BRASERO_SESSION_NO_CD_TEXT) {
+	else if (valid == BRASERO_SESSION_NOT_SUPPORTED) {
+		project->priv->empty = FALSE;
 		brasero_notify_message_add (BRASERO_NOTIFY (project->priv->message),
-					    _("No track information (artist, title, ...) will be written to the disc."),
-					    _("This is not supported by the current active burning backend."),
+					    _("Please replace the disc with a supported CD or DVD."),
+					    _("It is not possible to write with the current set of plugins."),
 					    -1,
 					    BRASERO_NOTIFY_CONTEXT_SIZE);
 	}
-	else if (valid == BRASERO_SESSION_NOT_SUPPORTED) {
+	else if (valid == BRASERO_SESSION_NO_CD_TEXT) {
 		brasero_notify_message_add (BRASERO_NOTIFY (project->priv->message),
-					    _("Please replace the disc with a supported CD or DVD."),
-					    _("It is not possible to write with the current set of plugins."),
+					    _("No track information (artist, title, ...) will be written to the disc."),
+					    _("This is not supported by the current active burning backend."),
 					    -1,
 					    BRASERO_NOTIFY_CONTEXT_SIZE);
 	}



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