-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index ab31c91..faa03dc 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -795,18 +795,23 @@ void AdvancedFm::localDelete() QString myFile; for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { myFile = (*it); if( myFile.find(" -> ",0,TRUE) != -1) myFile = myFile.left( myFile.find(" -> ",0,TRUE)); - QString f = currentDir.canonicalPath()+"/"+myFile; + QString f = currentDir.canonicalPath(); + if(f.right(1).find("/",0,TRUE) == -1) + f+="/"; + f+=myFile; if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { - switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+" ?" + switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+ + "\nand all it's contents ?" ,tr("Yes"),tr("No"),0,0,1) ) { case 0: { - QString cmd="rmdir -rf "+f; + f=f.left(f.length()-1); + QString cmd="rm -rf "+f; system( cmd.latin1()); populateLocalView(); } break; case 1: // exit @@ -839,18 +844,23 @@ void AdvancedFm::remoteDelete() QString myFile; for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { myFile = (*it); if(myFile.find(" -> ",0,TRUE) != -1) myFile = myFile.left(myFile.find(" -> ",0,TRUE)); - QString f = currentRemoteDir.canonicalPath()+"/"+myFile; + QString f = currentDir.canonicalPath(); + if(f.right(1).find("/",0,TRUE) == -1) + f+="/"; + f+=myFile; if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { - switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+" ?", + switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+ + "\nand all it's contents ?", tr("Yes"),tr("No"),0,0,1) ) { case 0: { - QString cmd="rmdir -rf "+f; + f=f.left(f.length()-1); + QString cmd="rm -rf "+f; system( cmd.latin1()); populateRemoteView(); } break; case 1: // exit |