From 20d7f37fd04d82aa57543ac9aabff4057c5c64dc Mon Sep 17 00:00:00 2001 From: ngosang Date: Mon, 13 Apr 2015 10:49:29 +0200 Subject: [PATCH] Changes torrent name when metadata is retrieved --- src/core/qtlibtorrent/torrentmodel.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core/qtlibtorrent/torrentmodel.cpp b/src/core/qtlibtorrent/torrentmodel.cpp index 1579665b7..2fe7a788e 100644 --- a/src/core/qtlibtorrent/torrentmodel.cpp +++ b/src/core/qtlibtorrent/torrentmodel.cpp @@ -116,6 +116,9 @@ TorrentModelItem::TorrentModelItem(const QTorrentHandle &h) { if (m_name.isEmpty()) m_name = h.name(); + // If name is empty show the hash. This happens when magnet isn't retrieved. + if (m_name.isEmpty()) + m_name = h.hash(); } void TorrentModelItem::refreshStatus(libtorrent::torrent_status const& status) { @@ -544,6 +547,11 @@ void TorrentModel::handleTorrentUpdate(const QTorrentHandle &h) { const int row = torrentRow(h.hash()); if (row >= 0) { + // This line changes the torrent name when magnet is retrieved. + // When magnet link is added, "dn" parameter is used as name, but when metadata is retrieved + // we change the name with the retrieved torrent name. + m_torrents[row]->setData(TorrentModelItem::TR_NAME, h.name(), Qt::DisplayRole); + m_torrents[row]->refreshStatus(h.status(torrent_handle::query_accurate_download_counters)); notifyTorrentChanged(row); }