mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-22 20:44:15 +00:00
parent
b98e7cb69f
commit
29f8b4b786
@ -2502,32 +2502,7 @@ bool Session::addTorrent_impl(const std::variant<MagnetUri, TorrentInfo> &source
|
|||||||
|
|
||||||
TorrentImpl *const torrent = m_torrents.value(id);
|
TorrentImpl *const torrent = m_torrents.value(id);
|
||||||
if (torrent)
|
if (torrent)
|
||||||
{ // a duplicate torrent is added
|
return false;
|
||||||
if (torrent->isPrivate())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (hasMetadata)
|
|
||||||
{
|
|
||||||
const TorrentInfo &torrentInfo = std::get<TorrentInfo>(source);
|
|
||||||
|
|
||||||
if (torrentInfo.isPrivate())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// merge trackers and web seeds
|
|
||||||
torrent->addTrackers(torrentInfo.trackers());
|
|
||||||
torrent->addUrlSeeds(torrentInfo.urlSeeds());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const MagnetUri &magnetUri = std::get<MagnetUri>(source);
|
|
||||||
|
|
||||||
// merge trackers and web seeds
|
|
||||||
torrent->addTrackers(magnetUri.trackers());
|
|
||||||
torrent->addUrlSeeds(magnetUri.urlSeeds());
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
LoadTorrentParams loadTorrentParams = initLoadTorrentParams(addTorrentParams);
|
LoadTorrentParams loadTorrentParams = initLoadTorrentParams(addTorrentParams);
|
||||||
lt::add_torrent_params &p = loadTorrentParams.ltAddTorrentParams;
|
lt::add_torrent_params &p = loadTorrentParams.ltAddTorrentParams;
|
||||||
|
@ -437,19 +437,25 @@ bool AddNewTorrentDialog::loadTorrentImpl()
|
|||||||
{
|
{
|
||||||
if (torrent->isPrivate() || m_torrentInfo.isPrivate())
|
if (torrent->isPrivate() || m_torrentInfo.isPrivate())
|
||||||
{
|
{
|
||||||
RaisedMessageBox::warning(this, tr("Torrent is already present"), tr("Torrent '%1' is already in the transfer list. Trackers haven't been merged because it is a private torrent.").arg(torrent->name()), QMessageBox::Ok);
|
RaisedMessageBox::warning(this, tr("Torrent is already present"), tr("Torrent '%1' is already in the transfer list. Trackers cannot be merged because it is a private torrent.").arg(torrent->name()), QMessageBox::Ok);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
torrent->addTrackers(m_torrentInfo.trackers());
|
const QMessageBox::StandardButton btn = RaisedMessageBox::question(this, tr("Torrent is already present")
|
||||||
torrent->addUrlSeeds(m_torrentInfo.urlSeeds());
|
, tr("Torrent '%1' is already in the transfer list. Do you want to merge trackers from new source?").arg(torrent->name())
|
||||||
RaisedMessageBox::information(this, tr("Torrent is already present"), tr("Torrent '%1' is already in the transfer list. Trackers have been merged.").arg(torrent->name()), QMessageBox::Ok);
|
, (QMessageBox::Yes | QMessageBox::No), QMessageBox::Yes);
|
||||||
|
if (btn == QMessageBox::Yes)
|
||||||
|
{
|
||||||
|
torrent->addTrackers(m_torrentInfo.trackers());
|
||||||
|
torrent->addUrlSeeds(m_torrentInfo.urlSeeds());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RaisedMessageBox::information(this, tr("Torrent is already present"), tr("Torrent is already queued for processing."), QMessageBox::Ok);
|
RaisedMessageBox::information(this, tr("Torrent is already present"), tr("Torrent is already queued for processing."), QMessageBox::Ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,15 +490,21 @@ bool AddNewTorrentDialog::loadMagnet(const BitTorrent::MagnetUri &magnetUri)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
torrent->addTrackers(magnetUri.trackers());
|
const QMessageBox::StandardButton btn = RaisedMessageBox::question(this, tr("Torrent is already present")
|
||||||
torrent->addUrlSeeds(magnetUri.urlSeeds());
|
, tr("Torrent '%1' is already in the transfer list. Do you want to merge trackers from new source?").arg(torrent->name())
|
||||||
RaisedMessageBox::information(this, tr("Torrent is already present"), tr("Magnet link '%1' is already in the transfer list. Trackers have been merged.").arg(torrent->name()), QMessageBox::Ok);
|
, (QMessageBox::Yes | QMessageBox::No), QMessageBox::Yes);
|
||||||
|
if (btn == QMessageBox::Yes)
|
||||||
|
{
|
||||||
|
torrent->addTrackers(magnetUri.trackers());
|
||||||
|
torrent->addUrlSeeds(magnetUri.urlSeeds());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RaisedMessageBox::information(this, tr("Torrent is already present"), tr("Magnet link is already queued for processing."), QMessageBox::Ok);
|
RaisedMessageBox::information(this, tr("Torrent is already present"), tr("Magnet link is already queued for processing."), QMessageBox::Ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user