-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 @@ -831,13 +831,12 @@ void AdvancedFm::localDelete() break; case 1: // exit break; }; } - } } void AdvancedFm::remoteDelete() { QStringList curFileList = getPath(); @@ -1137,28 +1136,40 @@ void AdvancedFm::copy() { QStringList curFileList = getPath(); 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) ) qWarning("nothin doing"); } populateRemoteView(); TabWidget->setCurrentPage(1); } 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) ) qWarning("nothin doing"); } @@ -1173,21 +1184,27 @@ void AdvancedFm::copyAs() QString curFile; InputDialog *fileDlg; 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(); if(!copyFile(destFile, curFile) ) qWarning("nothin doing"); @@ -1197,19 +1214,25 @@ void AdvancedFm::copyAs() populateRemoteView(); TabWidget->setCurrentPage(1); } 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(); if(!copyFile(destFile, curFile) ) qWarning("nothin doing"); @@ -1227,15 +1250,21 @@ void AdvancedFm::move() { QString curFile; // qDebug(curFile); 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(); if(!copyFile( destFile, curFile) ) { QMessageBox::message(tr("Note"),tr("Could not move\n"+curFile)); @@ -1243,15 +1272,21 @@ void AdvancedFm::move() { } QFile::remove(curFile); } 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(); if(!copyFile(destFile, curFile) ) { QMessageBox::message(tr("Note"),tr("Could not move\n"+curFile)); |