X-Git-Url: http://git.maemo.org/git/?p=qtrapids;a=blobdiff_plain;f=src%2Fgui%2FSeedView.h;h=37fdf75792cc6d37ebf472e39028a57c9d2101b2;hp=ef42f6b5d8c31507d4e75c1b58d8f9992be65fc2;hb=20e45e76933554432a4b4f90803be71605711377;hpb=033e50732cef6dd961ac23dcd6371c873114ebe9 diff --git a/src/gui/SeedView.h b/src/gui/SeedView.h index ef42f6b..37fdf75 100644 --- a/src/gui/SeedView.h +++ b/src/gui/SeedView.h @@ -22,26 +22,73 @@ #include +#include "QBittorrentSession.h" + +class SeedViewItem; + /** @author Lassi Väätämöinen */ class SeedView : public QTreeWidget { -Q_OBJECT - public: - SeedView(QWidget* parent); - - ~SeedView(); - - private: - // Name - // Size - // Status - // UP speed - // Seeds/Leechers - // Connected peers - // total uploaded - // ratio + Q_OBJECT +public: + SeedView(QWidget* parent); + + ~SeedView(); + + void newItem(qtrapids::QTorrentHandle const* handle); + void updateItem(qtrapids::QTorrentHandle const* handle); + +private slots: + void on_itemPressed(QTreeWidgetItem *item, int column); + +private: + // Maps torrent to SeedView item. + // Key: SHA1 info hash of torrent. Data: View item corresponding to torrent. + std::map items_; + + // Name + // Size + // Status + // UP speed + // Seeds/Leechers + // Connected peers + // total uploaded + // ratio +}; + +/** + @class DownloadViewItem + @brief Represents one item row of DownloadView + */ +class SeedViewItem : public QTreeWidgetItem +{ + +public: + + SeedViewItem(QTreeWidget* parent, int type) : + QTreeWidgetItem(parent, type = QTreeWidgetItem::UserType) {}; + + SeedViewItem(const QStringList& strings, int type = QTreeWidgetItem::UserType ) : + QTreeWidgetItem (strings, type = Type) {}; + + + /// @return An item comprising of string list, suitable for QTableView + /// header. + static SeedViewItem *getHeaderItem() { + SeedViewItem *item + = new SeedViewItem(QStringList() + << "Name" + << "Size" << "Status" + << "Progress" << "UL speed" << "Seeds/Leechers" + << "Conn. peers" + << "Ratio"); + + return item; + } + + /// @todo QTorrentHandle as one hidden column }; #endif