From e66af5b2718f4491623f75fd64620e4437a162a1 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Tue, 31 Jul 2007 08:13:38 +0000 Subject: [PATCH] - Improved files deletion in BT_backup (no more hard-coded extensions that are annoying when adding new ones) - Improved directory scanning for torrents using a "*.torrent" filter --- TODO | 2 ++ src/bittorrent.cpp | 27 ++++++++++++--------------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/TODO b/TODO index 938dd3d05..089f7c076 100644 --- a/TODO +++ b/TODO @@ -47,6 +47,8 @@ - Translations update (IN PROGESS) - Optimize and cleanup code - add asserts to squash remaining bugs + - Update progress (as well as size) when a torrent's content hash changed (filtered files) + - Check that there is no problem with right click menu in torrent content (all files filtered for example) - Wait for some bug fixes in libtorrent : - upload/download limit per torrent - double free or corruption on exit diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index 95ff3a39e..32c60a65f 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -163,16 +163,13 @@ void bittorrent::deleteTorrent(QString hash, bool permanent){ s->remove_torrent(h); // Remove it from torrent backup directory QDir torrentBackup(misc::qBittorrentPath() + "BT_backup"); - torrentBackup.remove(hash+".torrent"); - torrentBackup.remove(hash+".fastresume"); - torrentBackup.remove(hash+".paused"); - torrentBackup.remove(hash+".incremental"); - torrentBackup.remove(hash+".priorities"); - torrentBackup.remove(hash+".savepath"); - torrentBackup.remove(hash+".trackers"); - torrentBackup.remove(hash+".speedLimits"); - torrentBackup.remove(hash+".ratio"); - torrentBackup.remove(hash+".urlseeds"); + QStringList filters; + filters << hash+".*"; + QStringList files = torrentBackup.entryList(filters, QDir::Files, QDir::Unsorted); + QString file; + foreach(file, files){ + torrentBackup.remove(file); + } // Remove it from ETAs hash tables ETAstats.remove(hash); ETAs.remove(hash); @@ -714,13 +711,13 @@ void bittorrent::scanDirectory(){ if(!scan_dir.isNull()){ QStringList to_add; QDir dir(scan_dir); - QStringList files = dir.entryList(QDir::Files, QDir::Unsorted); + QStringList filters; + filters << "*.torrent"; + QStringList files = dir.entryList(filters, QDir::Files, QDir::Unsorted); foreach(file, files){ QString fullPath = dir.path()+QDir::separator()+file; - if(fullPath.endsWith(".torrent")){ - QFile::rename(fullPath, fullPath+QString(".old")); - to_add << fullPath+QString(".old"); - } + QFile::rename(fullPath, fullPath+QString(".old")); + to_add << fullPath+QString(".old"); } emit scanDirFoundTorrents(to_add); }