Improve "info hash" handling

Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
This commit is contained in:
Vladimir Golovnev (Glassez)
2021-03-05 12:43:58 +03:00
parent 4da4fb0676
commit 561b597031
34 changed files with 463 additions and 320 deletions

View File

@@ -99,15 +99,15 @@ void TransferListSortModel::disableTagFilter()
invalidateFilter();
}
void TransferListSortModel::setTrackerFilter(const QSet<BitTorrent::InfoHash> &hashes)
void TransferListSortModel::setTrackerFilter(const QSet<BitTorrent::TorrentID> &torrentIDs)
{
if (m_filter.setHashSet(hashes))
if (m_filter.setTorrentIDSet(torrentIDs))
invalidateFilter();
}
void TransferListSortModel::disableTrackerFilter()
{
if (m_filter.setHashSet(TorrentFilter::AnyHash))
if (m_filter.setTorrentIDSet(TorrentFilter::AnyID))
invalidateFilter();
}