All pastes #32362 Raw Edit

Untitled

public text v1 · immutable
#32362 ·published 2005-12-04 14:56 UTC
rendered paste body
Index: gedit-commands-file.c
===================================================================
RCS file: /cvs/gnome/gedit/gedit/Attic/gedit-commands-file.c,v
retrieving revision 1.1.2.11
diff -u -p -r1.1.2.11 gedit-commands-file.c
--- gedit-commands-file.c	4 Dec 2005 14:20:33 -0000	1.1.2.11
+++ gedit-commands-file.c	4 Dec 2005 14:55:48 -0000
@@ -845,33 +845,28 @@ gedit_cmd_file_save_as (GtkAction   *act
 }
 
 void
-gedit_cmd_file_save_all (GtkAction   *action,
-			 GeditWindow *window)
+_gedit_cmd_file_save_documents_list (GeditWindow *window,
+				     GList       *docs)
 {
-	GList *tabs;
 	GList *l;
-	GSList *tabs_to_save_as;
+	GSList *tabs_to_save_as = NULL;
 
 	gedit_debug (DEBUG_COMMANDS);
 
 	g_return_if_fail (!(gedit_window_get_state (window) & GEDIT_WINDOW_STATE_PRINTING));
 
-	tabs = gtk_container_get_children (
-			GTK_CONTAINER (_gedit_window_get_notebook (window)));
-
-	tabs_to_save_as = NULL;
-
-	l = tabs;
+	l = docs;
 	while (l != NULL)
 	{
+		GeditDocument *doc;
 		GeditTab *t;
 		GeditTabState state;
-		GeditDocument *doc;
-
-		t = GEDIT_TAB (l->data);
 
+		g_return_if_fail (GEDIT_IS_DOCUMENT (l->data));
+ 
+		doc = GEDIT_DOCUMENT (l->data);
+		t = gedit_tab_get_from_document (doc);
 		state = gedit_tab_get_state (t);
-		doc = gedit_tab_get_document (t);
 
 		g_return_if_fail (state != GEDIT_TAB_STATE_PRINTING);
 		g_return_if_fail (state != GEDIT_TAB_STATE_PRINT_PREVIEWING);
@@ -928,8 +923,6 @@ gedit_cmd_file_save_all (GtkAction   *ac
 		l = g_list_next (l);
 	}
 
-	g_list_free (tabs);
-
 	if (tabs_to_save_as != NULL)
 	{
 		GeditTab *tab;
@@ -948,6 +941,21 @@ gedit_cmd_file_save_all (GtkAction   *ac
 		gedit_window_set_active_tab (window, tab);
 		file_save_as (tab, window);
 	}
+}
+
+void
+gedit_cmd_file_save_all (GtkAction   *action,
+			 GeditWindow *window)
+{
+	GList *docs;
+
+	gedit_debug (DEBUG_COMMANDS);
+
+	docs = gedit_window_get_documents (window);
+
+	_gedit_cmd_file_save_documents_list (window, docs);
+
+	g_list_free (docs);
 }
 
 /* File revert */
Index: gedit-commands.h
===================================================================
RCS file: /cvs/gnome/gedit/gedit/gedit-commands.h,v
retrieving revision 1.10.10.7
diff -u -p -r1.10.10.7 gedit-commands.h
--- gedit-commands.h	12 May 2005 10:43:26 -0000	1.10.10.7
+++ gedit-commands.h	4 Dec 2005 14:55:48 -0000
@@ -128,6 +128,9 @@ void		gedit_cmd_help_about			(GtkAction 
 gboolean	_gedit_cmd_file_can_close 		(GeditTab  *tab,
 							 GtkWindow *window);
 
+void		_gedit_cmd_file_save_documents_list	(GeditWindow *window,
+							 GList       *docs);
+
 G_END_DECLS
 
 #endif /* __GEDIT_COMMANDS_H__ */