summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 9181810..3986b1f 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -537,97 +537,97 @@ bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) {
537 owarn << cmd << oendl; 537 owarn << cmd << oendl;
538 int err = system( (const char *) cmd ); 538 int err = system( (const char *) cmd );
539 if ( err != 0 ) { 539 if ( err != 0 ) {
540 QMessageBox::message("AdvancedFm", tr( "<p>Could not copy %1 to %2</p>").arg( src ).arg( dest ) ); 540 QMessageBox::message("AdvancedFm", tr( "<p>Could not copy %1 to %2</p>").arg( src ).arg( dest ) );
541 return false; 541 return false;
542 } 542 }
543 543
544 return true; 544 return true;
545} 545}
546 546
547 547
548bool AdvancedFm::copyFile( const QString & src, const QString & dest ) { 548bool AdvancedFm::copyFile( const QString & src, const QString & dest ) {
549 if(QFileInfo(src).isDir()) { 549 if(QFileInfo(src).isDir()) {
550 if( copyDirectory( src, dest )) { 550 if( copyDirectory( src, dest )) {
551 // setOtherTabCurrent(); 551 // setOtherTabCurrent();
552 rePopulate(); 552 rePopulate();
553 return true; 553 return true;
554 } 554 }
555 else 555 else
556 return false; 556 return false;
557 } 557 }
558 558
559 559
560 bool success = true; 560 bool success = true;
561 struct stat status; 561 struct stat status;
562 QFile srcFile(src); 562 QFile srcFile(src);
563 QFile destFile(dest); 563 QFile destFile(dest);
564 int err=0; 564 int err=0;
565 int read_fd=0; 565 int read_fd=0;
566 int write_fd=0; 566 int write_fd=0;
567 struct stat stat_buf; 567 struct stat stat_buf;
568 off_t offset = 0; 568 off_t offset = 0;
569 if(!srcFile.open( IO_ReadOnly|IO_Raw)) { 569 if(!srcFile.open( IO_ReadOnly|IO_Raw)) {
570// owarn << "open failed" << oendl; 570// owarn << "open failed" << oendl;
571 return success = false; 571 return success = false;
572 } 572 }
573 read_fd = srcFile.handle(); 573 read_fd = srcFile.handle();
574 if(read_fd != -1) { 574 if(read_fd != -1) {
575 fstat (read_fd, &stat_buf); 575 fstat (read_fd, &stat_buf);
576 if( !destFile.open( IO_WriteOnly|IO_Raw ) ) { 576 if( !destFile.open( IO_WriteOnly|IO_Raw ) ) {
577// owarn << "destfile open failed" << oendl; 577// owarn << "destfile open failed" << oendl;
578 return success = false; 578 return success = false;
579 } 579 }
580 write_fd = destFile.handle(); 580 write_fd = destFile.handle();
581 if(write_fd != -1) { 581 if(write_fd != -1) {
582 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size); 582 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size);
583 if( err == -1) { 583 if( err == -1) {
584 QString msg; 584 QString msg;
585 switch(err) { 585 switch(errno) {
586 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. "; 586 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. ";
587 case EINVAL: msg = "Descriptor is not valid or locked. "; 587 case EINVAL: msg = "Descriptor is not valid or locked. ";
588 case ENOMEM: msg = "Insufficient memory to read from in_fd."; 588 case ENOMEM: msg = "Insufficient memory to read from in_fd.";
589 case EIO: msg = "Unspecified error while reading from in_fd."; 589 case EIO: msg = "Unspecified error while reading from in_fd.";
590 }; 590 };
591 success = false; 591 success = false;
592// owarn << msg << oendl; 592// owarn << msg << oendl;
593 } 593 }
594 } else { 594 } else {
595 success = false; 595 success = false;
596 } 596 }
597 } else { 597 } else {
598 success = false; 598 success = false;
599 } 599 }
600 srcFile.close(); 600 srcFile.close();
601 destFile.close(); 601 destFile.close();
602 // Set file permissions 602 // Set file permissions
603 if( stat( QFile::encodeName(src), &status ) == 0 ) { 603 if( stat( QFile::encodeName(src), &status ) == 0 ) {
604 chmod( QFile::encodeName(dest), status.st_mode ); 604 chmod( QFile::encodeName(dest), status.st_mode );
605 } 605 }
606 606
607 return success; 607 return success;
608} 608}
609 609
610void AdvancedFm::runCommand() { 610void AdvancedFm::runCommand() {
611 if( !CurrentView()->currentItem()) return; 611 if( !CurrentView()->currentItem()) return;
612 QDir *thisDir = CurrentDir(); 612 QDir *thisDir = CurrentDir();
613 613
614 QString curFile; 614 QString curFile;
615 curFile = thisDir->canonicalPath() +"/"+ CurrentView()->currentItem()->text(0); 615 curFile = thisDir->canonicalPath() +"/"+ CurrentView()->currentItem()->text(0);
616 616
617 InputDialog *fileDlg; 617 InputDialog *fileDlg;
618 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); 618 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
619 fileDlg->setInputText(curFile); 619 fileDlg->setInputText(curFile);
620 fileDlg->exec(); 620 fileDlg->exec();
621 //QString command; 621 //QString command;
622 622
623 if( fileDlg->result() == 1 ) { 623 if( fileDlg->result() == 1 ) {
624// odebug << fileDlg->LineEdit1->text() << oendl; 624// odebug << fileDlg->LineEdit1->text() << oendl;
625 QStringList command; 625 QStringList command;
626 626
627 command << "/bin/sh"; 627 command << "/bin/sh";
628 command << "-c"; 628 command << "-c";
629 command << fileDlg->LineEdit1->text(); 629 command << fileDlg->LineEdit1->text();
630 Output *outDlg; 630 Output *outDlg;
631 outDlg = new Output( command, this, tr("AdvancedFm Output"), true); 631 outDlg = new Output( command, this, tr("AdvancedFm Output"), true);
632 QPEApplication::execDialog( outDlg ); 632 QPEApplication::execDialog( outDlg );
633 qApp->processEvents(); 633 qApp->processEvents();