/***************************************************************************
- * Copyright (C) 2009 by Lassi Väätämöinen *
- * lassi.vaatamoinen@ixonos.com *
+ * Copyright (C) 2010 by Ixonos Plc *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
+ * the Free Software Foundation; version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
#include <QTreeWidget>
+#include "QBittorrentSession.h"
+
+class SeedViewItem;
+
/**
@author Lassi Väätämöinen <lassi.vaatamoinen@ixonos.com>
*/
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<Sha1Hash, SeedViewItem*> 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) :
+class SeedViewItem : public QTreeWidgetItem
+{
+
+public:
+
+ SeedViewItem(QTreeWidget* parent, int type) :
QTreeWidgetItem(parent, type = QTreeWidgetItem::UserType) {};
-
- SeedViewItem(const QStringList& strings, int 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
+
+
+ /// @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