annotate src/trash.c @ 804:e702eaa6d1df

vficon_sync speed-up
author nadvornik
date Sun, 08 Jun 2008 20:24:46 +0000
parents d6a7fb4b8e7c
children 6ca2c5fd7b13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 143
diff changeset
2 * Geeqie
67
f63ecca6c087 Fri Oct 13 05:22:43 2006 John Ellis <johne@verizon.net>
gqview
parents: 66
diff changeset
3 * (C) 2006 John Ellis
475
48c8e49b571c updated copyright in source files
nadvornik
parents: 448
diff changeset
4 * Copyright (C) 2008 The Geeqie Team
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
5 *
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
6 * Author: John Ellis
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
7 *
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
10 * This software comes with no warranty of any kind, use at your own risk!
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
11 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
12
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
13
281
9995c5fb202a gqview.h -> main.h
zas_
parents: 254
diff changeset
14 #include "main.h"
597
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
15 #include "trash.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
16 #include "utilops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
17
766
7148e125bf23 Check for existing editor command using is_valid_editor_command().
zas_
parents: 730
diff changeset
18 #include "editors.h"
586
905688aa2317 split filelist.c to filefilter.c and filedata.c
nadvornik
parents: 513
diff changeset
19 #include "filedata.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
20 #include "ui_fileops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
21 #include "ui_misc.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
22
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
23
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
24 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
25 *--------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
26 * Safe Delete
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
27 *--------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
28 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
29
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
30 static gint file_util_safe_number(gint64 free_space)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
31 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
32 gint n = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
33 gint64 total = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
34 GList *list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
35 GList *work;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
36 gint sorted = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
37 gint warned = FALSE;
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
38 FileData *dir_fd;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
39
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
40 dir_fd = file_data_new_simple(options->file_ops.safe_delete_path);
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
41 if (!filelist_read(dir_fd, &list, NULL))
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
42 {
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
43 file_data_unref(dir_fd);
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
44 return 0;
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
45 }
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 766
diff changeset
46 file_data_unref(dir_fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
47
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
48 work = list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
49 while (work)
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
50 {
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
51 FileData *fd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
52 gint v;
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 341
diff changeset
53
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
54 fd = work->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
55 work = work->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
56
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
57 v = (gint)strtol(fd->name, NULL, 10);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
58 if (v >= n) n = v + 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
59
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
60 total += fd->size;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
61 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
62
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
63 while (options->file_ops.safe_delete_folder_maxsize > 0 && list &&
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
64 (free_space < 0 || total + free_space > (gint64)options->file_ops.safe_delete_folder_maxsize * 1048576) )
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
65 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
66 FileData *fd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
67
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
68 if (!sorted)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
69 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
70 list = filelist_sort(list, SORT_NAME, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
71 sorted = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
72 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
73
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
74 fd = list->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
75 list = g_list_remove(list, fd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
76
506
fc9c8a3e1a8b Handle the newline in DEBUG_N() macro instead of adding one
zas_
parents: 497
diff changeset
77 DEBUG_1("expunging from trash for space: %s", fd->name);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
78 if (!unlink_file(fd->path) && !warned)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
79 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
80 file_util_warning_dialog(_("Delete failed"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
81 _("Unable to remove old file from trash folder"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
82 GTK_STOCK_DIALOG_WARNING, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
83 warned = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
84 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
85 total -= fd->size;
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 136
diff changeset
86 file_data_unref(fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
87 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
88
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
89 filelist_free(list);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
90
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
91 return n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
92 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
93
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
94 void file_util_trash_clear(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
95 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
96 file_util_safe_number(-1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
97 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
98
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
99 static gchar *file_util_safe_dest(const gchar *path)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
100 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
101 gint n;
727
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
102 gchar *name;
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
103 gchar *dest;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
104
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
105 n = file_util_safe_number(filesize(path));
727
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
106 name = g_strdup_printf("%06d_%s", n, filename_from_path(path));
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
107 dest = g_build_filename(options->file_ops.safe_delete_path, name, NULL);
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
108 g_free(name);
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
109
d897ff542ad9 Use g_build_filename().
zas_
parents: 671
diff changeset
110 return dest;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
111 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
112
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
113 static void file_util_safe_del_toggle_cb(GtkWidget *button, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
114 {
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
115 options->file_ops.safe_delete_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
116 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
117
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
118 static void file_util_safe_del_close_cb(GtkWidget *dialog, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
119 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
120 GenericDialog **gd = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
121
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
122 *gd = NULL;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
123 }
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
124
600
9c28465c95d1 Tidy up.
zas_
parents: 597
diff changeset
125 gint file_util_safe_unlink(const gchar *path)
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
126 {
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
127 static GenericDialog *gd = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
128 gchar *result = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
129 gint success = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
130
597
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
131 if (!isfile(path)) return FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
132
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
133 if (!isdir(options->file_ops.safe_delete_path))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
134 {
506
fc9c8a3e1a8b Handle the newline in DEBUG_N() macro instead of adding one
zas_
parents: 497
diff changeset
135 DEBUG_1("creating trash: %s", options->file_ops.safe_delete_path);
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
136 if (!options->file_ops.safe_delete_path || !mkdir_utf8(options->file_ops.safe_delete_path, 0755))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
137 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
138 result = _("Could not create folder");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
139 success = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
140 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
141 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
142
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
143 if (success)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
144 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
145 gchar *dest;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
146
597
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
147 dest = file_util_safe_dest(path);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
148 if (dest)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
149 {
597
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
150 DEBUG_1("safe deleting %s to %s", path, dest);
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
151 success = move_file(path, dest);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
152 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
153 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
154 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
155 success = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
156 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
157
597
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
158 if (!success && !access_file(path, W_OK))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
159 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
160 result = _("Permission denied");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
161 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
162 g_free(dest);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
163 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
164
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
165 if (result && !gd)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
166 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
167 GtkWidget *button;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
168 gchar *buf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
169
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
170 buf = g_strdup_printf(_("Unable to access or create the trash folder.\n\"%s\""), options->file_ops.safe_delete_path);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
171 gd = file_util_warning_dialog(result, buf, GTK_STOCK_DIALOG_WARNING, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
172 g_free(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
173
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
174 button = gtk_check_button_new_with_label(_("Turn off safe delete"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
175 g_signal_connect(G_OBJECT(button), "toggled",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
176 G_CALLBACK(file_util_safe_del_toggle_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
177 gtk_box_pack_start(GTK_BOX(gd->vbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
178 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
179
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
180 g_signal_connect(G_OBJECT(gd->dialog), "destroy",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
181 G_CALLBACK(file_util_safe_del_close_cb), &gd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
182 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
183
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
184 return success;
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
185 }
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
186
600
9c28465c95d1 Tidy up.
zas_
parents: 597
diff changeset
187 gchar *file_util_safe_delete_status(void)
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
188 {
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
189 gchar *buf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
190
766
7148e125bf23 Check for existing editor command using is_valid_editor_command().
zas_
parents: 730
diff changeset
191 if (is_valid_editor_command(CMD_DELETE))
223
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
192 {
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
193 buf = g_strdup(_("Deletion by external command"));
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
194 }
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
195 else
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
196 {
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
197 if (options->file_ops.safe_delete_enable)
223
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
198 {
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
199 gchar *buf2;
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
200 if (options->file_ops.safe_delete_folder_maxsize > 0)
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
201 buf2 = g_strdup_printf(_(" (max. %d MB)"), options->file_ops.safe_delete_folder_maxsize);
223
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
202 else
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
203 buf2 = g_strdup("");
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
204
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 318
diff changeset
205 buf = g_strdup_printf(_("Safe delete: %s%s\nTrash: %s"), _("on"), buf2, options->file_ops.safe_delete_path);
223
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
206 g_free(buf2);
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
207 }
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
208 else
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
209 {
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
210 buf = g_strdup_printf(_("Safe delete: %s"), _("off"));
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
211 }
73efc1ba150f Setting no limit size to trash directory is now possible using zero as value.
zas_
parents: 196
diff changeset
212 }
597
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
213
5da092a6a92a moved safe delete functions to separate file
nadvornik
parents: 596
diff changeset
214 return buf;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
215 }