mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-01-06 15:04:34 +08:00
Move the 'qBittorrent-resume' file even when no magnets were recovered. Also make sure to rename it with a unique name. Closes #4334.
This commit is contained in:
parent
17f1a7d22a
commit
c700b8c5c5
@ -118,14 +118,15 @@ bool upgrade(bool ask = true)
|
||||
QString oldResumeFilename = oldResumeSettings->fileName();
|
||||
QVariantHash oldResumeData = oldResumeSettings->value("torrents").toHash();
|
||||
delete oldResumeSettings;
|
||||
if (oldResumeData.isEmpty())
|
||||
bool oldResumeWasEmpty = oldResumeData.isEmpty();
|
||||
if (oldResumeWasEmpty)
|
||||
Utils::Fs::forceRemove(oldResumeFilename);
|
||||
|
||||
|
||||
QString backupFolderPath = Utils::Fs::expandPathAbs(Utils::Fs::QDesktopServicesDataLocation() + "BT_backup");
|
||||
QDir backupFolderDir(backupFolderPath);
|
||||
QStringList backupFiles = backupFolderDir.entryList(QStringList() << QLatin1String("*.fastresume"), QDir::Files, QDir::Unsorted);
|
||||
if (backupFiles.isEmpty() && oldResumeData.isEmpty()) return true;
|
||||
if (backupFiles.isEmpty() && oldResumeWasEmpty) return true;
|
||||
if (ask && !userAcceptsUpgrade()) return false;
|
||||
|
||||
int maxPrio = 0;
|
||||
@ -168,8 +169,17 @@ bool upgrade(bool ask = true)
|
||||
}
|
||||
}
|
||||
|
||||
if (!oldResumeData.isEmpty())
|
||||
QFile(oldResumeFilename).rename(oldResumeFilename + ".bak");
|
||||
if (!oldResumeWasEmpty) {
|
||||
int counter = 0;
|
||||
QString backupResumeFilename = oldResumeFilename + ".bak";
|
||||
|
||||
while (QFile::exists(backupResumeFilename)) {
|
||||
++counter;
|
||||
backupResumeFilename = oldResumeFilename + ".bak" + QString::number(counter);
|
||||
}
|
||||
|
||||
QFile::rename(oldResumeFilename, backupResumeFilename);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user