Excellent, thanks!
- mickdo
Any chance that the taskbar progress bar could include the progress of background transfers as well? When using an external editor and saving files, it's impossible to know when the files have actually finished uploading without viewing the WinSCP window
I'd do it the same way you suggest.
I just do not really like how adding new tasks may have different affect on the progress indicator.
Imagine you tun 10 hours upload. When you are 99.99% done, you add another 10 hours upload. That means that your progress drops to about 49.9% and stays there even when the first upload finishes after 10 seconds. While if you wait those 10 seconds before starting the second upload, you would naturally expect (starting with empty queue) that the progress indicator starts as 0%. To me it looks strange how those 10 seconds difference have a lasting impact on progress display for 10 hours. Though I admit that this is an edge case.
Another complication is that for recursive downloads, WinSCP has to query the server to retrieve the download size. Currently, it does that only once the respective tasks starts. While to calculate the total progress, it would have to do it at the time the task is added to the queue. What is not a trivial change. Either it has to do it on foreground (what may block the main window for a while) or it would have to open an additional connection to run the query on (what may need to breache the user preference on maximal number of opened connections).
Regarding your reference to Windows progress bar: It's not really a fair comparison as Windows 7 does not have a queue of transfers. It's displaying progress of single transfer only (equivalent to single line in WinSCP queue). When Windows shows single progress for multiple parallel transfers (Windows does that when its groups multiple buttons into one, when taskbar becomes crowded; Windows 8 does this always), it's not doing any good job as it shows progress of the least "progressed" transfer only (see attached Windows 8 screenshot). I believe this is not what you seek for.
It's not really easy to show overall progress of multiple tasks that potentially start at a different times (new tasks can be added while others are still running). How would you calculate it? I have some idea, but it is not straightforward to implement. Maybe you have better Smile
Regarding the overall progress bar for "Transfer each file individually", a queue counter is certainly an improvement. However, one of the features I like most in windows 7, is the overall progress bar, that is automatically displayed on the task bar icons. So, I often minimize the application and still can see the operation progress which is currently not possible in WinSCP if you're using multiple queues or the "Transfer each file individually" mode.
1.) If I use the background transfer mode with "Transfer each file individually" for simultaneously multiple file uploads, I'm loosing my overall progress display. FileZilla suffers from the same problem, but for me this would be great advantage to still have an overall progress bar in this mode.
2.) If I have started a background upload using "Transfer each file individually", cancelling this upload is a pain, because I have to stop and delete every single queue entry. A function for "Delete all" would be very handy.