brasero r1258 - in trunk: . src src/plugins/libburnia



Author: philippr
Date: Mon Sep  8 18:14:10 2008
New Revision: 1258
URL: http://svn.gnome.org/viewvc/brasero?rev=1258&view=rev

Log:
	Miscellaneous improvements and cleanups

	* src/brasero-dest-selection.c
	(brasero_dest_selection_add_drive_properties_flags):
	* src/burn-caps.c (brasero_burn_caps_get_flags):
	* src/plugins/libburnia/burn-libisofs.c
	(brasero_libisofs_export_caps):


Modified:
   trunk/ChangeLog
   trunk/src/brasero-dest-selection.c
   trunk/src/burn-caps.c
   trunk/src/plugins/libburnia/burn-libisofs.c

Modified: trunk/src/brasero-dest-selection.c
==============================================================================
--- trunk/src/brasero-dest-selection.c	(original)
+++ trunk/src/brasero-dest-selection.c	Mon Sep  8 18:14:10 2008
@@ -767,72 +767,34 @@
 						   BraseroBurnFlag *supported_retval,
 						   BraseroBurnFlag *compulsory_retval)
 {
+	BraseroBurnFlag flag;
 	BraseroDestSelectionPrivate *priv;
 	BraseroBurnFlag supported = BRASERO_BURN_FLAG_NONE;
 	BraseroBurnFlag compulsory = BRASERO_BURN_FLAG_NONE;
 
 	priv = BRASERO_DEST_SELECTION_PRIVATE (self);
 
-	/* wipe out previous flags */
-	brasero_burn_session_remove_flag (priv->session,
-					  BRASERO_DRIVE_PROPERTIES_FLAGS|
-					  BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE|
-					  BRASERO_BURN_FLAG_FAST_BLANK|
-					  BRASERO_BURN_FLAG_DAO);
+	/* add flags then wipe out flags from session to check them one by one */
+	flags |= brasero_burn_session_get_flags (priv->session);
+	brasero_burn_session_remove_flag (priv->session, flags);
 
-	/* check each flag before re-adding it */
 	brasero_burn_caps_get_flags (priv->caps,
 				     priv->session,
 				     &supported,
 				     &compulsory);
 
-	if ((flags & BRASERO_BURN_FLAG_EJECT)
-	&&  (supported & BRASERO_BURN_FLAG_EJECT)) {
-		brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_EJECT);
-		brasero_burn_caps_get_flags (priv->caps,
-					     priv->session,
-					     &supported,
-					     &compulsory);
-	}
-
-	if ((flags & BRASERO_BURN_FLAG_BURNPROOF)
-	&&  (supported & BRASERO_BURN_FLAG_BURNPROOF)) {
-		brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_BURNPROOF);
-		brasero_burn_caps_get_flags (priv->caps,
-					     priv->session,
-					     &supported,
-					     &compulsory);
-	}
-
-	if ((flags & BRASERO_BURN_FLAG_NO_TMP_FILES)
-	&&  (supported & BRASERO_BURN_FLAG_NO_TMP_FILES)) {
-		brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_NO_TMP_FILES);
-		brasero_burn_caps_get_flags (priv->caps,
-					     priv->session,
-					     &supported,
-					     &compulsory);
-	}
-
-	if ((flags & BRASERO_BURN_FLAG_DUMMY)
-	&&  (supported & BRASERO_BURN_FLAG_DUMMY)) {
-		brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_DUMMY);
-		brasero_burn_caps_get_flags (priv->caps,
-					     priv->session,
-					     &supported,
-					     &compulsory);
-	}
-
-	/* check additional flags */
-	if (supported & BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE) {
-		/* clean up the disc and have more space when possible */
-		brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE);
-		brasero_burn_caps_get_flags (priv->caps,
-					     priv->session,
-					     &supported,
-					     &compulsory);
-
-		if (supported & BRASERO_BURN_FLAG_FAST_BLANK) {
-			brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_FAST_BLANK);
+	for (flag = 1; flag < BRASERO_BURN_FLAG_LAST; flag <<= 1) {
+		/* see if this flag was originally set */
+		if (!(flags & flag))
+			continue;
+
+		if (compulsory)
+			brasero_burn_session_add_flag (priv->session, compulsory);
+
+		if (supported & flag) {
+			brasero_burn_session_add_flag (priv->session, flag);
+			supported = BRASERO_BURN_FLAG_NONE;
+			compulsory = BRASERO_BURN_FLAG_NONE;
 			brasero_burn_caps_get_flags (priv->caps,
 						     priv->session,
 						     &supported,
@@ -840,6 +802,10 @@
 		}
 	}
 
+	flags = brasero_burn_session_get_flags (priv->session);
+	if (flags != (flags | compulsory))
+		brasero_burn_session_add_flag (priv->session, compulsory);
+
 	/* use DAO whenever it's possible */
 	if (supported & BRASERO_BURN_FLAG_DAO) {
 		brasero_burn_session_add_flag (priv->session, BRASERO_BURN_FLAG_DAO);
@@ -848,7 +814,6 @@
 					     &supported,
 					     &compulsory);
 	}
-	brasero_burn_session_add_flag (priv->session, compulsory);
 
 	if (supported_retval)
 		*supported_retval = supported;

Modified: trunk/src/burn-caps.c
==============================================================================
--- trunk/src/burn-caps.c	(original)
+++ trunk/src/burn-caps.c	Mon Sep  8 18:14:10 2008
@@ -2240,7 +2240,7 @@
 				retval |= BRASERO_PLUGIN_IO_ACCEPT_PIPE;
 			else
 				retval |= caps->flags;
-		
+
 			(*compulsory) &= rec_compulsory;
 			(*supported) |= data_supported|rec_supported;
 			continue;
@@ -2455,8 +2455,6 @@
 			   BRASERO_MEDIUM_HAS_DATA|
 			   BRASERO_MEDIUM_HAS_AUDIO);
 		media |= BRASERO_MEDIUM_BLANK;
-		session_flags &= ~BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE;
-
 		result = brasero_caps_get_flags_for_disc (session_flags,
 							  media,
 							  &input,

Modified: trunk/src/plugins/libburnia/burn-libisofs.c
==============================================================================
--- trunk/src/plugins/libburnia/burn-libisofs.c	(original)
+++ trunk/src/plugins/libburnia/burn-libisofs.c	Mon Sep  8 18:14:10 2008
@@ -902,7 +902,6 @@
 			       "Philippe Rouquier",
 			       0);
 
-	/* NOTE: we don't include DVDRW+ DVDRW- restricted in here */
 	brasero_plugin_set_flags (plugin,
 				  BRASERO_MEDIUM_CDR|
 				  BRASERO_MEDIUM_CDRW|
@@ -923,6 +922,7 @@
 				  BRASERO_MEDIUM_APPENDABLE|
 				  BRASERO_MEDIUM_CLOSED|
 				  BRASERO_MEDIUM_HAS_DATA,
+				  BRASERO_BURN_FLAG_APPEND|
 				  BRASERO_BURN_FLAG_MERGE,
 				  BRASERO_BURN_FLAG_NONE);
 



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