Comment 10 for bug 208615

Revision history for this message
poy (poy) wrote :

this patch adds 2 tabs in each finished window; "grouped by files" and "grouped by users"; the aggregation happens in dcpp/.

at first i tried to use boost::multi_index which would have allowed to have only one array of finished items that can be accessed in several ways; but in this case, since we have 2 possible unique keys (files and users), this was completely useless. thus there are now 2 arrays (maps), 1 indexed by file, the other by user.
note that the previous finished entries stored users/hubs as strings; now they're stored as pointers to the User class.

misc notes:

- i used a TaskQueue in the finished window because the speaker with its unique lParam didn't quite cut it.

- "grouped by files"/"by users": rename to "files"/"users" ?

- the "time" column actually means "last updated" now; rename it?

- i moved/changed/added/removed columns here and there so sizes may have changed...

- a file is shown as soon as one segment is finished; while this is optimal for uploads, it may be best to not show finished downloaded items in the "files" tab until the file is actually finished. note that we still want to keep track of users so listening to the queue instead of the downloads manager is not an option...

- there are some nice user icons in the "users" tab. :)

- added "enter" key to open the file in the "files" tab.

- added user menu items just like the ones in the search window.