Merge pull request #11521 from Chocobo1/errorStatus

Fix stuck in wrong torrent state
This commit is contained in:
Mike Tzou
2019-12-03 19:22:39 +08:00
committed by GitHub
4 changed files with 13 additions and 10 deletions

View File

@@ -100,7 +100,10 @@ void TransferListDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
break;
case TransferListModel::TR_STATUS: {
const auto state = index.data().value<BitTorrent::TorrentState>();
const QString errorMsg = index.data(Qt::UserRole).toString();
QString display = getStatusString(state);
if (state == BitTorrent::TorrentState::Error)
display += (": " + errorMsg);
QItemDelegate::drawDisplay(painter, opt, opt.rect, display);
}
break;

View File

@@ -184,7 +184,7 @@ QVariant TransferListModel::data(const QModelIndex &index, const int role) const
case TR_PROGRESS:
return torrent->progress();
case TR_STATUS:
return QVariant::fromValue(torrent->state());
return (role == Qt::DisplayRole) ? QVariant::fromValue(torrent->state()) : torrent->error();
case TR_SEEDS:
return (role == Qt::DisplayRole) ? torrent->seedsCount() : torrent->totalSeedsCount();
case TR_PEERS: