|
|
|
@ -1529,14 +1529,31 @@ void bittorrent::applyEncryptionSettings(pe_settings se) {
@@ -1529,14 +1529,31 @@ void bittorrent::applyEncryptionSettings(pe_settings se) {
|
|
|
|
|
// backup directory
|
|
|
|
|
void bittorrent::startUpTorrents() { |
|
|
|
|
qDebug("Resuming unfinished torrents"); |
|
|
|
|
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); |
|
|
|
|
QDir torrentBackup(misc::qBittorrentPath() + "BT_backup"); |
|
|
|
|
QStringList fileNames; |
|
|
|
|
QStringList known_torrents = TorrentPersistentData::knownTorrents(); |
|
|
|
|
if(known_torrents.empty()) { |
|
|
|
|
|
|
|
|
|
if(known_torrents.empty() && !settings.value("v1_4_x_torrent_imported", false).toBool()) { |
|
|
|
|
qDebug("No known torrent, importing old torrents"); |
|
|
|
|
importOldTorrents(); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Safety measure because some people reported torrent loss since
|
|
|
|
|
// we switch the v1.5 way of resuming torrents on startup
|
|
|
|
|
QStringList filters; |
|
|
|
|
filters << "*.torrent"; |
|
|
|
|
QStringList torrents_on_hd = torrentBackup.entryList(filters, QDir::Files, QDir::Unsorted); |
|
|
|
|
foreach(QString hash, torrents_on_hd) { |
|
|
|
|
hash.chop(8); // remove trailing .torrent
|
|
|
|
|
if(!known_torrents.contains(hash)) { |
|
|
|
|
std::cerr << "ERROR Detected!!! Adding back torrent " << hash.toLocal8Bit().data() << " which got lost for some reason." << std::endl; |
|
|
|
|
addTorrent(torrentBackup.path()+QDir::separator()+hash+".torrent", false, QString(), true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// End of safety measure
|
|
|
|
|
|
|
|
|
|
qDebug("Starting up torrents"); |
|
|
|
|
if(isQueueingEnabled()) { |
|
|
|
|
QList<QPair<int, QString> > hashes; |
|
|
|
@ -1697,7 +1714,7 @@ void bittorrent::applyFormerAttributeFiles(QTorrentHandle h) {
@@ -1697,7 +1714,7 @@ void bittorrent::applyFormerAttributeFiles(QTorrentHandle h) {
|
|
|
|
|
// TODO: Remove in qBittorrent v1.6.0
|
|
|
|
|
void bittorrent::importOldTorrents() { |
|
|
|
|
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); |
|
|
|
|
if(!settings.value("v1_4_x_torrent_imported", false).toBool()) { |
|
|
|
|
Q_ASSERT(!settings.value("v1_4_x_torrent_imported", false).toBool()); |
|
|
|
|
// Import old torrent
|
|
|
|
|
QDir torrentBackup(misc::qBittorrentPath() + "BT_backup"); |
|
|
|
|
QStringList fileNames; |
|
|
|
@ -1771,5 +1788,4 @@ void bittorrent::importOldTorrents() {
@@ -1771,5 +1788,4 @@ void bittorrent::importOldTorrents() {
|
|
|
|
|
} |
|
|
|
|
settings.setValue("v1_4_x_torrent_imported", true); |
|
|
|
|
std::cout << "Successfully imported torrents from v1.4.x (or previous) instance" << std::endl; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|