Major download-treeview overhaul
By Sander:
"The current treeview is not pretty enough! This is my suggestion:
NAME OF CURRENT DOWNLOAD
Download category
Download size - ETA
Progress bar
-------
NAME OF DOWNLOAD SECOND IN QUEUE
Download category
Download Size - Approximate download time
-------
This would make our window more vertical than horizontal. The rationale for this is the following: since people will not be downloading 100 files at the same moment, vertical space isn't so costly. This would spice up the main window and would give a clear overview of your downloads. In my opinion we do not need a progress bar for downloads that are not currently downloading, since downloads aren't often started when they are still in the queue. Another thing: I think that an ETA for every file would also be nice. So if a file is third in queue, the ETA would be the ETA for the first file + the ETA for the second file + the ETA for the third file. Discuss..! ;-)"
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Medium
- Drafter:
- Sander Tuit
- Direction:
- Needs approval
- Assignee:
- LottaNZB Development Team
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Not started
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Lantash: I strongly agree with all of that. Downloads cannot be sorted because of the queue nature of the download list, that's why the list header could be dropped. It wouldn't be hard to display a progress bar if and only if the download progress is greater than 0%. For non-active downloads, this is not often the case anyway. If both the ETAs and the download speed are included in the download list, we could even drop the "ETA-speed" bar. I don't like it anyway the way it is right now. A simple mockup would be highly useful for this blueprint.
Sander: Here is a (very crude) mock-up: http://
What should be changed in this mock-up:
(1) We should make the window not as wide as I showed in the mock-up
(2) We should add a progressbar where I put (progressbar)
(3) The current download should _always_ be on the top of the download queue (this way you can always find your download speed in the same place)
(4) We should use the Treeview rules hint
(5) The size of the current download should also be shown
Sander: After thinking about this a bit longer I came up with a couple of new ideas.
(1) There are people that like the treeview as it is. It's very clean. We should make the 'classic' treeview optional. This can perhaps be done by replacing the DownloadList class in gui.py by a plug-in. This way the _cell_data_
(2) Plugins should be able to render data the way they like it. How can we do this? Well, in the following way. Every plugin should have a method that gets a list of downloads as an argument. This method renders the types that this plugin provides. For instance the TV Series plugin will render upcoming tv shows. The method returns the list of downloads that have not been rendered yet. After this, the standard gui renderer will render the downloads that have not been rendered yet.
(3) Instead of rendering as in (2), we can also let this function set a specific "text" for every type. This way, it's possible to create a standard one-renderer-
Well, this may be a bit messy, but I think that point (3) would prove to be a viable solution to this overhaul problem..
Work Items
Dependency tree
* Blueprints in grey have been implemented.