diff src/utilops.c @ 849:db68d673448f

added possibility to disable grouping of selected files
author nadvornik
date Sun, 22 Jun 2008 09:19:42 +0000
parents a25b228978a0
children 0c3f6ef17d18
line wrap: on
line diff
--- a/src/utilops.c	Sat Jun 21 22:01:45 2008 +0000
+++ b/src/utilops.c	Sun Jun 22 09:19:42 2008 +0000
@@ -1187,6 +1187,20 @@
 	file_util_warning_dialog(title, _("Another operation in progress.\n"), GTK_STOCK_DIALOG_ERROR, NULL);
 }
 
+static void file_util_disable_grouping_sc_list(GList *list)
+{
+	GList *work = list;
+	
+	while(work)
+		{
+		FileData *fd = work->data;
+		work = work->next;
+		
+		if (fd->parent) file_data_disable_grouping(fd, TRUE);
+		}
+		
+}
+
 static void file_util_delete_full(FileData *source_fd, GList *source_list, GtkWidget *parent, UtilityPhase phase)
 {
 	UtilityData *ud;
@@ -1195,6 +1209,8 @@
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
+	file_util_disable_grouping_sc_list(flist);
+	
 	if (!file_data_sc_add_ci_delete_list(flist))
 		{
 		file_util_warn_op_in_progress(_("File deletion failed"));
@@ -1229,6 +1245,8 @@
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
+	file_util_disable_grouping_sc_list(flist);
+
 	if (!file_data_sc_add_ci_move_list(flist, dest_path))
 		{
 		file_util_warn_op_in_progress(_("Move failed"));
@@ -1264,6 +1282,8 @@
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
+	file_util_disable_grouping_sc_list(flist);
+
 	if (!file_data_sc_add_ci_copy_list(flist, dest_path))
 		{
 		file_util_warn_op_in_progress(_("Copy failed"));
@@ -1300,6 +1320,8 @@
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
+	file_util_disable_grouping_sc_list(flist);
+
 	if (!file_data_sc_add_ci_rename_list(flist, dest_path))
 		{
 		file_util_warn_op_in_progress(_("Rename failed"));
@@ -1334,6 +1356,8 @@
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
+	file_util_disable_grouping_sc_list(flist);
+
 	if (!file_data_sc_add_ci_unspecified_list(flist, dest_path))
 		{
 		file_util_warn_op_in_progress(_("Can't run external editor"));