KGet: Difference between revisions

From KDE Community Wiki
*>CyberSnoopy
(New page: ==Introduction== ==Design== ==Development== ===Core=== ===Usability=== ===Plugins===)
 
 
(15 intermediate revisions by 8 users not shown)
Line 1: Line 1:
==Introduction==
==Introduction==


==Design==
==Design==


==Development==
==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).