mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-29 16:04:21 +00:00
Set default file priorities when not specified (#15190)
This commit is contained in:
parent
2d4d246268
commit
e4730191db
@ -89,6 +89,7 @@
|
||||
#include "common.h"
|
||||
#include "customstorage.h"
|
||||
#include "dbresumedatastorage.h"
|
||||
#include "downloadpriority.h"
|
||||
#include "filesearcher.h"
|
||||
#include "filterparserthread.h"
|
||||
#include "loadtorrentparams.h"
|
||||
@ -2146,12 +2147,21 @@ bool Session::addTorrent_impl(const std::variant<MagnetUri, TorrentInfo> &source
|
||||
}
|
||||
|
||||
Q_ASSERT(p.file_priorities.empty());
|
||||
std::transform(addTorrentParams.filePriorities.cbegin(), addTorrentParams.filePriorities.cend()
|
||||
, std::back_inserter(p.file_priorities), [](const DownloadPriority priority)
|
||||
if (addTorrentParams.filePriorities.empty())
|
||||
{
|
||||
return static_cast<lt::download_priority_t>(
|
||||
// Use qBittorrent default priority rather than libtorrent's (4)
|
||||
p.file_priorities = std::vector(metadata.filesCount(), static_cast<lt::download_priority_t>(
|
||||
static_cast<lt::download_priority_t::underlying_type>(DownloadPriority::Normal)));
|
||||
}
|
||||
else
|
||||
{
|
||||
std::transform(addTorrentParams.filePriorities.cbegin(), addTorrentParams.filePriorities.cend()
|
||||
, std::back_inserter(p.file_priorities), [](const DownloadPriority priority)
|
||||
{
|
||||
return static_cast<lt::download_priority_t>(
|
||||
static_cast<lt::download_priority_t::underlying_type>(priority));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
p.ti = metadata.nativeInfo();
|
||||
}
|
||||
|
@ -1512,6 +1512,10 @@ void TorrentImpl::endReceivedMetadataHandling(const QString &savePath, const QSt
|
||||
p.renamed_files[lt::file_index_t {i}] = fileNames[i].toStdString();
|
||||
p.save_path = Utils::Fs::toNativePath(savePath).toStdString();
|
||||
|
||||
// Use qBittorrent default priority rather than libtorrent's (4)
|
||||
p.file_priorities = std::vector(fileNames.size(), static_cast<lt::download_priority_t>(
|
||||
static_cast<lt::download_priority_t::underlying_type>(DownloadPriority::Normal)));
|
||||
|
||||
reload();
|
||||
|
||||
// If first/last piece priority was specified when adding this torrent,
|
||||
|
Loading…
x
Reference in New Issue
Block a user