diff --git a/src/properties/trackerlist.cpp b/src/properties/trackerlist.cpp index ed5f16e38..c36dc12c2 100644 --- a/src/properties/trackerlist.cpp +++ b/src/properties/trackerlist.cpp @@ -198,27 +198,33 @@ void TrackerList::clear() { } void TrackerList::loadStickyItems(const QTorrentHandle &h) { + QString working = tr("Working"); + QString disabled = tr("Disabled"); + // load DHT information - if (QBtSession::instance()->isDHTEnabled() && (!h.has_metadata() || !h.priv())) { - dht_item->setText(COL_STATUS, tr("Working")); - } else { - dht_item->setText(COL_STATUS, tr("Disabled")); - } - if (h.has_metadata() && h.priv()) { - dht_item->setText(COL_MSG, tr("This torrent is private")); - } + if (QBtSession::instance()->isDHTEnabled() && !h.priv()) + dht_item->setText(COL_STATUS, working); + else + dht_item->setText(COL_STATUS, disabled); // Load PeX Information if (QBtSession::instance()->isPexEnabled() && !h.priv()) - pex_item->setText(COL_STATUS, tr("Working")); + pex_item->setText(COL_STATUS, working); else - pex_item->setText(COL_STATUS, tr("Disabled")); + pex_item->setText(COL_STATUS, disabled); // Load LSD Information if (QBtSession::instance()->isLSDEnabled() && !h.priv()) - lsd_item->setText(COL_STATUS, tr("Working")); + lsd_item->setText(COL_STATUS, working); else - lsd_item->setText(COL_STATUS, tr("Disabled")); + lsd_item->setText(COL_STATUS, disabled); + + if (h.priv()) { + QString privateMsg = tr("This torrent is private"); + dht_item->setText(COL_MSG, privateMsg); + pex_item->setText(COL_MSG, privateMsg); + lsd_item->setText(COL_MSG, privateMsg); + } // XXX: libtorrent should provide this info... // Count peers from DHT, LSD, PeX diff --git a/src/qtlibtorrent/qtorrenthandle.cpp b/src/qtlibtorrent/qtorrenthandle.cpp index b608caeac..3cde87596 100644 --- a/src/qtlibtorrent/qtorrenthandle.cpp +++ b/src/qtlibtorrent/qtorrenthandle.cpp @@ -550,6 +550,8 @@ int QTorrentHandle::connections_limit() const { } bool QTorrentHandle::priv() const { + if (!has_metadata()) + return false; return torrent_handle::get_torrent_info().priv(); }