diff --git a/src/TransferListWidget.cpp b/src/TransferListWidget.cpp index 4462b8a7d..573f813b0 100644 --- a/src/TransferListWidget.cpp +++ b/src/TransferListWidget.cpp @@ -89,6 +89,7 @@ TransferListWidget::TransferListWidget(QWidget *parent, bittorrent *_BTSession): // Listen for BTSession events connect(BTSession, SIGNAL(addedTorrent(QTorrentHandle&)), this, SLOT(addTorrent(QTorrentHandle&))); connect(BTSession, SIGNAL(finishedTorrent(QTorrentHandle&)), this, SLOT(setFinished(QTorrentHandle&))); + connect(BTSession, SIGNAL(metadataReceived(QTorrentHandle&)), this, SLOT(updateMetadata(QTorrentHandle&))); // Listen for list events connect(this, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(torrentDoubleClicked(QModelIndex))); @@ -170,6 +171,16 @@ void TransferListWidget::resumeTorrent(int row) { updateTorrent(row); } +void TransferListWidget::updateMetadata(QTorrentHandle &h) { + QString hash = h.hash(); + int row = getRowFromHash(hash); + if(row != -1) { + qDebug("Updating torrent metadata in download list"); + listModel->setData(listModel->index(row, NAME), QVariant(h.name())); + listModel->setData(listModel->index(row, SIZE), QVariant((qlonglong)h.actual_size())); + } +} + void TransferListWidget::updateTorrent(int row) { QString hash = getHashFromRow(row); QTorrentHandle h = BTSession->getTorrentHandle(hash); diff --git a/src/TransferListWidget.h b/src/TransferListWidget.h index 3b8c1e45a..5d616e09d 100644 --- a/src/TransferListWidget.h +++ b/src/TransferListWidget.h @@ -71,6 +71,7 @@ protected slots: bool loadHiddenColumns(); void saveHiddenColumns(); void displayListMenu(const QPoint&); + void updateMetadata(QTorrentHandle &h); //void setRowColor(int row, QColor color); public slots: