Downloads other than bittorrent can have multiple files now, metalink uses this, I did a file-model for that.
So now you can
I guess most work went into datasourcefactory to make all of the things mentioned above possible. Also much I added so far is only used by some plugins or is not shown in the gui, but I’ll change that in the future.
The following screenshots (is there something more interesting? O_o) show some gui-parts I did, feedback on them is welcome and appreciated!

The transfersettings showing all files of the download. NOTE: The checkboxes do nothing at the moment
I used a metalink I manually created in the example above (the greyed out parts were there before) – most metalinks are for large files and I got sick of downloading a cd-image every time I test something
– the metalink-plugin uses some of the xml-tags of the metalink-specification, though many are still missing.
Btw. I renamed “Current Destination” to “Download Destination” to make it more clear. There you can move downloads to different place. The folder structure (if there was one created) is not removed though as the user might have added files to these folders. Maybe I’ll make make that more clever in the future (most likely after GSOC), like a check if there are any non-download files in these directories.

You can manually add/remove mirrors or change the number of simultanous connections to mirror

Rename files whenever you want

Choose a useful ending

Manually add verification information or verify the file if you want
In fact I did also lots of testing and found many errors in my code, depending on the changes some testing was useless a few commits later – but I like if everything is compileable and works mor or less. So I probably downloaded more than 20 GB just for testing. That does not mean that there are no bugs or problems though e.g. downloading is slow atm.
PS.: git rules
PPS.: git rebase -i rules even more
PPPS.: Thanks for the help you gave me on the irc channels!
July 7, 2009 at 7:43 am |
Hi, and thank you for your work
one thing I miss from the “open torrent” dialog box from KTorrent is a filter bar at the top of the file list (usefull when looking for a particular file in a huge torrent). A column with the size and the ability to sort by size would be usefull too, and some buttons to “check all/uncheck all”…
Maybe it would be nice to hide this extra features by default and to have a small “show…” at the right ?
July 7, 2009 at 8:51 am |
As mentioned the checkboxes do nothing atm – just to make sure that no one is disappointed if that feature does not make it in till the end of GSOC.
But when I implement the feature to choose files for download I’ll probably make an own dialog that would only consist a TreeView with the files and the things you mention that would pop up at the beginning of the download.
I want to make that sortable as well and also want to add the filesizes. What I’m not sure though is if a directory should always show 0 as filesize or the sum of the sizes of the files inside the directory – this is only a displaying issue it would be no problem to implement showing percentage of download (though I fear this would take too many resources for many files) with both ways.
Btw. do you know a legal torrent that contains many files? I’d need that for testing purposes and lost the torrent I found once (contained ~1000 files).
July 7, 2009 at 5:00 pm |
Thanks for the nice blog post! Really good work.
July 12, 2009 at 6:30 pm |
If you want, take a look at FatRat download manager possibilities. Maybe you’ll find some useful inspiration.
http://fatrat.dolezel.info/