All file operations are updated to allow remote URLs, both on the source
and destination side. This consists mainly of converting local file/dir
operations to KIO calls.
Remote source was already mostly covered.
To support remote destinations, a few adaptations were needed:
- If destination is remote or a remote server mounted locally, then do not create the temporary directory as a subdir of the destination, but create it locally using default QTemporaryDir().
- When comparing file contents, if destination is remote, use KIO::storedGet to get the file contents in one go. This is much simpler and more robust than using asynchronous KIO::open calls, but has the drawback that the file is read in one go instead of in chunks.