Ticket #3935 (closed enhancement: fixed)
Feature request: Extra options in "File exists" dialog
Reported by: | tylla | Owned by: | andrew_b |
---|---|---|---|
Priority: | minor | Milestone: | 4.8.23 |
Component: | mc-core | Version: | master |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Branch state: | merged | Votes for changeset: | committed-master |
Description
Currently the "File exists" dialog has 7 options for overwriting files: "Yes", "No", "Append", "All", "Update", "None", "If size differs".
The individual file options are fine, but the "all targets" options could benefit from some extra functionality:
"If smaller": overwrite existing file if the copied/moved one is bigger. One typical use case when copying picture files and some of them have extra metadata added, so have bigger file size. This would handle the interrupted copy/move operation as well, if the interrupted file is only a chunk. This is absolutely different from "If size differs".
"If older": overwrite existing file if the new file is more recent. If I understand correctly this is the functionality of the "Update", but the name is somewhat misleading, so I would suggest renaming the option.
Another idea is, maybe the whole dialog should get an overhaul, the options taken apart, and the options "Yes", "No", "Append", "If older", "If smaller", "If size differs" should be followed by a separate check-box "Do this for all the files".
Change History
comment:1 in reply to: ↑ description Changed 6 years ago by andrew_b
comment:2 Changed 6 years ago by tylla
Wow, thanks for your work! :)
As about the dialog layout, I've came up with something like this:
┌───────────────────── File exists ──────────────────────┐ │ Target file already exists! │ │ Source: /path/to/original_file_name │ │ Target: /path/to/target_file_name │ ├────────────────────────────────────────────────────────┤ │ Modification date/time Size │ │ Source: feb 4 2017 13:37 1234567 │ │ Target: feb 4 2017 13:38 1234567890 │ ├────────────────────────────────────────────────────────┤ │ Overwrite target: [ Yes ] [ No ] [ Append ] │ │ [ If older ] [ If smaller ] [ If size differs ] │ ├────────────────────────────────────────────────────────┤ │ Do this to all targets: [ ] │ │ Never overwrite with zero length file: [ ] │ ├────────────────────────────────────────────────────────┤ │ [ Abort ] │ └────────────────────────────────────────────────────────┘
As you can see I've added a few other extras which happened to come in my mind while I was thinking about the layout.
- display the original (source) and the existing (target) path and file name as well, (it is useful if some tricky regexp is used).
- created separated column header to cleanly mark the information
- always show the full date/time in this dialog (currently the time is hidden if it is more than a year(?) in the past)
- "Never overwrite with zero length file:" should do what it says. Not a frequent problem, but sometimes is handy.
Opinion?
comment:4 Changed 6 years ago by andrew_b
I think the usage of "Do this to all targets" checkbox makes the usability of this dialog worse.
In the dialog, initially the "Yes" button is selected.
In the current dialog, if we want to overwrite all files we select the "Yes" button and press it. These are two actions: select and press.
In the proposed dialog, we should select the "Do this to all targets" checkbox, change it, move back to the "Yes button" and press it. These are four actions: select, change, select, and press.
I propose to change current dialog layout, keeping all buttons, and add the "Never overwrite with zero length file". Something like following:
┌───────────────────── File exists ───────────────────────┐ │ New: /path/to/original_file_name │ │ 1234567890 feb 4 2017 13:37 │ │ Existing: /path/to/target_file_name │ │ 1234567 feb 4 2017 13:38 │ ├─────────────────────────────────────────────────────────┤ │ Overwrite file? │ │ [ Yes ] [ No ] [ Append ] [ Reget ] │ ├─────────────────────────────────────────────────────────┤ │ Overwrite all files? │ │ [ ] Overwrite with zero length file │ │ [ All ] [ If older ] [ If smaller ] [ If size differs ] │ ├─────────────────────────────────────────────────────────┤ │ [ Abort ] │ └─────────────────────────────────────────────────────────┘
comment:5 Changed 6 years ago by andrew_b
- Owner set to andrew_b
- Status changed from new to accepted
- Branch state changed from no branch to on review
- Milestone changed from Future Releases to 4.8.23
Branch: 3935_file_exists_extra_options
Initial changeset:036166119366a400238e3faea4987bda06f5764b
Please test.
comment:6 Changed 6 years ago by andrew_b
- Votes for changeset set to andrew_b
- Branch state changed from on review to approved
comment:7 Changed 6 years ago by andrew_b
- Status changed from accepted to testing
- Votes for changeset changed from andrew_b to committed-master
- Resolution set to fixed
- Branch state changed from approved to merged
Merged to master: [657d8e8822cf94a9b7dd9e9b63de17ec0dd3469d].
git log --pretty=oneline e7249a8..657d8e8
comment:9 Changed 6 years ago by tylla
Really sorry, real-life intervened...
Yeah, you are right, it really takes more keystrokes to use the dialog the way I designed it, I didn't thought about it this way.
Your proposed layout is absolutely acceptable (except for the "Overwrite with zero length file" option, which in the text above is written as "Never overwrite with zero length file" so I think this must be just a typo).
Currently I don't have the circumstances to test this, but I will definitely do it as soon as I can.
I'm really glad that I could contribute with some ideas to the project.
Thank you for your prompt response and the nice work you do with MC.
Branch: 3935_file_exists_extra_options
Initial changeset:a91c20c0d2aae2afb4fe72e81a1c809ff70be1b2
Replying to tylla:
Done.
Done.
Would you like to propose the new dialog design/layout?