Use respective subcategory for "watched" torrents

Assign respective Subcategory of configured Category to torrents
if Automatic Torrent Management Mode is set for Watched folder.

PR #15603.
This commit is contained in:
Vladimir Golovnev 2021-10-22 05:51:11 +03:00 committed by GitHub
parent 090199f9de
commit 4f20769a6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -504,7 +504,15 @@ void TorrentFilesWatcher::Worker::processFolder(const QString &path, const QStri
if (path != watchedFolderPath) if (path != watchedFolderPath)
{ {
const QString subdirPath = watchedDir.relativeFilePath(path); const QString subdirPath = watchedDir.relativeFilePath(path);
addTorrentParams.savePath = QDir::cleanPath(QDir(addTorrentParams.savePath).filePath(subdirPath)); if (addTorrentParams.useAutoTMM)
{
addTorrentParams.category = addTorrentParams.category.isEmpty()
? subdirPath : (addTorrentParams.category + QLatin1Char('/') + subdirPath);
}
else
{
addTorrentParams.savePath = QDir::cleanPath(QDir(addTorrentParams.savePath).filePath(subdirPath));
}
} }
if (filePath.endsWith(QLatin1String(".magnet"), Qt::CaseInsensitive)) if (filePath.endsWith(QLatin1String(".magnet"), Qt::CaseInsensitive))
@ -575,7 +583,15 @@ void TorrentFilesWatcher::Worker::processFailedTorrents()
if (exactDirPath != dir.path()) if (exactDirPath != dir.path())
{ {
const QString subdirPath = dir.relativeFilePath(exactDirPath); const QString subdirPath = dir.relativeFilePath(exactDirPath);
addTorrentParams.savePath = QDir(addTorrentParams.savePath).filePath(subdirPath); if (addTorrentParams.useAutoTMM)
{
addTorrentParams.category = addTorrentParams.category.isEmpty()
? subdirPath : (addTorrentParams.category + QLatin1Char('/') + subdirPath);
}
else
{
addTorrentParams.savePath = QDir(addTorrentParams.savePath).filePath(subdirPath);
}
} }
emit torrentFound(result.value(), addTorrentParams); emit torrentFound(result.value(), addTorrentParams);