Rename torrent if content was initially renamed

Closes #8910.
This commit is contained in:
Vladimir Golovnev (Glassez)
2018-05-19 09:41:33 +03:00
parent e157ca2430
commit a54f57611c
3 changed files with 33 additions and 13 deletions

View File

@@ -362,24 +362,29 @@ int BitTorrent::TorrentInfo::fileIndex(const QString& fileName) const
return -1;
}
bool TorrentInfo::hasRootFolder() const
QString TorrentInfo::rootFolder() const
{
QString testRootFolder;
QString rootFolder;
for (int i = 0; i < filesCount(); ++i) {
const QString filePath = this->filePath(i);
if (QDir::isAbsolutePath(filePath)) continue;
const auto filePathElements = filePath.splitRef('/');
// if at least one file has no root folder, no common root folder exists
if (filePathElements.count() <= 1) return false;
if (filePathElements.count() <= 1) return "";
if (testRootFolder.isEmpty())
testRootFolder = filePathElements.at(0).toString();
else if (testRootFolder != filePathElements.at(0))
return false;
if (rootFolder.isEmpty())
rootFolder = filePathElements.at(0).toString();
else if (rootFolder != filePathElements.at(0))
return "";
}
return true;
return rootFolder;
}
bool TorrentInfo::hasRootFolder() const
{
return !rootFolder().isEmpty();
}
void TorrentInfo::stripRootFolder()