Real torrent queues patch

Registered by apopescu

This is an improved version of the patch I've submitted a while ago (https://bugs.launchpad.net/qbittorrent/+bug/192770).
It adds proper torrent queues and priorities for both downloading and seeding, and adds the ability to display per-torrent speeds in the systray tooltip.
I tried to make it less buggy than the previous release, but it's still not extensively tested (especially the seeding queue).
The icons included are just placeholders, as I'm not an artist.
It has only been tested against <del>latest svn</del> some svn a long time ago.
There doesn't seem to be any easy way to change libtorrent's hash-checking queue, so you may have to wait for a *long* time while your torrents hash all in the wrong order.

http://launchpadlibrarian.net/12521372/better-torrent-queues.patch

UPDATE 01:
   http://launchpadlibrarian.net/12525641/UPDATE01.patch
   - fixed a bug that would cause qBittorrent to crash if seeding priorities are in a certain order
   - fixed seed priority loading from file

Apply the patch first, then the update

UPDATE 02:
I haven't updated this patch in a while because I lost interest in this project a long time ago. I've made some changes and fixed some bugs in the meantime, but I don't have the time to clean it up and set up a patch because I'm busy with school.
I will probably submit an updated, final patch after I'm done with school (2 weeks), but I can't promise anything.

Current problems:
- can't properly increase/decrease priority when more than one torrent is selected
- no code implemented to detect dead torrents, and temporarily increase maxActiveDownloads (like uTorrent does)
- no code to detect whether a priority has been used before (while loading torrents). If, for some reason, you get 2 torrents with the same priority, delete the relevant .priority or .priority-seed files from ~/.qbittorrent/BT_BACKUP/
- string sorting instead of float for priority, bad torrent transfer from seeding to downloading tab, and lots more

Blueprint information

Status:
Complete
Approver:
Christophe Dumez
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
apopescu
Definition:
Review
Series goal:
Proposed for v1.1.x
Implementation:
Implemented
Milestone target:
milestone icon 1.1.0
Started by
apopescu
Completed by
Christophe Dumez

Related branches

Sprints

Whiteboard

Chris: I'm currently reviewing the patch. I had some trouble applying the patch but It compiles now. I'll make some tests

Last time I heard from you, you said I should wait and that you would provide a new patch (but this was some time ago and you didn't update your patch).

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.