-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 120 |
1 files changed, 67 insertions, 53 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index 818a281..b169a79 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -998,25 +998,27 @@ void AdvancedFm::doProperties() { QStringList AdvancedFm::getPath() { QStringList strList; if (TabWidget->currentPageIndex() == 0) { QList<QListViewItem> * getSelectedItems( QListView * Local_View ); QListViewItemIterator it( Local_View ); for ( ; it.current(); ++it ) { if ( it.current()->isSelected() ) { strList << it.current()->text(0); + qDebug(it.current()->text(0)); } } return strList; } else { QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); QListViewItemIterator it( Remote_View ); for ( ; it.current(); ++it ) { if ( it.current()->isSelected() ) { strList << it.current()->text(0); + qDebug(it.current()->text(0)); } } return strList; } return ""; } void AdvancedFm::homeButtonPushed() { @@ -1094,24 +1096,29 @@ void AdvancedFm::upDir() currentRemoteDir.cd( current, TRUE); populateRemoteView(); update(); } } void AdvancedFm::copy() { + qApp->processEvents(); QStringList curFileList = getPath(); if( curFileList.count() > 0) { QString curFile; if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { QString destFile = currentRemoteDir.canonicalPath()+"/"+(*it); + qDebug("Destination file is "+destFile); + curFile = currentDir.canonicalPath()+"/"+(*it); + qDebug("CurrentFile file is " + curFile); + QFile f(destFile); if( f.exists()) { switch ( QMessageBox::warning(this,tr("Delete"), destFile+tr(" already exists\nDo you really want to delete it?"), tr("Yes"),tr("No"),0,0,1) ) { case 0: f.remove(); break; @@ -1127,17 +1134,19 @@ void AdvancedFm::copy() } populateRemoteView(); TabWidget->setCurrentPage(1); } else { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { QString destFile = currentDir.canonicalPath()+"/"+(*it); + qDebug("Destination file is "+destFile); curFile = currentRemoteDir.canonicalPath()+"/"+(*it); + qDebug("CurrentFile file is " + curFile); QFile f(destFile); if( f.exists()) { switch ( QMessageBox::warning(this,tr("Delete"), destFile+tr(" already exists\nDo you really want to delete it?"), tr("Yes"),tr("No"),0,0,1) ) { case 0: f.remove(); @@ -1151,36 +1160,39 @@ void AdvancedFm::copy() QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); qWarning("nothin doing"); } } populateLocalView(); TabWidget->setCurrentPage(0); } + } } -void AdvancedFm::copyAs() -{ +void AdvancedFm::copyAs() { + qApp->processEvents(); + QStringList curFileList = getPath(); - if( curFileList.count() > 0) { QString curFile; InputDialog *fileDlg; - fileDlg = new InputDialog(this,tr("Copy As"),TRUE, 0); - if (TabWidget->currentPageIndex() == 0) { + qDebug("tab 1"); for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { QString destFile; curFile = currentDir.canonicalPath()+"/"+(*it); + fileDlg = new InputDialog( this,tr("Copy "+curFile+" As"), TRUE, 0); + fileDlg->setInputText((const QString &) destFile ); fileDlg->exec(); + if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentRemoteDir.canonicalPath()+"/"+(*it); + destFile = currentRemoteDir.canonicalPath()+"/"+filename; QFile f(destFile); if( f.exists()) { switch (QMessageBox::warning(this,tr("Delete"), destFile+tr(" already exists\nDo you really want to delete it?"), tr("Yes"),tr("No"),0,0,1) ) { case 0: f.remove(); @@ -1190,30 +1202,35 @@ void AdvancedFm::copyAs() break; }; } if(!copyFile(destFile, curFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); qWarning("nothin doing"); } } + delete fileDlg; + } populateRemoteView(); TabWidget->setCurrentPage(1); + } else { - if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - curFile = currentDir.canonicalPath()+"/"+(*it); + curFile = currentRemoteDir.canonicalPath()+"/"+(*it); + fileDlg = new InputDialog( this,tr("Copy "+curFile+" As"), TRUE, 0); + QString destFile; fileDlg->setInputText((const QString &) destFile); fileDlg->exec(); + if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentDir.canonicalPath()+"/"+(*it); + destFile = currentDir.canonicalPath()+"/"+filename; QFile f(destFile); if( f.exists()) { switch ( QMessageBox::warning(this,tr("Delete"), destFile+tr(" already exists\nDo you really want to delete it?"), tr("Yes"),tr("No"),0,0,1) ) { case 0: f.remove(); @@ -1224,39 +1241,43 @@ void AdvancedFm::copyAs() }; } if(!copyFile(destFile, curFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); qWarning("nothin doing"); } } + delete fileDlg; + } populateLocalView(); TabWidget->setCurrentPage(0); } } - } - -} void AdvancedFm::copySameDir() { + qApp->processEvents(); QStringList curFileList = getPath(); - if( curFileList.count() > 0) { QString curFile; InputDialog *fileDlg; if (TabWidget->currentPageIndex() == 0) { + for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { + QString destFile; curFile = currentDir.canonicalPath()+"/"+(*it); + fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); fileDlg->setInputText((const QString &) destFile ); fileDlg->exec(); + if( fileDlg->result() == 1 ) { + QString filename = fileDlg->LineEdit1->text(); destFile = currentDir.canonicalPath()+"/"+filename; QFile f(destFile); if( f.exists()) { switch (QMessageBox::warning(this,tr("Delete"), destFile+tr(" already exists\nDo you really want to delete it?"), tr("Yes"),tr("No"),0,0,1) ) { @@ -1273,30 +1294,31 @@ void AdvancedFm::copySameDir() { QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); qWarning("nothin doing"); } qDebug("copy "+curFile+" as "+destFile); } delete fileDlg; } - populateRemoteView(); - TabWidget->setCurrentPage(1); + populateLocalView(); + } else { - if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { curFile = currentRemoteDir.canonicalPath()+"/"+(*it); + fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); QString destFile; fileDlg->setInputText((const QString &) destFile); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentDir.canonicalPath()+"/"+filename; + + destFile = currentRemoteDir.canonicalPath()+"/"+filename; QFile f(destFile); if( f.exists()) { switch ( QMessageBox::warning(this,tr("Delete"), destFile+tr(" already exists\nDo you really want to delete it?"), tr("Yes"),tr("No"),0,0,1) ) { case 0: f.remove(); @@ -1309,104 +1331,96 @@ void AdvancedFm::copySameDir() { if(!copyFile(destFile, curFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); qWarning("nothin doing"); } qDebug("copy "+curFile+" as "+destFile); } delete fileDlg; } - populateLocalView(); - TabWidget->setCurrentPage(0); - } - } + populateRemoteView(); } - } void AdvancedFm::move() { + qApp->processEvents(); QStringList curFileList = getPath(); if( curFileList.count() > 0) { QString curFile; - // qDebug(curFile); QString destFile; if (TabWidget->currentPageIndex() == 0) { + for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++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); + qDebug("CurrentFile file is " + curFile); - QFile f(destFile); + QFile f( curFile); if( f.exists()) { - switch (QMessageBox::warning(this,tr("Delete"), - destFile+tr(" already exists\nDo you really want to delete it?"), - tr("Yes"),tr("No"),0,0,1) ) { - case 0: - f.remove(); - break; - case 1: - return; - break; - }; if(!copyFile( destFile, curFile) ) { QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile); return; - } + } else QFile::remove(curFile); } } + TabWidget->setCurrentPage(1); - } else { + + } else { //view 2 + for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentRemoteDir.canonicalPath(); + + QString destFile = currentDir.canonicalPath(); + if(destFile.right(1).find("/",0,TRUE) == -1) destFile+="/"; + destFile +=(*it); + qDebug("Destination file is "+destFile); - curFile = currentDir.canonicalPath(); + + curFile = currentRemoteDir.canonicalPath(); + if(curFile.right(1).find("/",0,TRUE) == -1) curFile +="/"; curFile+=(*it); + qDebug("CurrentFile file is " + curFile); - QFile f(destFile); + QFile f( curFile); if( f.exists()) { - switch (QMessageBox::warning(this,tr("Delete"), - destFile+tr(" already exists\nDo you really want to delete it?"), - tr("Yes"),tr("No"),0,0,1) ) { - case 0: - f.remove(); - break; - case 1: - return; - break; - }; if(!copyFile(destFile, curFile) ) { QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile); return; - } - } + } else QFile::remove(curFile); + } TabWidget->setCurrentPage(0); } } populateRemoteView(); populateLocalView(); } } -bool AdvancedFm::copyFile( const QString & dest, const QString & src ) -{ +bool AdvancedFm::copyFile( const QString & dest, const QString & src ) { char bf[ 50000 ]; int bytesRead; bool success = TRUE; struct stat status; QFile s( src ); QFile d( dest ); |