1 /***************************************************************************
2 * Copyright (C) 2010 by Ixonos Plc *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; version 2 of the License. *
8 * This program is distributed in the hope that it will be useful, *
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
11 * GNU General Public License for more details. *
13 * You should have received a copy of the GNU General Public License *
14 * along with this program; if not, write to the *
15 * Free Software Foundation, Inc., *
16 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
17 ***************************************************************************/
21 #include <QTreeWidget>
23 #include "QBittorrentSession.h"
28 @author Lassi Väätämöinen <lassi.vaatamoinen@ixonos.com>
30 class SeedView : public QTreeWidget
34 SeedView(QWidget* parent);
38 void newItem(qtrapids::QTorrentHandle const* handle);
39 void updateItem(qtrapids::QTorrentHandle const* handle);
42 void on_itemPressed(QTreeWidgetItem *item, int column);
45 // Maps torrent to SeedView item.
46 // Key: SHA1 info hash of torrent. Data: View item corresponding to torrent.
47 std::map<Sha1Hash, SeedViewItem*> items_;
60 @class DownloadViewItem
61 @brief Represents one item row of DownloadView
63 class SeedViewItem : public QTreeWidgetItem
68 SeedViewItem(QTreeWidget* parent, int type) :
69 QTreeWidgetItem(parent, type = QTreeWidgetItem::UserType) {};
71 SeedViewItem(const QStringList& strings, int type = QTreeWidgetItem::UserType ) :
72 QTreeWidgetItem (strings, type = Type) {};
75 /// @return An item comprising of string list, suitable for QTableView
77 static SeedViewItem *getHeaderItem() {
79 = new SeedViewItem(QStringList()
82 << "Progress" << "UL speed" << "Seeds/Leechers"
89 /// @todo QTorrentHandle as one hidden column