Rework the GUI code for private torrents.

Conflicts:
	src/qtlibtorrent/qtorrenthandle.cpp
This commit is contained in:
sledgehammer999 2014-06-04 00:35:23 +03:00
parent 4aa9ed946f
commit d8c40084a7
2 changed files with 20 additions and 12 deletions

View file

@ -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

View file

@ -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();
}