[nautilus] Make sure to use correct filename when restoring from Trash
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] Make sure to use correct filename when restoring from Trash
- Date: Fri, 30 Nov 2012 22:59:02 +0000 (UTC)
commit ecee8be850b8342c804de2ecc3e613b99a20a010
Author: Timothy Arceri <t_arceri yahoo com au>
Date: Thu Nov 29 17:39:36 2012 +1100
Make sure to use correct filename when restoring from Trash
https://bugzilla.gnome.org/show_bug.cgi?id=673598
libnautilus-private/nautilus-file-operations.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c
index b60b748..85d5a6f 100644
--- a/libnautilus-private/nautilus-file-operations.c
+++ b/libnautilus-private/nautilus-file-operations.c
@@ -3258,18 +3258,28 @@ get_target_file_with_custom_name (GFile *src,
if (dest == NULL && !same_fs) {
info = g_file_query_info (src,
- G_FILE_ATTRIBUTE_STANDARD_COPY_NAME,
+ G_FILE_ATTRIBUTE_STANDARD_COPY_NAME ","
+ G_FILE_ATTRIBUTE_TRASH_ORIG_PATH,
0, NULL, NULL);
if (info) {
- copyname = g_strdup (g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_COPY_NAME));
+ copyname = NULL;
+
+ /* if file is being restored from trash make sure it uses its original name */
+ if (g_file_has_uri_scheme (src, "trash")) {
+ copyname = g_strdup (g_file_info_get_attribute_byte_string (info, G_FILE_ATTRIBUTE_TRASH_ORIG_PATH));
+ }
+
+ if (copyname == NULL) {
+ copyname = g_strdup (g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_COPY_NAME));
+ }
if (copyname) {
make_file_name_valid_for_dest_fs (copyname, dest_fs_type);
dest = g_file_get_child_for_display_name (dest_dir, copyname, NULL);
g_free (copyname);
}
-
+
g_object_unref (info);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]