Difference between revisions of "Projects/KGet"

Jump to: navigation, search
Line 9: Line 9:
 
===User Interface===
 
===User Interface===
 
====Main View====
 
====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====
 
====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====
 
====DragBasket====
 +
* Show downloading progress, if multiple downloads are going, show each for 1 or 2 senconds.
 +
====SysTray====
 +
* Implement progressive filling of the icon in the system tray.
 +
* Use KPassivePopups to notify when all the transfers have been downloaded.
 
====Plasmoid====
 
====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)
 +
===Optimization===
 +
* Move deleting of big tmp-files to a new thread.
 +
* Profile kget and look for possible optimizations.
 +
* Make KGets handling of many downloads smarter, (maximum number of open connections per server).
 +
* Recursion and other wget features.
 
===Plugins===
 
===Plugins===
 
====KIO====
 
====KIO====
 +
* Save referer page for downloads.
 +
* Preserve timestamp of downloaded files (as option)
 
====MultiSegment====
 
====MultiSegment====
 
====MirrorSearch====
 
====MirrorSearch====
Line 21: Line 48:
 
====ContentFetch====
 
====ContentFetch====
 
====MetaLink====
 
====MetaLink====
 +
* GUI to create Metalinks
 
====mms====
 
====mms====
 
====MLDonkey====
 
====MLDonkey====
 +
* Write a ML-Donkey-plugin, based on libkmldonkey.

Revision as of 20:35, 31 July 2008

Contents

Introduction

Design

Development

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 senconds.

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)

Optimization

  • Move deleting of big tmp-files to a new thread.
  • Profile kget and look for possible optimizations.
  • 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)

MultiSegment

MirrorSearch

BitTorrent

ContentFetch

MetaLink

  • GUI to create Metalinks

mms

MLDonkey

  • Write a ML-Donkey-plugin, based on libkmldonkey.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal