mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-15 17:53:08 -07:00
- Make use of this: added option to delete files from disk as a torrent is removed (libtorrent)
This commit is contained in:
parent
6ed565a06b
commit
96a6f450d0
3 changed files with 6 additions and 19 deletions
|
@ -27,7 +27,6 @@
|
|||
#include "bittorrent.h"
|
||||
#include "misc.h"
|
||||
#include "downloadThread.h"
|
||||
#include "deleteThread.h"
|
||||
|
||||
#include <libtorrent/extensions/metadata_transfer.hpp>
|
||||
#include <libtorrent/extensions/ut_pex.hpp>
|
||||
|
@ -62,8 +61,6 @@ bittorrent::bittorrent() : timerScan(0), DHTEnabled(false), preAllocateAll(false
|
|||
downloader = new downloadThread(this);
|
||||
connect(downloader, SIGNAL(downloadFinished(QString, QString)), this, SLOT(processDownloadedFile(QString, QString)));
|
||||
connect(downloader, SIGNAL(downloadFailure(QString, QString)), this, SLOT(handleDownloadFailure(QString, QString)));
|
||||
// File deleter (thread)
|
||||
deleter = new deleteThread(this);
|
||||
qDebug("* BTSession constructed");
|
||||
}
|
||||
|
||||
|
@ -72,7 +69,6 @@ bittorrent::~bittorrent() {
|
|||
// Disable directory scanning
|
||||
disableDirectoryScanning();
|
||||
// Delete our objects
|
||||
delete deleter;
|
||||
delete timerAlerts;
|
||||
delete ETARefresher;
|
||||
delete downloader;
|
||||
|
@ -210,12 +206,13 @@ void bittorrent::deleteTorrent(QString hash, bool permanent) {
|
|||
}
|
||||
QString savePath = h.save_path();
|
||||
QString fileName = h.name();
|
||||
arborescence *files_arb = 0;
|
||||
if(permanent){
|
||||
files_arb = new arborescence(h.get_torrent_info());
|
||||
}
|
||||
// Remove it from session
|
||||
s->remove_torrent(h.get_torrent_handle());
|
||||
if(permanent) {
|
||||
qDebug("Removing this on hard drive: %s", qPrintable(savePath+QDir::separator()+fileName));
|
||||
s->remove_torrent(h.get_torrent_handle(), session::delete_files);
|
||||
} else {
|
||||
s->remove_torrent(h.get_torrent_handle());
|
||||
}
|
||||
// Remove it from torrent backup directory
|
||||
QDir torrentBackup(misc::qBittorrentPath() + "BT_backup");
|
||||
QStringList filters;
|
||||
|
@ -247,12 +244,6 @@ void bittorrent::deleteTorrent(QString hash, bool permanent) {
|
|||
std::cerr << "Error: Torrent " << hash.toStdString() << " is neither in finished or unfinished list\n";
|
||||
}
|
||||
}
|
||||
if(permanent && files_arb != 0) {
|
||||
// Remove from Hard drive
|
||||
qDebug("Removing this on hard drive: %s", qPrintable(savePath+QDir::separator()+fileName));
|
||||
// Deleting in a thread to avoid GUI freeze
|
||||
deleter->deleteTorrent(savePath, files_arb);
|
||||
}
|
||||
}
|
||||
|
||||
// Return a list of hashes for the finished torrents
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue