[Enhancement] Inability to Cancel Calibre Copy Action
Calibre Version 2.71
OS: Windows 10
In a recent attempt to re-organize my libraries that I manage through Calibre, it came to my attention that there was no way to cancel a copy-to-library action, or at least no way that I could see without killing the program through task manager.
I have several libraries, one that is well over 4,000 books in size, and this happened to be the library I was reorganizing. I was trying to consolidate a few of my separate libraries into a single library for easier management. However, during the copy of this library (which, based on the about 20% or so that was done at the time, I estimated would take another 4 hours), I wanted to get a few books off of a different library and put them on my device. However, being as I could not open another library without waiting for the current operation to finish, this presented a problem. Trying to exit the "Moving to XXX" dialog that appears when copying the books didn't appear to have any effect. I could not interact with the main Calibre program with the dialog open, either. I know this wasn't a result of the program freezing afterwards, since even after I clicked on the X, it continued to proceed through the books, one at a time.
As I didn't want to potentially mess up the internal database system of Calibre and leave it corrupted, I didn't opt to end the program through task manager and allowed it to continue until it was finished. The specific function that I was using to copy the books over was "Copy to Library (Delete after Copy)", which I am not sure if that changes it. I am not sure if the same problem occurs when just using the normal Copy to Library function.
The request to add the ability to cancel a Calibre copy is mostly one of convenience, I'll admit. Surely, I could have planned better and had the books on my device before I began the copy. However, it still seems rather unintuitive and frustrating that there is no way to cancel an operation like this mid-way, and then pick up where one left off. I can understand not corrupting the database, but I cannot understand not having a Cancel button that allows the program to clean up its current copy process, stabilize the database, and then cancel the remaining copies. It would leave the library halfway copied and halfway not, but at least it would be stable and the user, being the one who clicked cancel, is probably well aware already that that would be the result, and would likely resume the operation after finishing whatever task they wanted to do with the program (in this case getting the few books, then going back to copying).