mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-26 11:16:20 +03:00
Disable force reannounce when it is not possible
Closes #12080. PR #16551.
This commit is contained in:
parent
ab64ee872b
commit
aa189a7fc6
1 changed files with 17 additions and 6 deletions
|
@ -924,6 +924,7 @@ void TransferListWidget::displayListMenu()
|
|||
TagSet tagsInAny;
|
||||
TagSet tagsInAll;
|
||||
bool hasInfohashV1 = false, hasInfohashV2 = false;
|
||||
bool oneCanForceReannounce = false;
|
||||
|
||||
for (const QModelIndex &index : selectedIndexes)
|
||||
{
|
||||
|
@ -987,7 +988,8 @@ void TransferListWidget::displayListMenu()
|
|||
else
|
||||
needsStart = true;
|
||||
|
||||
if (torrent->isPaused())
|
||||
const bool isPaused = torrent->isPaused();
|
||||
if (isPaused)
|
||||
needsStart = true;
|
||||
else
|
||||
needsPause = true;
|
||||
|
@ -1010,10 +1012,16 @@ void TransferListWidget::displayListMenu()
|
|||
|
||||
first = false;
|
||||
|
||||
const bool rechecking = torrent->isChecking();
|
||||
const bool queued = (BitTorrent::Session::instance()->isQueueingSystemEnabled() && torrent->isQueued());
|
||||
|
||||
if (!isPaused && !rechecking && !queued)
|
||||
oneCanForceReannounce = true;
|
||||
|
||||
if (oneHasMetadata && oneNotSeed && !allSameSequentialDownloadMode
|
||||
&& !allSamePrioFirstlast && !allSameSuperSeeding && !allSameCategory
|
||||
&& needsStart && needsForce && needsPause && needsPreview && !allSameAutoTMM
|
||||
&& hasInfohashV1 && hasInfohashV2)
|
||||
&& hasInfohashV1 && hasInfohashV2 && oneCanForceReannounce)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
@ -1135,11 +1143,14 @@ void TransferListWidget::displayListMenu()
|
|||
if (addedPreviewAction)
|
||||
listMenu->addSeparator();
|
||||
if (oneHasMetadata)
|
||||
{
|
||||
listMenu->addAction(actionForceRecheck);
|
||||
listMenu->addAction(actionForceReannounce);
|
||||
listMenu->addSeparator();
|
||||
}
|
||||
// We can not force reannounce torrents that are paused/errored/checking/missing files/queued.
|
||||
// We may already have the tracker list from magnet url. So we can force reannounce torrents without metadata anyway.
|
||||
listMenu->addAction(actionForceReannounce);
|
||||
actionForceReannounce->setEnabled(oneCanForceReannounce);
|
||||
if (!oneCanForceReannounce)
|
||||
actionForceReannounce->setToolTip(tr("Can not force reannounce if torrent is Paused/Queued/Errored/Checking"));
|
||||
listMenu->addSeparator();
|
||||
listMenu->addAction(actionOpenDestinationFolder);
|
||||
if (BitTorrent::Session::instance()->isQueueingSystemEnabled() && oneNotSeed)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue