rendered paste bodyIndex: 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__ */