author | llornkcor <llornkcor> | 2004-10-06 08:10:14 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-10-06 08:10:14 (UTC) |
commit | 14c237a2d5c60314935d51d9beea0527e337a9d8 (patch) (side-by-side diff) | |
tree | aaa74a61444febeec1db1760b79e5a07f47e8fd9 | |
parent | 637e5e26c5d30778234c03412f1bf44ed7b38a8e (diff) | |
download | opie-14c237a2d5c60314935d51d9beea0527e337a9d8.zip opie-14c237a2d5c60314935d51d9beea0527e337a9d8.tar.gz opie-14c237a2d5c60314935d51d9beea0527e337a9d8.tar.bz2 |
if user clicks dialog's X, dont go ahead and do the actions
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 137 |
1 files changed, 80 insertions, 57 deletions
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index 4802771..f25048a 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp @@ -112,413 +112,436 @@ void AdvancedFm::runThis() { } else { nf.execute(); } } } } void AdvancedFm::runText() { if( !CurrentView()->currentItem()) return; QString curFile = CurrentView()->currentItem()->text(0); if(curFile != "../") { if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink curFile = dealWithSymName((const QString&)curFile); curFile = CurrentDir()->canonicalPath()+"/"+curFile; QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); e << curFile; } } void AdvancedFm::makeDir() { InputDialog *fileDlg; fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); fileDlg->exec(); if( fileDlg->result() == 1 ) { QDir *thisDir = CurrentDir(); QString filename = fileDlg->LineEdit1->text(); thisDir->mkdir( thisDir->canonicalPath()+"/"+filename); } populateView(); } void AdvancedFm::doDelete() { QStringList curFileList = getPath(); bool doMsg=true; int count = curFileList.count(); if( count > 0) { if(count > 1 ) { QString msg; msg=tr("<p>Really delete %1 files?</p>").arg(count); switch ( QMessageBox::warning(this,tr("Delete"),msg ,tr("Yes"),tr("No"),0,0,1) ) { case 0: doMsg=false; break; case 1: return; break; + default: + return; + break; }; } 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(); if(f.right(1).find("/",0,TRUE) == -1) f += "/"; f += myFile; if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { //if file is a directory switch ( QMessageBox::warning( this, tr("Delete Directory?"), tr("<p>Really delete %1 and all it's contents?</p>" ).arg( f ) , tr("Yes"), tr("No"), 0, 0, 1) ) { case 0: - { - f=f.left(f.length()-1); - QString cmd="rm -rf "+f; - startProcess( (const QString)cmd.latin1() ); - populateView(); - } - break; + { + f=f.left(f.length()-1); + QString cmd="rm -rf "+f; + startProcess( (const QString)cmd.latin1() ); + populateView(); + } + break; case 1: - // exit - break; + // exit + break; + default: + break; }; } else { if(doMsg) { - switch ( QMessageBox::warning(this,tr("Delete"), - tr("<p>Really delete %1?</p>").arg( myFile ), - tr("Yes"), tr("No"), 0, 0, 1) ) { - case 1: - return; - break; - }; + switch ( QMessageBox::warning(this,tr("Delete"), + tr("<p>Really delete %1?</p>").arg( myFile ), + tr("Yes"), tr("No"), 0, 0, 1) ) { + case 1: + return; + break; + default: + return; + break; + }; } QString cmd="rm "+f; QFile file(f); QFileInfo fi(myFile); if( fi.fileName().find("../",0,TRUE)==-1) { // odebug << "remove link files "+myFile << oendl; // DocLnk lnk(f); DocLnk *lnk; lnk = new DocLnk(f); // odebug << "Deleting doclnk " + lnk->linkFile() << oendl; if(lnk->isValid()) lnk->removeLinkFile(); // delete lnk; file.remove(); } } } } populateView(); } void AdvancedFm::filePerms() { QStringList curFileList = getPath(); QString filePath; filePath = CurrentDir()->canonicalPath()+"/"; for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { filePermissions *filePerm; filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)(filePath+*it)); QPEApplication::execDialog( filePerm ); if( filePerm ) delete filePerm; } populateView(); } void AdvancedFm::doProperties() { #if defined(QT_QWS_OPIE) QStringList curFileList = getPath(); QString filePath; filePath = CurrentDir()->canonicalPath()+"/"; // odebug << "" << curFileList.count() << "" << oendl; for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { // odebug << (filePath+*it) << oendl; DocLnk lnk( (filePath+*it)); LnkProperties prop( &lnk ); QPEApplication::execDialog( &prop ); } #endif } void AdvancedFm::upDir() { QDir dir( CurrentDir()->canonicalPath()); dir.cdUp(); changeTo(dir.canonicalPath()); } void AdvancedFm::copyTimer() { QTimer::singleShot(125,this,SLOT(copy())); } void AdvancedFm::copy() { QStringList curFileList = getPath(); QDir *thisDir = CurrentDir(); QDir *thatDir = OtherDir(); bool doMsg = true; int count = curFileList.count(); if( count > 0) { if(count > 1 ){ QString msg; msg=tr("<p>Really copy %1 files?</p>").arg(count); switch ( QMessageBox::warning(this,tr("Copy"),msg ,tr("Yes"),tr("No"),0,0,1) ) { - case 0: - doMsg=false; - break; - case 1: - return; - break; + case 0: + doMsg=false; + break; + case 1: + return; + break; + default: + return; + break; }; } QString curFile, item, destFile; for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { item=(*it); if(item.find("->",0,TRUE)) //symlink item = item.left(item.find("->",0,TRUE)); curFile = thisDir->canonicalPath()+"/"+ item; destFile = thatDir->canonicalPath()+"/"+ item; // odebug << "Destination file is "+destFile << oendl; // odebug << "CurrentFile file is " + curFile << oendl; QFile f(destFile); if( f.exists()) { if(doMsg) { - switch ( QMessageBox::warning(this,tr("File Exists!"), - tr("<p>%1 already exists. Ok to overwrite?</P>").arg(item), - tr("Yes"),tr("No"),0,0,1)) { - case 1: - return; - break; - }; + switch ( QMessageBox::warning(this,tr("File Exists!"), + tr("<p>%1 already exists. Ok to overwrite?</P>").arg(item), + tr("Yes"),tr("No"),0,0,1)) { + case 1: + return; + break; + default: + return; + break; + }; } f.remove(); } if( !copyFile( curFile, destFile) ) { QMessageBox::message("AdvancedFm", tr( "<P>Could not copy %1 to %2</P>").arg(curFile).arg(destFile)); return; } } rePopulate(); } } void AdvancedFm::copyAsTimer() { QTimer::singleShot(125,this,SLOT(copyAs())); } void AdvancedFm::copyAs() { QStringList curFileList = getPath(); QString curFile, item; InputDialog *fileDlg; QDir *thisDir = CurrentDir(); QDir *thatDir = OtherDir(); for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { QString destFile; item=(*it); curFile = thisDir->canonicalPath()+"/"+(*it); fileDlg = new InputDialog( this, tr("Copy %1 As").arg(curFile), TRUE, 0); fileDlg->setInputText((const QString &) destFile ); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); destFile = thatDir->canonicalPath()+"/"+filename; QFile f( destFile); if( f.exists()) { - switch (QMessageBox::warning(this,tr("File Exists!"), - tr("<P> %1 already exists. Ok to overwrite?</p>").arg(item), - tr("Yes"),tr("No"),0,0,1) ) { - case 0: - f.remove(); - break; - case 1: - return; - break; - }; + switch (QMessageBox::warning(this,tr("File Exists!"), + tr("<P> %1 already exists. Ok to overwrite?</p>").arg(item), + tr("Yes"),tr("No"),0,0,1) ) { + case 0: + f.remove(); + break; + case 1: + return; + break; + default: + return; + break; + }; } if( !copyFile( curFile, destFile) ) { QMessageBox::message("AdvancedFm",tr("<p>Could not copy %1 to %2</P>").arg(curFile).arg(destFile)); return; } } delete fileDlg; } rePopulate(); // setOtherTabCurrent(); qApp->processEvents(); } void AdvancedFm::copySameDirTimer() { QTimer::singleShot(125,this,SLOT(copySameDir())); } void AdvancedFm::copySameDir() { qApp->processEvents(); QStringList curFileList = getPath(); QString curFile, item, destFile; InputDialog *fileDlg; QDir *thisDir = CurrentDir(); for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { item=(*it); curFile = thisDir->canonicalPath()+"/"+ item; 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 = thisDir->canonicalPath()+"/"+filename; QFile f(destFile); if( f.exists()) { - switch (QMessageBox::warning(this,tr("Delete"), - tr("<p> %1 already exists. Do you really want to delete it?</P>").arg(destFile), - tr("Yes"),tr("No"),0,0,1) ) { - case 0: - - f.remove(); - break; - case 1: - return; - break; - }; + switch (QMessageBox::warning(this,tr("Delete"), + tr("<p> %1 already exists. Do you really want to delete it?</P>").arg(destFile), + tr("Yes"),tr("No"),0,0,1) ) { + case 0: + + f.remove(); + break; + case 1: + return; + break; + default: + return; + break; + }; } if(!copyFile( curFile,destFile) ) { QMessageBox::message("AdvancedFm",tr("<P>Could not copy %1 to %2</P>").arg(curFile).arg(destFile)); return; } // odebug << "copy "+curFile+" as "+destFile << oendl; } delete fileDlg; } rePopulate(); } void AdvancedFm::moveTimer() { QTimer::singleShot(125,this,SLOT(move())); } void AdvancedFm::move() { QStringList curFileList = getPath(); if( curFileList.count() > 0) { QString curFile, destFile, item; QDir *thisDir = CurrentDir(); QDir *thatDir = OtherDir(); for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { item=(*it); QString destFile = thatDir->canonicalPath(); if(destFile.right(1).find("/",0,TRUE) == -1) destFile+="/"; destFile += item; // odebug << "Destination file is "+destFile << oendl; curFile = thisDir->canonicalPath(); if(curFile.right(1).find("/",0,TRUE) == -1) curFile +="/"; curFile+= item; // odebug << "CurrentFile file is " + curFile << oendl; if(QFileInfo(curFile).isDir()) { moveDirectory( curFile, destFile ); rePopulate(); return; } QFile f( destFile); if( f.exists()) { - switch ( QMessageBox::warning(this,tr("File Exists!"), - tr("<p>%1 already exists. Ok to overwrite?</P>").arg(destFile), - tr("Yes"),tr("No"),0,0,1)) { - case 1: - return; - break; - }; + switch ( QMessageBox::warning(this,tr("File Exists!"), + tr("<p>%1 already exists. Ok to overwrite?</P>").arg(destFile), + tr("Yes"),tr("No"),0,0,1)) { + case 1: + return; + break; + default: + return; + break; + }; if( !copyFile( curFile, destFile) ) { QMessageBox::message(tr("Note"),tr("<p>Could not move %1</p>").arg(curFile)); return; } else QFile::remove(curFile); } } } rePopulate(); // setOtherTabCurrent(); } bool AdvancedFm::moveDirectory( const QString & src, const QString & dest ) { int err = 0; if( copyDirectory( src, dest ) ) { QString cmd = "rm -rf " + src; err = system((const char*)cmd); } else err = -1; if(err!=0) { QMessageBox::message(tr("Note"),tr("<p>Could not move %1</p>").arg( src)); return false; } return true; } bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) { QString cmd = "/bin/cp -fpR " + src + " " + dest; owarn << cmd << oendl; int err = system( (const char *) cmd ); if ( err != 0 ) { QMessageBox::message("AdvancedFm", tr( "<p>Could not copy %1 to %2</p>").arg( src ).arg( dest ) ); return false; } return true; } bool AdvancedFm::copyFile( const QString & src, const QString & dest ) { if(QFileInfo(src).isDir()) { if( copyDirectory( src, dest )) { // setOtherTabCurrent(); rePopulate(); return true; } |