1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 21:14:33 +00:00

Rewrite TrackerList::reannounceSelected(), now it can force reannounce DHT

This commit is contained in:
Chocobo1 2015-07-14 15:59:15 +08:00
parent 5e400d3117
commit fb1772f019

View File

@ -400,16 +400,23 @@ void TrackerList::editSelectedTracker() {
#if LIBTORRENT_VERSION_NUM >= 10000
void TrackerList::reannounceSelected() {
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
if (!torrent) return;
QList<QTreeWidgetItem *> selected_items = getSelectedTrackerItems();
QList<QTreeWidgetItem *> selected_items = selectedItems();
if (selected_items.isEmpty()) return;
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
if (!torrent) return;
QList<BitTorrent::TrackerEntry> trackers = torrent->trackers();
for (int i = 0; i < trackers.size(); ++i) {
foreach (QTreeWidgetItem* w, selected_items) {
if (w->text(COL_URL) == trackers[i].url()) {
foreach (QTreeWidgetItem* item, selected_items) {
// DHT case
if (item == dht_item) {
torrent->forceDHTAnnounce();
continue;
}
// Trackers case
for (int i = 0; i < trackers.size(); ++i) {
if (item->text(COL_URL) == trackers[i].url()) {
torrent->forceReannounce(i);
break;
}