#ifndef DOWNLOADVIEW_H
#define DOWNLOADVIEW_H
+#include <map>
+
#include <QTreeWidget>
+#include "QBittorrentSession.h"
+
+class DownloadViewItem;
+
/**
+ @class DownloadView
+ @brief A view showing all downloaded torrents
@author Lassi Väätämöinen <lassi.vaatamoinen@ixonos.com>
*/
class DownloadView : public QTreeWidget
~DownloadView();
+ void newItem(QTorrentHandle handle);
+ void updateItem(QTorrentHandle handle);
+ QTorrentHandle removeSelected();
+ void removeItem(QTorrentHandle handle);
+
+ private slots:
+ void on_itemClicked(QTreeWidgetItem * item, int column);
private:
-
+ // Maps torrent to downloadview item.
+ // Key: SHA1 info hash of torrent. Data: View item corresponding to torrent.
+ std::map<QTorrentHandle, DownloadViewItem*> items_;
+
+ // Private functions.
+ QString GetStatusString(QTorrentHandle::State const& status) const;
+ QColor GetStatusColor(QTorrentHandle::State const& status) const;
};