Browse Source

Set default file priorities when not specified (#15190)

adaptive-webui-19844
AbeniMatteo 3 years ago committed by GitHub
parent
commit
e4730191db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      src/base/bittorrent/session.cpp
  2. 4
      src/base/bittorrent/torrentimpl.cpp

18
src/base/bittorrent/session.cpp

@ -89,6 +89,7 @@
#include "common.h" #include "common.h"
#include "customstorage.h" #include "customstorage.h"
#include "dbresumedatastorage.h" #include "dbresumedatastorage.h"
#include "downloadpriority.h"
#include "filesearcher.h" #include "filesearcher.h"
#include "filterparserthread.h" #include "filterparserthread.h"
#include "loadtorrentparams.h" #include "loadtorrentparams.h"
@ -2146,12 +2147,21 @@ bool Session::addTorrent_impl(const std::variant<MagnetUri, TorrentInfo> &source
} }
Q_ASSERT(p.file_priorities.empty()); Q_ASSERT(p.file_priorities.empty());
std::transform(addTorrentParams.filePriorities.cbegin(), addTorrentParams.filePriorities.cend() if (addTorrentParams.filePriorities.empty())
, std::back_inserter(p.file_priorities), [](const DownloadPriority priority)
{ {
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)); static_cast<lt::download_priority_t::underlying_type>(priority));
}); });
}
p.ti = metadata.nativeInfo(); p.ti = metadata.nativeInfo();
} }

4
src/base/bittorrent/torrentimpl.cpp

@ -1512,6 +1512,10 @@ void TorrentImpl::endReceivedMetadataHandling(const QString &savePath, const QSt
p.renamed_files[lt::file_index_t {i}] = fileNames[i].toStdString(); p.renamed_files[lt::file_index_t {i}] = fileNames[i].toStdString();
p.save_path = Utils::Fs::toNativePath(savePath).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(); reload();
// If first/last piece priority was specified when adding this torrent, // If first/last piece priority was specified when adding this torrent,

Loading…
Cancel
Save