KGet: Difference between revisions
*>CyberSnoopy (New page: ==Introduction== ==Design== ==Development== ===Core=== ===Usability=== ===Plugins===) |
(→DragBasket: typo) |
||
(15 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
==Design== | ==Design== | ||
== | ==Roadmap== | ||
===KGet 2.5 (in KDE 4.5)=== | |||
* Implement transfersRemoved/Added signals with a QList as parameter (unhack r1064328) | |||
* Better error-handling for transfers, using a setError() method -> discuss this with the whole team | |||
* Something like a filesizechecker, which informs/warns the user if there's no space free on the disk | |||
==General ToDo== | |||
===Core=== | ===Core=== | ||
* MultiSource Downloading | |||
* Add Advanced Details support | |||
===User Interface=== | |||
====Main View==== | |||
* Add advanced details area (show chunk view, peer view, file view, statistics view etc...). Use tabview to display multiple views. | |||
* Add a coloured band over the mainview displaying the currently display items. For example if I select "Downloads" from the sidebar it should display "Downloads". If instead I select a specific group <groupname> it should display "Downloads - <groupname>" | |||
* Add valid download time frame, global or individual. | |||
* Show average transfer speed when finished | |||
====SideBar==== | |||
* Re-import the sidebar. Might be a tree-view. | |||
* Add a "Finished" item. This will point to the downloaded files. | |||
* Add a popupmenu to add or delete groups by right-clicking on them. | |||
* Implement the selection of a specific group. In this way selecting a group from the sidebar should display only its transfers. | |||
* Make the sidebar capable of several sizes for its items (16, 22, 32, ...) | |||
====DragBasket==== | |||
* Show downloading progress, if multiple downloads are going, show each for 1 or 2 seconds. | |||
====SysTray==== | |||
* Implement progressive filling of the icon in the system tray. | |||
* Use KPassivePopups to notify when all the transfers have been downloaded. | |||
====Plasmoid==== | |||
===Usability=== | ===Usability=== | ||
* Ask the user if he/she wants to delete the transfer (or probably if he/she wants to delete the tmp-file)? | |||
* Let the user add new download-sources to a multithreaded transfer manually | |||
* Handle the situation when we remove a group which has transfers. | |||
* If user resume a download and find the disk space is not enough, implement a option which can move and continue the transfer to another user-specified place. | |||
* Add a wizard on the first app execution, where the user can set his download folders and other "vital" settings like the integration with Konqueror. Perhaps we could provide a good default like ~/downloads/. | |||
* Check there is enough space left before downloading file | |||
* Proxy-support, not global, only for kget (we need to wait for kdelibs) | |||
* Right-click menu to change transfer properties (filename, destination directory, url) | |||
* Add option to show newtransferdialog on top, using activiateWindow(). (DONE) | |||
===Optimization=== | |||
* Profile kget and look for possible optimizations, done for: | |||
** Removing multiple/single transfers | |||
** adding (== loading) many transfers | |||
** starting/stopping many transfers | |||
** ... further improvements there most likely still possible | |||
* Make KGets handling of many downloads smarter, (maximum number of open connections per server). | |||
* Recursion and other wget features. | |||
===Plugins=== | ===Plugins=== | ||
====KIO==== | |||
* Save referer page for downloads. | |||
* Preserve timestamp of downloaded files (as option) | |||
====BitTorrent==== | |||
* Fix crashes in Advanced-Details | |||
====ContentFetch==== | |||
* Fix thread related issues. | |||
* Polish youtube downloader. | |||
* Prepare to write megaupload/rapidshare downloader. | |||
* Write the baidu mp3 downloader (long term). |
Latest revision as of 11:59, 22 April 2019
Introduction
Design
Roadmap
KGet 2.5 (in KDE 4.5)
- Implement transfersRemoved/Added signals with a QList as parameter (unhack r1064328)
- Better error-handling for transfers, using a setError() method -> discuss this with the whole team
- Something like a filesizechecker, which informs/warns the user if there's no space free on the disk
General ToDo
Core
- MultiSource Downloading
- Add Advanced Details support
User Interface
Main View
- Add advanced details area (show chunk view, peer view, file view, statistics view etc...). Use tabview to display multiple views.
- Add a coloured band over the mainview displaying the currently display items. For example if I select "Downloads" from the sidebar it should display "Downloads". If instead I select a specific group <groupname> it should display "Downloads - <groupname>"
- Add valid download time frame, global or individual.
- Show average transfer speed when finished
SideBar
- Re-import the sidebar. Might be a tree-view.
- Add a "Finished" item. This will point to the downloaded files.
- Add a popupmenu to add or delete groups by right-clicking on them.
- Implement the selection of a specific group. In this way selecting a group from the sidebar should display only its transfers.
- Make the sidebar capable of several sizes for its items (16, 22, 32, ...)
DragBasket
- Show downloading progress, if multiple downloads are going, show each for 1 or 2 seconds.
SysTray
- Implement progressive filling of the icon in the system tray.
- Use KPassivePopups to notify when all the transfers have been downloaded.
Plasmoid
Usability
- Ask the user if he/she wants to delete the transfer (or probably if he/she wants to delete the tmp-file)?
- Let the user add new download-sources to a multithreaded transfer manually
- Handle the situation when we remove a group which has transfers.
- If user resume a download and find the disk space is not enough, implement a option which can move and continue the transfer to another user-specified place.
- Add a wizard on the first app execution, where the user can set his download folders and other "vital" settings like the integration with Konqueror. Perhaps we could provide a good default like ~/downloads/.
- Check there is enough space left before downloading file
- Proxy-support, not global, only for kget (we need to wait for kdelibs)
- Right-click menu to change transfer properties (filename, destination directory, url)
- Add option to show newtransferdialog on top, using activiateWindow(). (DONE)
Optimization
- Profile kget and look for possible optimizations, done for:
- Removing multiple/single transfers
- adding (== loading) many transfers
- starting/stopping many transfers
- ... further improvements there most likely still possible
- Make KGets handling of many downloads smarter, (maximum number of open connections per server).
- Recursion and other wget features.
Plugins
KIO
- Save referer page for downloads.
- Preserve timestamp of downloaded files (as option)
BitTorrent
- Fix crashes in Advanced-Details
ContentFetch
- Fix thread related issues.
- Polish youtube downloader.
- Prepare to write megaupload/rapidshare downloader.
- Write the baidu mp3 downloader (long term).