-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 65 |
1 files changed, 50 insertions, 15 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index faa03dc..bd513c0 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -833,9 +833,8 @@ void AdvancedFm::localDelete() // exit break; }; } - } } void AdvancedFm::remoteDelete() @@ -1139,10 +1138,16 @@ void AdvancedFm::copy() QString curFile; if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentRemoteDir.canonicalPath()+"/"+(*it); - curFile = currentDir.canonicalPath()+"/"+(*it); + QString destFile = currentRemoteDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) + destFile+="/"; + destFile +=(*it); + curFile = currentDir.canonicalPath(); + if(curFile.right(1).find("/",0,TRUE) == -1) + curFile +="/"; + curFile +=(*it); QFile f(destFile); if( f.exists()) f.remove(); if(!copyFile(destFile, curFile) ) @@ -1153,10 +1158,16 @@ void AdvancedFm::copy() } else { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentDir.canonicalPath()+"/"+(*it); - curFile = currentRemoteDir.canonicalPath()+"/"+(*it); + QString destFile = currentDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) + destFile+="/"; + destFile +=(*it); + curFile = currentRemoteDir.canonicalPath(); + if(curFile.right(1).find("/",0,TRUE) == -1) + curFile +="/"; + curFile +=(*it); QFile f(destFile); if( f.exists()) f.remove(); if(!copyFile(destFile, curFile) ) @@ -1175,17 +1186,23 @@ void AdvancedFm::copyAs() fileDlg = new InputDialog(this,tr("Copy As"),TRUE, 0); if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = *it; - curFile = currentDir.canonicalPath()+"/"+(*it); + QString destFile; + curFile = currentDir.canonicalPath(); + if(curFile.right(1).find("/",0,TRUE) == -1) + curFile +="/"; + curFile+=(*it); // InputDialog *fileDlg; // fileDlg = new InputDialog(this,tr("Copy As"),TRUE, 0); fileDlg->setInputText((const QString &) destFile ); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentRemoteDir.canonicalPath()+"/"+destFile; + destFile = currentRemoteDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) + destFile+="/"; + destFile +=(*it); QFile f(destFile); if( f.exists()) f.remove(); @@ -1199,15 +1216,21 @@ void AdvancedFm::copyAs() } else { if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - curFile = currentDir.canonicalPath()+"/"+(*it); - QString destFile = *it; + curFile = currentDir.canonicalPath(); + if(curFile.right(1).find("/",0,TRUE) == -1) + curFile +="/"; + curFile+=(*it); + QString destFile; fileDlg->setInputText((const QString &) destFile); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentDir.canonicalPath()+"/"+destFile; + destFile = currentDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) + destFile+="/"; + destFile +=(*it); QFile f(destFile); if( f.exists()) f.remove(); @@ -1229,11 +1252,17 @@ void AdvancedFm::move() { QString destFile; if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentRemoteDir.canonicalPath() + "/" + *it; - curFile = currentDir.canonicalPath()+"/"+(*it); + QString destFile = currentRemoteDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) + destFile+="/"; + destFile +=(*it); + curFile = currentDir.canonicalPath(); qDebug("Destination file is "+destFile); + if(curFile.right(1).find("/",0,TRUE) == -1) + curFile +="/"; + curFile+=(*it); QFile f(destFile); if( f.exists()) f.remove(); @@ -1245,11 +1274,17 @@ void AdvancedFm::move() { } TabWidget->setCurrentPage(1); } else { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentRemoteDir.canonicalPath() + "/" + *it; + QString destFile = currentRemoteDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) + destFile+="/"; + destFile +=(*it); qDebug("Destination file is "+destFile); - curFile = currentDir.canonicalPath()+"/"+(*it); + curFile = currentDir.canonicalPath(); + if(curFile.right(1).find("/",0,TRUE) == -1) + curFile +="/"; + curFile+=(*it); QFile f(destFile); if( f.exists()) f.remove(); |