Improvements for converting multiple files
When converting multiple files, it is easy to cancel prematurely by typing and starting the process back up can involve either checking the already converted files and skipping selecting them, or clicking "No" many times on the warning dialog asking you if you want to replace the existing file.
The "No To All" button will skip creating all files that already exist without asking for further user input, but will still create converted files that do not already exist in the selected directory.

One potential issue I see is that it makes "No to All" the default selection. Unsure if that is desired, and if not, how to fix it.
Would it be useful to also have a "yes to all" option?
One potential issue I see is that it makes "No to All" the default selection. Unsure if that is desired, and if not, how to fix it.
Looks like you can call setStandardButton(QMessageBox::No).
Yeah, I guess that makes sense and I can add it tomorrow. Thanks for the link too.
A personal preference. I would order it like this: Yes, Yes To All, No & No To All
Qt automatically selects the ordering of the buttons depending on what's customary on the user's operating system. I don't think there's sufficient reason to interfere with that.
Qt automatically selects the ordering of the buttons depending on what's customary on the user's operating system. I don't think there's sufficient reason to interfere with that.
That's very interesting. Thank you!
I started on an attempt to use a temporary file, but it is still WIP. I'm thinking it is probably better to move the temporary file into the conversion methods where it already checks if the destination is writable for example. Uploaded mainly for convenience if I need to work on it on another machine, I wouldn't bother telling the bot to rebuild.
Creating the temporary file in the folder where the converted file will end up should ensure most of the conversion checks work properly, and a simple delete destination, rename to destination should be a fairly quick operation after conversion is done. Rename should fail if a file already exists with that name, so deleting the destination if conversion is success should be the only check needed to keep a failed file from overwriting a successful file. The temporary file is also marked as "Do not auto remove" on success so that it will continue to exist after the application leaves the scope the temporary file is in.
Also stopped GCZ and WIA conversions from closing the dialog prematurely leaving the user on a seemingly non-responsive convert dialog until the conversion finishes up whatever it is working on. Still seems to be a long delay when returning from these conversion methods which is why I think keeping the dialog up is necessary.
Since these conversions methods seem to only be used by the convert action, I also renamed outfile and outfile_path to tempfile and tempfile_path to make it more clear to anyone touching that code that they are working on a temporary file at that point.
Was unsure if I should still pass the outfile_path and use it for the error messages, or just change the error messages to indicate that the file is a temp file in the same location as the final file will be.
Rebased onto master. Should get rid of FIFO diffs since this doesn't touch any rendering otherwise.
Was unsure if I should still pass the
outfile_pathand use it for the error messages, or just change the error messages to indicate that the file is a temp file in the same location as the final file will be.
The main purpose of showing the path to the user is to indicate which game the problem occurred for, so perhaps it would be useful. (Or we could show just the file name instead of the whole path.)
That makes sense. I'll see if I can find a way to still inform the user which game it was.