mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-29 05:48:47 +03:00
parent
28f2def21f
commit
3d7ff9765a
2 changed files with 10 additions and 13 deletions
|
@ -125,8 +125,8 @@ namespace BitTorrent
|
||||||
virtual qlonglong wastedSize() const = 0;
|
virtual qlonglong wastedSize() const = 0;
|
||||||
virtual QString currentTracker() const = 0;
|
virtual QString currentTracker() const = 0;
|
||||||
|
|
||||||
// 1. savePath() - the path where all the files and subfolders of torrent are stored (as always).
|
// 1. savePath() - the path where all the files and subfolders of torrent are stored.
|
||||||
// 2. rootPath() - absolute path of torrent file tree (save path + first item from 1st torrent file path).
|
// 2. rootPath() - absolute path of torrent file tree (first common subfolder of torrent files); empty string if torrent has no root folder.
|
||||||
// 3. contentPath() - absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents).
|
// 3. contentPath() - absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents).
|
||||||
//
|
//
|
||||||
// These methods have 'actual' parameter (defaults to false) which allow to get actual or final path variant.
|
// These methods have 'actual' parameter (defaults to false) which allow to get actual or final path variant.
|
||||||
|
@ -166,7 +166,7 @@ namespace BitTorrent
|
||||||
// | A | /home/user/torrents/torrentA | /home/user/torrents/torrentA |
|
// | A | /home/user/torrents/torrentA | /home/user/torrents/torrentA |
|
||||||
// | A*| <empty> | /home/user/torrents |
|
// | A*| <empty> | /home/user/torrents |
|
||||||
// | B | /home/user/torrents/torrentB | /home/user/torrents/torrentB/subdir1/file1 |
|
// | B | /home/user/torrents/torrentB | /home/user/torrents/torrentB/subdir1/file1 |
|
||||||
// | C | /home/user/torrents/file1 | /home/user/torrents/file1 |
|
// | C | <empty> | /home/user/torrents/file1 |
|
||||||
|
|
||||||
virtual QString savePath(bool actual = false) const = 0;
|
virtual QString savePath(bool actual = false) const = 0;
|
||||||
virtual QString rootPath(bool actual = false) const = 0;
|
virtual QString rootPath(bool actual = false) const = 0;
|
||||||
|
|
|
@ -397,12 +397,11 @@ QString TorrentImpl::rootPath(bool actual) const
|
||||||
if (!hasMetadata())
|
if (!hasMetadata())
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
const QString firstFilePath = filePath(0);
|
const QString relativeRootPath = m_torrentInfo.rootFolder();
|
||||||
const int slashIndex = firstFilePath.indexOf('/');
|
if (relativeRootPath.isEmpty())
|
||||||
if (slashIndex >= 0)
|
return {};
|
||||||
return QDir(savePath(actual)).absoluteFilePath(firstFilePath.left(slashIndex));
|
|
||||||
else
|
return QDir(savePath(actual)).absoluteFilePath(relativeRootPath);
|
||||||
return QDir(savePath(actual)).absoluteFilePath(firstFilePath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TorrentImpl::contentPath(const bool actual) const
|
QString TorrentImpl::contentPath(const bool actual) const
|
||||||
|
@ -413,10 +412,8 @@ QString TorrentImpl::contentPath(const bool actual) const
|
||||||
if (filesCount() == 1)
|
if (filesCount() == 1)
|
||||||
return QDir(savePath(actual)).absoluteFilePath(filePath(0));
|
return QDir(savePath(actual)).absoluteFilePath(filePath(0));
|
||||||
|
|
||||||
if (m_torrentInfo.hasRootFolder())
|
const QString rootPath = this->rootPath(actual);
|
||||||
return rootPath(actual);
|
return (rootPath.isEmpty() ? savePath(actual) : rootPath);
|
||||||
|
|
||||||
return savePath(actual);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TorrentImpl::isAutoTMMEnabled() const
|
bool TorrentImpl::isAutoTMMEnabled() const
|
||||||
|
|
Loading…
Reference in a new issue