mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-19 21:03:30 -07:00
Allow to disable Automatic mode when "temp" path changed
This commit is contained in:
parent
04c1988665
commit
c5ff9b353c
4 changed files with 24 additions and 11 deletions
|
@ -611,7 +611,7 @@ void Session::setDownloadPathEnabled(const bool enabled)
|
|||
{
|
||||
m_isDownloadPathEnabled = enabled;
|
||||
for (TorrentImpl *const torrent : asConst(m_torrents))
|
||||
torrent->handleDownloadPathChanged();
|
||||
torrent->handleCategoryOptionsChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2551,13 +2551,32 @@ void Session::setSavePath(const Path &path)
|
|||
void Session::setDownloadPath(const Path &path)
|
||||
{
|
||||
const Path newPath = (path.isAbsolute() ? path : (savePath() / Path("temp") / path));
|
||||
if (newPath != m_downloadPath)
|
||||
if (newPath == m_downloadPath)
|
||||
return;
|
||||
|
||||
if (isDisableAutoTMMWhenDefaultSavePathChanged())
|
||||
{
|
||||
m_downloadPath = newPath;
|
||||
QSet<QString> affectedCatogories {{}}; // includes default (unnamed) category
|
||||
for (auto it = m_categories.cbegin(); it != m_categories.cend(); ++it)
|
||||
{
|
||||
const QString &categoryName = it.key();
|
||||
const CategoryOptions &categoryOptions = it.value();
|
||||
const CategoryOptions::DownloadPathOption downloadPathOption =
|
||||
categoryOptions.downloadPath.value_or(CategoryOptions::DownloadPathOption {isDownloadPathEnabled(), downloadPath()});
|
||||
if (downloadPathOption.enabled && downloadPathOption.path.isRelative())
|
||||
affectedCatogories.insert(categoryName);
|
||||
}
|
||||
|
||||
for (TorrentImpl *const torrent : asConst(m_torrents))
|
||||
torrent->handleDownloadPathChanged();
|
||||
{
|
||||
if (affectedCatogories.contains(torrent->category()))
|
||||
torrent->setAutoTMMEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
m_downloadPath = newPath;
|
||||
for (TorrentImpl *const torrent : asConst(m_torrents))
|
||||
torrent->handleCategoryOptionsChanged();
|
||||
}
|
||||
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue