I cannot comment on any QT specific solutions, but, I have done this sort multiple times. This provided the following advantages:
- Properly architected, the solution is interruptable. When I used built-in copy methods, they were not. This allowed me to abort a long copy with no problems.
- If desired, you can easily provide status callbacks. I allowed for callbacks on start and completion of each file. This includes error information if it makes sense.
- I frequently gather some sort of file fingerprint / hash during the copy. Calculating an MD5 hash in-line did not add any perceivable time to the copy.
I cannot claim that my solution was any faster than any built-in method, but it was not slower either. In other words, it provided advantages with no disadvantages (other than the fact that I needed to write code).
Bookmarks