summaryrefslogtreecommitdiffstats
path: root/thunar-notrash/Ability_to_disable_trash_on_Thunar.patch
diff options
context:
space:
mode:
authorFlorian Pritz <f-p@gmx.at>2009-06-21 13:24:22 +0200
committerFlorian Pritz <f-p@gmx.at>2009-06-21 13:24:22 +0200
commiteac2e3cc7d9edbfe42aa571cf4e530cf9d67ee2c (patch)
tree617cfcba7b4d7435c1f9ce48f26825e49690922e /thunar-notrash/Ability_to_disable_trash_on_Thunar.patch
parent488d3624be68a1655fc8b40241f514e52855d18b (diff)
downloadaur-packages-eac2e3cc7d9edbfe42aa571cf4e530cf9d67ee2c.tar.gz
aur-packages-eac2e3cc7d9edbfe42aa571cf4e530cf9d67ee2c.tar.xz
new thunar with Ability_to_disable_trash_on_Thunar.patch
Diffstat (limited to 'thunar-notrash/Ability_to_disable_trash_on_Thunar.patch')
-rw-r--r--thunar-notrash/Ability_to_disable_trash_on_Thunar.patch170
1 files changed, 170 insertions, 0 deletions
diff --git a/thunar-notrash/Ability_to_disable_trash_on_Thunar.patch b/thunar-notrash/Ability_to_disable_trash_on_Thunar.patch
new file mode 100644
index 0000000..50e992e
--- /dev/null
+++ b/thunar-notrash/Ability_to_disable_trash_on_Thunar.patch
@@ -0,0 +1,170 @@
+diff -ur src/Thunar-1.0.1-orig/thunar/thunar-application.c src/Thunar-1.0.1/thunar/thunar-application.c
+--- src/Thunar-1.0.1-orig/thunar/thunar-application.c 2009-01-12 21:38:48.000000000 +0100
++++ src/Thunar-1.0.1/thunar/thunar-application.c 2009-06-21 02:07:38.000000000 +0200
+@@ -1328,13 +1328,20 @@
+ gchar *message;
+ guint n_path_list = 0;
+ gint response;
++ gboolean isTrashEnabled;
+
+ _thunar_return_if_fail (parent == NULL || GDK_IS_SCREEN (parent) || GTK_IS_WIDGET (parent));
+ _thunar_return_if_fail (THUNAR_IS_APPLICATION (application));
+-
++
+ /* check if we should permanently delete the files (user holds shift) */
+ permanently = (gtk_get_current_event_state (&state) && (state & GDK_SHIFT_MASK) != 0);
+
++ g_object_get (G_OBJECT (application->preferences), "misc-enable-trash", &isTrashEnabled, NULL);
++ if (!isTrashEnabled)
++ {
++ permanently = TRUE;
++ }
++
+ /* determine the paths for the files */
+ for (lp = g_list_last (file_list); lp != NULL; lp = lp->prev, ++n_path_list)
+ {
+@@ -1354,8 +1361,8 @@
+ if (G_UNLIKELY (permanently))
+ {
+ /* parse the parent pointer */
+- screen = thunar_util_parse_parent (parent, &window);
+-
++ screen = thunar_util_parse_parent (parent, &window);
++
+ /* generate the question to confirm the delete operation */
+ if (G_LIKELY (n_path_list == 1))
+ {
+diff -ur src/Thunar-1.0.1-orig/thunar/thunar-preferences-dialog.c src/Thunar-1.0.1/thunar/thunar-preferences-dialog.c
+--- src/Thunar-1.0.1-orig/thunar/thunar-preferences-dialog.c 2009-01-12 21:38:48.000000000 +0100
++++ src/Thunar-1.0.1/thunar/thunar-preferences-dialog.c 2009-06-21 02:19:11.000000000 +0200
+@@ -373,7 +373,7 @@
+ gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+ gtk_widget_show (label);
+
+- table = gtk_table_new (2, 2, FALSE);
++ table = gtk_table_new (3, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 12);
+ gtk_container_set_border_width (GTK_CONTAINER (table), 12);
+@@ -418,7 +418,7 @@
+ gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+ gtk_widget_show (label);
+
+- table = gtk_table_new (2, 2, FALSE);
++ table = gtk_table_new (3, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 12);
+ gtk_container_set_border_width (GTK_CONTAINER (table), 12);
+@@ -573,7 +573,7 @@
+ gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+ gtk_widget_show (label);
+
+- table = gtk_table_new (2, 2, FALSE);
++ table = gtk_table_new (3, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 12);
+ gtk_container_set_border_width (GTK_CONTAINER (table), 12);
+@@ -591,6 +591,13 @@
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Ask everytime"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Apply to Folder Only"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _("Apply to Folder and Contents"));
++
++ button = gtk_check_button_new_with_mnemonic (_("Move items to Trash when on _delete."));
++ exo_mutual_binding_new (G_OBJECT (dialog->preferences), "misc-enable-trash", G_OBJECT (button), "active");
++ thunar_gtk_widget_set_tooltip (button, _( "By default, items are sent to the Trash on delete. By disabling this option, items will be removed on delete and will be lost forever. (DANGEROUS)" ) );
++ gtk_table_attach (GTK_TABLE (table), button, 0,1,2,3, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
++ gtk_widget_show (button);
++
+ #if !GTK_CHECK_VERSION(2,9,0)
+ g_signal_connect (G_OBJECT (combo), "changed", G_CALLBACK (g_object_notify), "active");
+ #endif
+@@ -608,7 +615,7 @@
+ gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+ gtk_widget_show (label);
+
+- table = gtk_table_new (2, 2, FALSE);
++ table = gtk_table_new (3, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 12);
+ gtk_container_set_border_width (GTK_CONTAINER (table), 12);
+diff -ur src/Thunar-1.0.1-orig/thunar/thunar-preferences.c src/Thunar-1.0.1/thunar/thunar-preferences.c
+--- src/Thunar-1.0.1-orig/thunar/thunar-preferences.c 2009-01-12 21:38:48.000000000 +0100
++++ src/Thunar-1.0.1/thunar/thunar-preferences.c 2009-06-21 02:07:38.000000000 +0200
+@@ -71,6 +71,7 @@
+ PROP_MISC_VOLUME_MANAGEMENT,
+ PROP_MISC_CASE_SENSITIVE,
+ PROP_MISC_DATE_STYLE,
++ PROP_MISC_ENABLE_TRASH,
+ PROP_MISC_FOLDERS_FIRST,
+ PROP_MISC_HORIZONTAL_WHEEL_NAVIGATES,
+ PROP_MISC_RECURSIVE_PERMISSIONS,
+@@ -664,6 +665,19 @@
+ THUNAR_TYPE_ICON_SIZE,
+ THUNAR_ICON_SIZE_SMALLEST,
+ EXO_PARAM_READWRITE));
++
++ /**
++ * ThunarPreferences:misc-enable-trash:
++ *
++ * If trash is disabled, files will be deleted permanently
++ **/
++ g_object_class_install_property (gobject_class,
++ PROP_MISC_ENABLE_TRASH,
++ g_param_spec_boolean ("misc-enable-trash",
++ "misc-enable-trash",
++ "misc-enable-trash",
++ TRUE,
++ EXO_PARAM_READWRITE));
+ }
+
+
+diff -ur src/Thunar-1.0.1-orig/thunar/thunar-shortcuts-model.c src/Thunar-1.0.1/thunar/thunar-shortcuts-model.c
+--- src/Thunar-1.0.1-orig/thunar/thunar-shortcuts-model.c 2009-01-12 21:38:48.000000000 +0100
++++ src/Thunar-1.0.1/thunar/thunar-shortcuts-model.c 2009-06-21 12:25:04.000000000 +0200
+@@ -34,6 +34,7 @@
+ #include <locale.h>
+ #endif
+
++#include <thunar/thunar-preferences.h>
+ #include <thunar/thunar-file.h>
+ #include <thunar/thunar-shortcuts-model.h>
+ #include <thunar/thunar-private.h>
+@@ -63,7 +64,6 @@
+ } ThunarShortcutType;
+
+
+-
+ static void thunar_shortcuts_model_class_init (ThunarShortcutsModelClass *klass);
+ static void thunar_shortcuts_model_tree_model_init (GtkTreeModelIface *iface);
+ static void thunar_shortcuts_model_drag_source_init (GtkTreeDragSourceIface *iface);
+@@ -278,6 +278,8 @@
+ guint n;
+ gchar *desktop_path = NULL;
+ guint desktop_index;
++ gboolean isTrashEnabled;
++
+
+ #ifndef NDEBUG
+ model->stamp = g_random_int ();
+@@ -292,6 +294,8 @@
+ system_path_list[0] = thunar_vfs_path_get_for_home ();
+ system_path_list[1] = thunar_vfs_path_get_for_trash ();
+
++ g_object_get (G_OBJECT (thunar_preferences_get ()), "misc-enable-trash", &isTrashEnabled, NULL);
++
+ #if GLIB_CHECK_VERSION(2,14,0)
+ desktop_path = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));
+ #else /* GLIB_CHECK_VERSION(2,14,0) */
+@@ -323,6 +327,12 @@
+ thunar_vfs_path_unref (system_path_list[n]);
+ continue;
+ }
++ /* we exclude the trash */
++ if (n == 1 && !isTrashEnabled)
++ {
++ thunar_vfs_path_unref (system_path_list[n]);
++ continue;
++ }
+ #endif
+
+ /* determine the file for the path */