diff -crB nautilus-2.32.2.1_orig/libnautilus-private/apps_nautilus_preferences.schemas.in nautilus-2.32.2.1/libnautilus-private/apps_nautilus_preferences.schemas.in
*** nautilus-2.32.2.1_orig/libnautilus-private/apps_nautilus_preferences.schemas.in	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/libnautilus-private/apps_nautilus_preferences.schemas.in	2011-03-14 13:11:49.582960262 +0000
***************
*** 231,238 ****
      </schema>
  
      <schema>
!       <key>/schemas/apps/nautilus/preferences/confirm_trash</key>
!       <applyto>/apps/nautilus/preferences/confirm_trash</applyto>
        <owner>nautilus</owner>
        <type>bool</type>
        <default>true</default>
--- 231,238 ----
      </schema>
  
      <schema>
!       <key>/schemas/apps/nautilus/preferences/confirm_delete</key>
!       <applyto>/apps/nautilus/preferences/confirm_delete</applyto>
        <owner>nautilus</owner>
        <type>bool</type>
        <default>true</default>
***************
*** 240,246 ****
           <short>Whether to ask for confirmation when deleting files, or emptying Trash</short>
           <long>
             If set to true, then Nautilus will ask for confirmation when 
!            you attempt to delete files, or empty the Trash.
           </long>
        </locale>
      </schema>
--- 240,262 ----
           <short>Whether to ask for confirmation when deleting files, or emptying Trash</short>
           <long>
             If set to true, then Nautilus will ask for confirmation when 
!            you attempt to delete files, or empty the Trash. No confirmation will be asked
!            for moving files to Trash bin.
!          </long>
!       </locale>
!     </schema>
! 
!     <schema>
!       <key>/schemas/apps/nautilus/preferences/confirm_movetotrash</key>
!       <applyto>/apps/nautilus/preferences/confirm_movetotrash</applyto>
!       <owner>nautilus</owner>
!       <type>bool</type>
!       <default>false</default>
!       <locale name="C">
!          <short>Whether to ask for confirmation when moving files to the Trash bin</short>
!          <long>
!            If set to true, then Nautilus will ask for confirmation when 
!            you attempt to move items to the Trash bin.
           </long>
        </locale>
      </schema>
diff -crB nautilus-2.32.2.1_orig/libnautilus-private/nautilus-file-operations.c nautilus-2.32.2.1/libnautilus-private/nautilus-file-operations.c
*** nautilus-2.32.2.1_orig/libnautilus-private/nautilus-file-operations.c	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/libnautilus-private/nautilus-file-operations.c	2011-03-14 13:11:49.582960262 +0000
***************
*** 68,74 ****
  #include "nautilus-file-utilities.h"
  #include "nautilus-file-conflict-dialog.h"
  
! static gboolean confirm_trash_auto_value;
  
  /* TODO: TESTING!!! */
  
--- 68,75 ----
  #include "nautilus-file-utilities.h"
  #include "nautilus-file-conflict-dialog.h"
  
! static gboolean confirm_delete_auto_value;
! static gboolean confirm_movetotrash_auto_value;
  
  /* TODO: TESTING!!! */
  
***************
*** 1012,1019 ****
  	static gboolean setup_autos = FALSE;
  	if (!setup_autos) {
  		setup_autos = TRUE;
! 		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_CONFIRM_TRASH,
! 						  &confirm_trash_auto_value);
  	}
  }
  
--- 1013,1023 ----
  	static gboolean setup_autos = FALSE;
  	if (!setup_autos) {
  		setup_autos = TRUE;
! 		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_CONFIRM_DELETE,
! 						  &confirm_delete_auto_value);
! 		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH,
! 						  &confirm_movetotrash_auto_value);
! 
  	}
  }
  
***************
*** 1288,1294 ****
  	int response;
  
  	/* Just Say Yes if the preference says not to confirm. */
! 	if (!confirm_trash_auto_value) {
  		return TRUE;
  	}
  
--- 1292,1298 ----
  	int response;
  
  	/* Just Say Yes if the preference says not to confirm. */
! 	if (!confirm_delete_auto_value) {
  		return TRUE;
  	}
  
***************
*** 1319,1331 ****
  }
  
  static gboolean
  confirm_empty_trash (CommonJob *job)
  {
  	char *prompt;
  	int response;
  
  	/* Just Say Yes if the preference says not to confirm. */
! 	if (!confirm_trash_auto_value) {
  		return TRUE;
  	}
  
--- 1323,1374 ----
  }
  
  static gboolean
+ confirm_trash (CommonJob *job,
+ 	       GList *files)
+ {
+ 	char *prompt;
+ 	int file_count;
+ 	int response;
+ 
+ 	/* Just Say Yes if the preference says not to confirm. */
+ 	if (!confirm_movetotrash_auto_value) {
+ 		return TRUE;
+ 	}
+ 
+ 	file_count = g_list_length (files);
+ 	g_assert (file_count > 0);
+ 	
+ 	if (file_count == 1) {
+ 		prompt = f (_("Are you sure you want to trash \"%B\"?"),
+ 			    files->data);
+ 	} else {
+ 		prompt = f (ngettext("Are you sure you want to trash "
+ 				     "the %'d selected item?",
+ 				     "Are you sure you want to trash "
+ 				     "the %'d selected items?",
+ 				     file_count), 
+ 			    file_count);
+ 	}
+ 
+ 	response = run_warning (job,
+ 				prompt,
+ 				NULL,
+ 				NULL,
+ 				FALSE,
+ 				GTK_STOCK_CANCEL, GTK_STOCK_DELETE,
+ 				NULL);
+ 	
+ 	return (response == 1);
+ }
+ 
+ static gboolean
  confirm_empty_trash (CommonJob *job)
  {
  	char *prompt;
  	int response;
  
  	/* Just Say Yes if the preference says not to confirm. */
! 	if (!confirm_delete_auto_value) {
  		return TRUE;
  	}
  
***************
*** 1351,1357 ****
  	int response;
  
  	/* Just Say Yes if the preference says not to confirm. */
! 	if (!confirm_trash_auto_value) {
  		return TRUE;
  	}
  
--- 1394,1400 ----
  	int response;
  
  	/* Just Say Yes if the preference says not to confirm. */
! 	if (!confirm_delete_auto_value) {
  		return TRUE;
  	}
  
***************
*** 1862,1867 ****
--- 1905,1911 ----
  	GFile *file;
  	gboolean confirmed;
  	CommonJob *common;
+ 	gboolean must_confirm_trash;
  	gboolean must_confirm_delete_in_trash;
  	gboolean must_confirm_delete;
  	int files_skipped;
***************
*** 1874,1879 ****
--- 1918,1924 ----
  	to_trash_files = NULL;
  	to_delete_files = NULL;
  
+ 	must_confirm_trash = FALSE;
  	must_confirm_delete_in_trash = FALSE;
  	must_confirm_delete = FALSE;
  	files_skipped = 0;
***************
*** 1889,1894 ****
--- 1934,1940 ----
  			to_delete_files = g_list_prepend (to_delete_files, file);
  		} else {
  			if (job->try_trash) {
+ 				must_confirm_trash = TRUE;
  				to_trash_files = g_list_prepend (to_trash_files, file);
  			} else {
  				must_confirm_delete = TRUE;
***************
*** 1914,1921 ****
  	
  	if (to_trash_files != NULL) {
  		to_trash_files = g_list_reverse (to_trash_files);
! 		
! 		trash_files (common, to_trash_files, &files_skipped);
  	}
  	
  	g_list_free (to_trash_files);
--- 1960,1974 ----
  	
  	if (to_trash_files != NULL) {
  		to_trash_files = g_list_reverse (to_trash_files);
! 		confirmed = TRUE;
! 		if(must_confirm_trash) {
! 			confirmed = confirm_trash (common, to_trash_files);
! 		}
! 		if (confirmed) {
! 			trash_files (common, to_trash_files, &files_skipped);
! 		} else {
! 			job->user_cancel = TRUE;
! 		}
  	}
  	
  	g_list_free (to_trash_files);
Only in nautilus-2.32.2.1/libnautilus-private: nautilus-file-operations.c.orig
diff -crB nautilus-2.32.2.1_orig/libnautilus-private/nautilus-global-preferences.c nautilus-2.32.2.1/libnautilus-private/nautilus-global-preferences.c
*** nautilus-2.32.2.1_orig/libnautilus-private/nautilus-global-preferences.c	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/libnautilus-private/nautilus-global-preferences.c	2011-03-14 13:11:49.586294154 +0000
***************
*** 248,254 ****
  	  PREFERENCE_BOOLEAN,
  	  GINT_TO_POINTER (FALSE)
  	},
! 	{ NAUTILUS_PREFERENCES_CONFIRM_TRASH,
  	  PREFERENCE_BOOLEAN,
  	  GINT_TO_POINTER (TRUE)
  	},
--- 248,258 ----
  	  PREFERENCE_BOOLEAN,
  	  GINT_TO_POINTER (FALSE)
  	},
! 	{ NAUTILUS_PREFERENCES_CONFIRM_DELETE,
! 	  PREFERENCE_BOOLEAN,
! 	  GINT_TO_POINTER (TRUE)
! 	},
! 	{ NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH,
  	  PREFERENCE_BOOLEAN,
  	  GINT_TO_POINTER (TRUE)
  	},
diff -crB nautilus-2.32.2.1_orig/libnautilus-private/nautilus-global-preferences.h nautilus-2.32.2.1/libnautilus-private/nautilus-global-preferences.h
*** nautilus-2.32.2.1_orig/libnautilus-private/nautilus-global-preferences.h	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/libnautilus-private/nautilus-global-preferences.h	2011-03-14 13:11:49.586294154 +0000
***************
*** 60,66 ****
  #define NAUTILUS_PREFERENCES_MEDIA_AUTORUN_X_CONTENT_OPEN_FOLDER "preferences/media_autorun_x_content_open_folder"
  
  /* Trash options */
! #define NAUTILUS_PREFERENCES_CONFIRM_TRASH			"preferences/confirm_trash"
  #define NAUTILUS_PREFERENCES_ENABLE_DELETE			"preferences/enable_delete"
  
  /* Desktop options */
--- 60,67 ----
  #define NAUTILUS_PREFERENCES_MEDIA_AUTORUN_X_CONTENT_OPEN_FOLDER "preferences/media_autorun_x_content_open_folder"
  
  /* Trash options */
! #define NAUTILUS_PREFERENCES_CONFIRM_DELETE			"preferences/confirm_delete"
! #define NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH	"preferences/confirm_movetotrash"
  #define NAUTILUS_PREFERENCES_ENABLE_DELETE			"preferences/enable_delete"
  
  /* Desktop options */
Only in nautilus-2.32.2.1/libnautilus-private: nautilus-global-preferences.h.orig
diff -crB nautilus-2.32.2.1_orig/src/file-manager/fm-directory-view.c nautilus-2.32.2.1/src/file-manager/fm-directory-view.c
*** nautilus-2.32.2.1_orig/src/file-manager/fm-directory-view.c	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/src/file-manager/fm-directory-view.c	2011-03-14 13:11:49.589628046 +0000
***************
*** 152,158 ****
  static GdkAtom copied_files_atom;
  
  static gboolean show_delete_command_auto_value;
! static gboolean confirm_trash_auto_value;
  
  static char *scripts_directory_uri;
  static int scripts_directory_uri_length;
--- 152,159 ----
  static GdkAtom copied_files_atom;
  
  static gboolean show_delete_command_auto_value;
! static gboolean confirm_delete_auto_value;
! static gboolean confirm_movetotrash_auto_value;
  
  static char *scripts_directory_uri;
  static int scripts_directory_uri_length;
***************
*** 1930,1937 ****
  
  	if (!setup_autos) {
  		setup_autos = TRUE;
! 		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_CONFIRM_TRASH,
! 						  &confirm_trash_auto_value);
  		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_ENABLE_DELETE,
  						  &show_delete_command_auto_value);
  	}
--- 1931,1940 ----
  
  	if (!setup_autos) {
  		setup_autos = TRUE;
! 		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_CONFIRM_DELETE,
! 						  &confirm_delete_auto_value);
! 		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH,
! 						  &confirm_movetotrash_auto_value);						  
  		eel_preferences_add_auto_boolean (NAUTILUS_PREFERENCES_ENABLE_DELETE,
  						  &show_delete_command_auto_value);
  	}
***************
*** 1988,1994 ****
  	
  	gtk_widget_show (GTK_WIDGET (view));
  	
! 	eel_preferences_add_callback (NAUTILUS_PREFERENCES_CONFIRM_TRASH,
  				      schedule_update_menus_callback, view);
  	eel_preferences_add_callback (NAUTILUS_PREFERENCES_ENABLE_DELETE,
  				      schedule_update_menus_callback, view);
--- 1991,1999 ----
  	
  	gtk_widget_show (GTK_WIDGET (view));
  	
! 	eel_preferences_add_callback (NAUTILUS_PREFERENCES_CONFIRM_DELETE,
! 				      schedule_update_menus_callback, view);
! 	eel_preferences_add_callback (NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH,
  				      schedule_update_menus_callback, view);
  	eel_preferences_add_callback (NAUTILUS_PREFERENCES_ENABLE_DELETE,
  				      schedule_update_menus_callback, view);
***************
*** 2104,2110 ****
  
  	view = FM_DIRECTORY_VIEW (object);
  
! 	eel_preferences_remove_callback (NAUTILUS_PREFERENCES_CONFIRM_TRASH,
  					 schedule_update_menus_callback, view);
  	eel_preferences_remove_callback (NAUTILUS_PREFERENCES_ENABLE_DELETE,
  					 schedule_update_menus_callback, view);
--- 2109,2117 ----
  
  	view = FM_DIRECTORY_VIEW (object);
  
! 	eel_preferences_remove_callback (NAUTILUS_PREFERENCES_CONFIRM_DELETE,
! 					 schedule_update_menus_callback, view);
! 	eel_preferences_remove_callback (NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH,
  					 schedule_update_menus_callback, view);
  	eel_preferences_remove_callback (NAUTILUS_PREFERENCES_ENABLE_DELETE,
  					 schedule_update_menus_callback, view);
Only in nautilus-2.32.2.1/src/file-manager: fm-directory-view.c.orig
diff -crB nautilus-2.32.2.1_orig/src/nautilus-file-management-properties.c nautilus-2.32.2.1/src/nautilus-file-management-properties.c
*** nautilus-2.32.2.1_orig/src/nautilus-file-management-properties.c	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/src/nautilus-file-management-properties.c	2011-03-14 13:11:49.589628046 +0000
***************
*** 63,69 ****
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ALL_COLUMNS_SAME_WIDTH "all_columns_same_width_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ALWAYS_USE_BROWSER_WIDGET "always_use_browser_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ALWAYS_USE_LOCATION_ENTRY_WIDGET "always_use_location_entry_checkbutton"
! #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_CONFIRM_WIDGET "trash_confirm_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET "trash_delete_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_OPEN_NEW_WINDOW_WIDGET "new_window_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SHOW_HIDDEN_WIDGET "hidden_files_checkbutton"
--- 63,70 ----
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ALL_COLUMNS_SAME_WIDTH "all_columns_same_width_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ALWAYS_USE_BROWSER_WIDGET "always_use_browser_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ALWAYS_USE_LOCATION_ENTRY_WIDGET "always_use_location_entry_checkbutton"
! #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_DELETE_CONFIRM_WIDGET "delete_confirm_checkbutton"
! #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_MOVETOTRASH_CONFIRM_WIDGET "trash_confirm_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET "trash_delete_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_OPEN_NEW_WINDOW_WIDGET "new_window_checkbutton"
  #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SHOW_HIDDEN_WIDGET "hidden_files_checkbutton"
***************
*** 716,723 ****
  					      NAUTILUS_PREFERENCES_MEDIA_AUTORUN_NEVER);
  
  	eel_preferences_builder_connect_bool (builder,
! 					      NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_CONFIRM_WIDGET,
! 					      NAUTILUS_PREFERENCES_CONFIRM_TRASH);
  	eel_preferences_builder_connect_bool (builder,
  					      NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET,
  					      NAUTILUS_PREFERENCES_ENABLE_DELETE);
--- 717,727 ----
  					      NAUTILUS_PREFERENCES_MEDIA_AUTORUN_NEVER);
  
  	eel_preferences_builder_connect_bool (builder,
! 					      NAUTILUS_FILE_MANAGEMENT_PROPERTIES_DELETE_CONFIRM_WIDGET,
! 					      NAUTILUS_PREFERENCES_CONFIRM_DELETE);
! 	eel_preferences_builder_connect_bool (builder,
! 					      NAUTILUS_FILE_MANAGEMENT_PROPERTIES_MOVETOTRASH_CONFIRM_WIDGET,
! 					      NAUTILUS_PREFERENCES_CONFIRM_MOVETOTRASH);
  	eel_preferences_builder_connect_bool (builder,
  					      NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET,
  					      NAUTILUS_PREFERENCES_ENABLE_DELETE);
Only in nautilus-2.32.2.1/src: nautilus-file-management-properties.c.orig
diff -crB nautilus-2.32.2.1_orig/src/nautilus-file-management-properties.ui nautilus-2.32.2.1/src/nautilus-file-management-properties.ui
*** nautilus-2.32.2.1_orig/src/nautilus-file-management-properties.ui	2010-12-28 15:54:38.000000000 +0000
--- nautilus-2.32.2.1/src/nautilus-file-management-properties.ui	2011-03-14 13:11:49.592961938 +0000
***************
*** 1349,1361 ****
                              <property name="homogeneous">False</property>
                              <property name="spacing">6</property>
                              <child>
!                               <object class="GtkCheckButton" id="trash_confirm_checkbutton">
                                  <property name="visible">True</property>
                                  <property name="can_focus">True</property>
                                  <property name="label" translatable="yes">Ask before _emptying the Trash or deleting files</property>
                                  <property name="use_underline">True</property>
                                  <property name="relief">GTK_RELIEF_NORMAL</property>
                                  <property name="focus_on_click">True</property>
                                  <property name="active">False</property>
                                  <property name="inconsistent">False</property>
                                  <property name="draw_indicator">True</property>
--- 1349,1379 ----
                              <property name="homogeneous">False</property>
                              <property name="spacing">6</property>
                              <child>
!                               <object class="GtkCheckButton" id="delete_confirm_checkbutton">
                                  <property name="visible">True</property>
                                  <property name="can_focus">True</property>
                                  <property name="label" translatable="yes">Ask before _emptying the Trash or deleting files</property>
                                  <property name="use_underline">True</property>
                                  <property name="relief">GTK_RELIEF_NORMAL</property>
                                  <property name="focus_on_click">True</property>
+                                 <property name="active">False</property>
+                                 <property name="inconsistent">False</property>
+                                 <property name="draw_indicator">True</property>
+                               </object>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+                             <child>
+                               <object class="GtkCheckButton" id="trash_confirm_checkbutton">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="label" translatable="yes">Ask before moving items to the _Trash bin</property>
+                                 <property name="use_underline">True</property>
+                                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                                 <property name="focus_on_click">True</property>
                                  <property name="active">False</property>
                                  <property name="inconsistent">False</property>
                                  <property name="draw_indicator">True</property>
Only in nautilus-2.32.2.1/src: nautilus-file-management-properties.ui.orig
