78 lines
3.0 KiB
Diff
78 lines
3.0 KiB
Diff
diff -ur mc-4.8.10-orig/src/filemanager/file.c mc-4.8.10/src/filemanager/file.c
|
|
--- mc-4.8.10-orig/src/filemanager/file.c 2013-08-02 22:02:40.000000000 +0400
|
|
+++ mc-4.8.10/src/filemanager/file.c 2013-09-17 09:59:30.699635407 +0400
|
|
@@ -1272,8 +1272,8 @@
|
|
|
|
/** Initialize variables for progress bars */
|
|
static FileProgressStatus
|
|
-panel_operate_init_totals (FileOperation operation, const WPanel * panel, const char *source,
|
|
- FileOpContext * ctx, filegui_dialog_type_t dialog_type)
|
|
+panel_operate_init_totals (const WPanel * panel, const char *source, FileOpContext * ctx,
|
|
+ filegui_dialog_type_t dialog_type)
|
|
{
|
|
FileProgressStatus status;
|
|
|
|
@@ -1282,7 +1282,7 @@
|
|
return FILE_CONT;
|
|
#endif
|
|
|
|
- if (operation != OP_MOVE && verbose && file_op_compute_totals)
|
|
+ if (verbose && file_op_compute_totals)
|
|
{
|
|
ComputeDirSizeUI *ui;
|
|
|
|
@@ -2378,13 +2378,6 @@
|
|
mc_refresh ();
|
|
if (ctx->erase_at_end)
|
|
{
|
|
- /* remove files after move */
|
|
- if (erase_list != NULL)
|
|
- {
|
|
- file_op_context_destroy_ui (ctx);
|
|
- file_op_context_create_ui (ctx, FALSE, FILEGUI_DIALOG_DELETE_ITEM);
|
|
- }
|
|
-
|
|
while (erase_list != NULL && return_status != FILE_ABORT)
|
|
{
|
|
struct link *lp = (struct link *) erase_list->data;
|
|
@@ -2792,14 +2785,12 @@
|
|
{
|
|
if (operation == OP_DELETE)
|
|
dialog_type = FILEGUI_DIALOG_DELETE_ITEM;
|
|
+ else if (single_entry && S_ISDIR (selection (panel)->st.st_mode))
|
|
+ dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
|
|
+ else if (single_entry || force_single)
|
|
+ dialog_type = FILEGUI_DIALOG_ONE_ITEM;
|
|
else
|
|
- {
|
|
- dialog_type = ((operation != OP_COPY) || single_entry || force_single)
|
|
- ? FILEGUI_DIALOG_ONE_ITEM : FILEGUI_DIALOG_MULTI_ITEM;
|
|
-
|
|
- if (single_entry && (operation == OP_COPY) && S_ISDIR (selection (panel)->st.st_mode))
|
|
- dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
|
|
- }
|
|
+ dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
|
|
}
|
|
|
|
/* Initialize things */
|
|
@@ -2844,8 +2835,8 @@
|
|
else
|
|
source_with_vpath = vfs_path_append_new (panel->cwd_vpath, source, (char *) NULL);
|
|
#endif /* WITH_FULL_PATHS */
|
|
- if (panel_operate_init_totals
|
|
- (operation, panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type) == FILE_CONT)
|
|
+ if (panel_operate_init_totals (panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type)
|
|
+ == FILE_CONT)
|
|
{
|
|
if (operation == OP_DELETE)
|
|
{
|
|
@@ -2936,7 +2927,7 @@
|
|
goto clean_up;
|
|
}
|
|
|
|
- if (panel_operate_init_totals (operation, panel, NULL, ctx, dialog_type) == FILE_CONT)
|
|
+ if (panel_operate_init_totals (panel, NULL, ctx, dialog_type) == FILE_CONT)
|
|
{
|
|
/* Loop for every file, perform the actual copy operation */
|
|
for (i = 0; i < panel->count; i++)
|