mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-23 13:04:23 +00:00
Merge pull request #8185 from sledgehammer999/fix_status_state
Fix constant status of '[F] Downloading'. Closes #7628.
This commit is contained in:
commit
38d3eea6ee
@ -184,7 +184,7 @@ QVariant TorrentModel::data(const QModelIndex &index, int role) const
|
||||
case TR_PROGRESS:
|
||||
return torrent->progress();
|
||||
case TR_STATUS:
|
||||
return static_cast<int>(torrent->state());
|
||||
return QVariant::fromValue(torrent->state());
|
||||
case TR_SEEDS:
|
||||
return (role == Qt::DisplayRole) ? torrent->seedsCount() : torrent->totalSeedsCount();
|
||||
case TR_PEERS:
|
||||
|
@ -98,6 +98,20 @@ bool TransferListSortModel::lessThan(const QModelIndex &left, const QModelIndex
|
||||
return (result < 0);
|
||||
}
|
||||
|
||||
case TorrentModel::TR_STATUS: {
|
||||
// QSortFilterProxyModel::lessThan() uses the < operator only for specific QVariant types
|
||||
// so our custom type is outside that list.
|
||||
// In this case QSortFilterProxyModel::lessThan() converts other types to QString and
|
||||
// sorts them.
|
||||
// Thus we can't use the code in the default label.
|
||||
const BitTorrent::TorrentState leftValue = left.data().value<BitTorrent::TorrentState>();
|
||||
const BitTorrent::TorrentState rightValue = right.data().value<BitTorrent::TorrentState>();
|
||||
if (leftValue != rightValue)
|
||||
return leftValue < rightValue;
|
||||
|
||||
return lowerPositionThan(left, right);
|
||||
}
|
||||
|
||||
case TorrentModel::TR_ADD_DATE:
|
||||
case TorrentModel::TR_SEED_DATE:
|
||||
case TorrentModel::TR_SEEN_COMPLETE_DATE: {
|
||||
|
Loading…
x
Reference in New Issue
Block a user