[brasero/gnome-2-28] Revert "Use totem_pl_parser_save() for playlist saving."



commit c8c5935eb5ec735923cb44eddadf3170c808de91
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Jan 26 14:59:59 2010 +0000

    Revert "Use totem_pl_parser_save() for playlist saving."
    
    This reverts commit 1178032a641c4e20eb640b78376596e9a20e9fa4.
    
    Wrong branch

 src/brasero-project-parse.c |   59 +++++++++++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 19 deletions(-)
---
diff --git a/src/brasero-project-parse.c b/src/brasero-project-parse.c
index 9be75c3..ffacf46 100644
--- a/src/brasero-project-parse.c
+++ b/src/brasero-project-parse.c
@@ -1054,6 +1054,21 @@ error:
 
 #ifdef BUILD_PLAYLIST
 
+static void
+brasero_project_save_audio_playlist_entry (GtkTreeModel *model,
+					   GtkTreeIter *iter,
+					   gchar **uri,
+					   gchar **title,
+					   gboolean *custom_title,
+					   gpointer user_data)
+{
+	gtk_tree_model_get (model, iter,
+			    0, uri,
+			    1, title,
+			    2, custom_title,
+			    -1);
+}
+
 gboolean
 brasero_project_save_audio_project_playlist (BraseroBurnSession *session,
 					     const gchar *uri,
@@ -1061,33 +1076,34 @@ brasero_project_save_audio_project_playlist (BraseroBurnSession *session,
 {
 	TotemPlParserType pl_type;
 	TotemPlParser *parser;
-	TotemPlPlaylist *playlist;
-	TotemPlPlaylistIter pl_iter;
+	GtkListStore *model;
+	GtkTreeIter t_iter;
 	gboolean result;
-	GFile *file;
 	GSList *iter;
+	gchar *path;
+
+    	path = g_filename_from_uri (uri, NULL, NULL);
+    	if (!path)
+		return FALSE;
 
-	file = g_file_new_for_uri (uri);
 	parser = totem_pl_parser_new ();
-	playlist = totem_pl_playlist_new ();
 
-	/* populate playlist */
+	/* create and populate treemodel */
+	model = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN);
 	iter = brasero_burn_session_get_tracks (session);
 	for (; iter; iter = iter->next) {
 		BraseroTrackStream *track;
-		const gchar *title;
 		gchar *uri;
 
 		track = iter->data;
 
 		uri = brasero_track_stream_get_source (track, TRUE);
-		title = brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_TITLE_TAG);
-
-		totem_pl_playlist_append (playlist, &pl_iter);
-		totem_pl_playlist_set (playlist, &pl_iter,
-				       TOTEM_PL_PARSER_FIELD_URI, uri,
-				       TOTEM_PL_PARSER_FIELD_TITLE, title,
-				       NULL);
+		gtk_list_store_append (model, &t_iter);
+		gtk_list_store_set (model, &t_iter,
+				    0, uri,
+				    1, brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_TITLE_TAG),
+				    2, TRUE,
+				    -1);
 		g_free (uri);
 	}
 
@@ -1108,13 +1124,18 @@ brasero_project_save_audio_project_playlist (BraseroBurnSession *session,
 			break;
 	}
 
-	result = totem_pl_parser_save (parser, playlist, file,
-				       brasero_burn_session_get_label (session),
-				       type, NULL);
+	result = totem_pl_parser_write_with_title (parser,
+						   GTK_TREE_MODEL (model),
+						   brasero_project_save_audio_playlist_entry,
+						   path,
+						   brasero_burn_session_get_label (session),
+						   pl_type,
+						   NULL,
+						   NULL);
 
-	g_object_unref (playlist);
+	g_object_unref (model);
 	g_object_unref (parser);
-	g_object_unref (file);
+	g_free (path);
 
 	return result;
 }



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