mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-07 12:24:21 +00:00
BUGFIX: Fixed deletion from hard drive (failed for non-empty folders)
This commit is contained in:
parent
e8e1c7f91f
commit
9f075f5087
@ -12,6 +12,7 @@
|
|||||||
- BUGFIX: Fixed download from url that would fail sometimes
|
- BUGFIX: Fixed download from url that would fail sometimes
|
||||||
- BUGFIX: Save directory was reset to default when filtering files in torrent
|
- BUGFIX: Save directory was reset to default when filtering files in torrent
|
||||||
- BUGFIX: Force a refresh of download list when the window is shown (avoid delay)
|
- BUGFIX: Force a refresh of download list when the window is shown (avoid delay)
|
||||||
|
- BUGFIX: Fixed deletion from hard drive (failed for non-empty folders)
|
||||||
- COSMETIC: Replaced OSD messages by systray messages
|
- COSMETIC: Replaced OSD messages by systray messages
|
||||||
|
|
||||||
* Tue Nov 28 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.8.0
|
* Tue Nov 28 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.8.0
|
||||||
|
1
TODO
1
TODO
@ -37,5 +37,4 @@
|
|||||||
// In v0.9.0
|
// In v0.9.0
|
||||||
- Wait for libtorrent v0.12 release
|
- Wait for libtorrent v0.12 release
|
||||||
- Add an option to disable Peer Exchange (PeX)
|
- Add an option to disable Peer Exchange (PeX)
|
||||||
- Check deletion from hard drive (bug reported)
|
|
||||||
- Should create options dialog only when needed to save up some memory
|
- Should create options dialog only when needed to save up some memory
|
@ -1092,9 +1092,9 @@ void GUI::deletePermanently(){
|
|||||||
torrentBackup.remove(fileName+".savepath");
|
torrentBackup.remove(fileName+".savepath");
|
||||||
// Remove from Hard drive TODO
|
// Remove from Hard drive TODO
|
||||||
qDebug("Removing this on hard drive: %s", qPrintable(savePath+QDir::separator()+fileName));
|
qDebug("Removing this on hard drive: %s", qPrintable(savePath+QDir::separator()+fileName));
|
||||||
QDir downloadedDir(savePath+QDir::separator()+fileName);
|
if(!misc::removePath(savePath+QDir::separator()+fileName)){
|
||||||
downloadedDir.rmpath(savePath+QDir::separator()+fileName);
|
qDebug("Couldn't remove the download on the hard drive");
|
||||||
QFile::remove(savePath+QDir::separator()+fileName);
|
}
|
||||||
// Update info bar
|
// Update info bar
|
||||||
setInfoBar("'" + fileName +"' "+tr("removed.", "<file> removed."));
|
setInfoBar("'" + fileName +"' "+tr("removed.", "<file> removed."));
|
||||||
--nbTorrents;
|
--nbTorrents;
|
||||||
@ -1261,6 +1261,7 @@ void GUI::addTorrent(const QString& path, bool fromScanDir, const QString& from_
|
|||||||
h = s->add_torrent(t, fs::path((const char*)savePath.toUtf8()), resume_data, true);
|
h = s->add_torrent(t, fs::path((const char*)savePath.toUtf8()), resume_data, true);
|
||||||
qDebug("Compact allocation mode");
|
qDebug("Compact allocation mode");
|
||||||
}
|
}
|
||||||
|
// Is this really useful and appropriate ?
|
||||||
//h.set_max_connections(60);
|
//h.set_max_connections(60);
|
||||||
h.set_max_uploads(-1);
|
h.set_max_uploads(-1);
|
||||||
// Load filtered files
|
// Load filtered files
|
||||||
|
27
src/misc.h
27
src/misc.h
@ -101,6 +101,33 @@ class misc : public QObject{
|
|||||||
return qBtPath;
|
return qBtPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool removePath(QString path){
|
||||||
|
if(!QFile::remove(path)){
|
||||||
|
// Probably a folder
|
||||||
|
QDir current_dir(path);
|
||||||
|
if(current_dir.exists()){
|
||||||
|
//Remove sub items
|
||||||
|
QStringList subItems = current_dir.entryList();
|
||||||
|
QString item;
|
||||||
|
foreach(item, subItems){
|
||||||
|
if(item != "." && item != ".."){
|
||||||
|
qDebug("-> Removing "+(path+QDir::separator()+item).toUtf8());
|
||||||
|
removePath(path+QDir::separator()+item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Remove empty folder
|
||||||
|
if(current_dir.rmpath(path)){
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Function called by curl to write the data to the file
|
// Function called by curl to write the data to the file
|
||||||
static int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream){
|
static int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream){
|
||||||
return fwrite(buffer, size, nmemb, (FILE*)stream);
|
return fwrite(buffer, size, nmemb, (FILE*)stream);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user