Confirm before renaming on an existing file
This commit is contained in:
parent
96f256335b
commit
9d9a5aec5f
|
@ -3703,6 +3703,7 @@ static void _view_on_filename_edited(GtkCellRendererText * renderer,
|
||||||
char * q;
|
char * q;
|
||||||
char * f = filename;
|
char * f = filename;
|
||||||
GError * error = NULL;
|
GError * error = NULL;
|
||||||
|
struct stat st;
|
||||||
(void) renderer;
|
(void) renderer;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -3746,11 +3747,19 @@ static void _view_on_filename_edited(GtkCellRendererText * renderer,
|
||||||
fprintf(stderr, "DEBUG: %s() \"%s\"\n", __func__, to);
|
fprintf(stderr, "DEBUG: %s() \"%s\"\n", __func__, to);
|
||||||
#endif
|
#endif
|
||||||
/* rename */
|
/* rename */
|
||||||
if(rename(path, to) != 0)
|
if(lstat(to, &st) != 0
|
||||||
browser_error(browser, strerror(errno), 1);
|
|| browser->prefs.confirm_before_delete != TRUE
|
||||||
else if(strchr(filename, '/') == NULL)
|
|| _browser_confirm(browser, "%s",
|
||||||
gtk_list_store_set(browser->store, &iter, BC_PATH, to,
|
_("This will replace an existing file with the"
|
||||||
BC_DISPLAY_NAME, filename, -1);
|
" same name.\n"
|
||||||
|
"Are you sure?")) == 0)
|
||||||
|
{
|
||||||
|
if(rename(path, to) != 0)
|
||||||
|
browser_error(browser, strerror(errno), 1);
|
||||||
|
else if(strchr(filename, '/') == NULL)
|
||||||
|
gtk_list_store_set(browser->store, &iter, BC_PATH, to,
|
||||||
|
BC_DISPLAY_NAME, filename, -1);
|
||||||
|
}
|
||||||
free(to);
|
free(to);
|
||||||
free(q);
|
free(q);
|
||||||
free(path);
|
free(path);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user