Browse Source

Add operator< for InfoHash class

adaptive-webui-19844
Chocobo1 4 years ago
parent
commit
5ba6a5fca1
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 5
      src/base/bittorrent/infohash.cpp
  2. 1
      src/base/bittorrent/infohash.h
  3. 4
      src/gui/transferlistsortmodel.cpp

5
src/base/bittorrent/infohash.cpp

@ -84,6 +84,11 @@ bool BitTorrent::operator!=(const InfoHash &left, const InfoHash &right) @@ -84,6 +84,11 @@ bool BitTorrent::operator!=(const InfoHash &left, const InfoHash &right)
return !(left == right);
}
bool BitTorrent::operator<(const InfoHash &left, const InfoHash &right)
{
return static_cast<lt::sha1_hash>(left) < static_cast<lt::sha1_hash>(right);
}
uint BitTorrent::qHash(const InfoHash &key, const uint seed)
{
return ::qHash((std::hash<lt::sha1_hash> {})(key), seed);

1
src/base/bittorrent/infohash.h

@ -61,6 +61,7 @@ namespace BitTorrent @@ -61,6 +61,7 @@ namespace BitTorrent
bool operator==(const InfoHash &left, const InfoHash &right);
bool operator!=(const InfoHash &left, const InfoHash &right);
bool operator<(const InfoHash &left, const InfoHash &right);
uint qHash(const InfoHash &key, uint seed);
}

4
src/gui/transferlistsortmodel.cpp

@ -102,8 +102,8 @@ bool TransferListSortModel::lessThan_impl(const QModelIndex &left, const QModelI @@ -102,8 +102,8 @@ bool TransferListSortModel::lessThan_impl(const QModelIndex &left, const QModelI
const auto hashLessThan = [this, &left, &right]() -> bool
{
const TransferListModel *model = qobject_cast<TransferListModel *>(sourceModel());
const QString hashL = model->torrentHandle(left)->hash();
const QString hashR = model->torrentHandle(right)->hash();
const BitTorrent::InfoHash hashL = model->torrentHandle(left)->hash();
const BitTorrent::InfoHash hashR = model->torrentHandle(right)->hash();
return hashL < hashR;
};

Loading…
Cancel
Save