summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore 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
@@ -329,513 +329,513 @@ void AdvancedFm::copy() {
329 case 0: 329 case 0:
330 break; 330 break;
331 case 1: 331 case 1:
332 return; 332 return;
333 break; 333 break;
334 default: 334 default:
335 return; 335 return;
336 break; 336 break;
337 }; 337 };
338 } 338 }
339 f.remove(); 339 f.remove();
340 } 340 }
341 341
342 if( !copyFile( curFile, destFile) ) { 342 if( !copyFile( curFile, destFile) ) {
343 QMessageBox::message("AdvancedFm", 343 QMessageBox::message("AdvancedFm",
344 tr( "<P>Could not copy %1 to %2</P>").arg(curFile).arg(destFile)); 344 tr( "<P>Could not copy %1 to %2</P>").arg(curFile).arg(destFile));
345 return; 345 return;
346 } 346 }
347 } 347 }
348 rePopulate(); 348 rePopulate();
349 } 349 }
350} 350}
351 351
352void AdvancedFm::copyAsTimer() { 352void AdvancedFm::copyAsTimer() {
353 QTimer::singleShot(125,this,SLOT(copyAs())); 353 QTimer::singleShot(125,this,SLOT(copyAs()));
354} 354}
355 355
356void AdvancedFm::copyAs() { 356void AdvancedFm::copyAs() {
357 357
358 QStringList curFileList = getPath(); 358 QStringList curFileList = getPath();
359 QString curFile, item; 359 QString curFile, item;
360 InputDialog *fileDlg; 360 InputDialog *fileDlg;
361 361
362 QDir *thisDir = CurrentDir(); 362 QDir *thisDir = CurrentDir();
363 QDir *thatDir = OtherDir(); 363 QDir *thatDir = OtherDir();
364 364
365 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 365 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
366 QString destFile; 366 QString destFile;
367 item=(*it); 367 item=(*it);
368 curFile = thisDir->canonicalPath()+"/"+(*it); 368 curFile = thisDir->canonicalPath()+"/"+(*it);
369 fileDlg = new InputDialog( this, tr("Copy %1 As").arg(curFile), TRUE, 0); 369 fileDlg = new InputDialog( this, tr("Copy %1 As").arg(curFile), TRUE, 0);
370 370
371 fileDlg->setInputText((const QString &) destFile ); 371 fileDlg->setInputText((const QString &) destFile );
372 fileDlg->exec(); 372 fileDlg->exec();
373 373
374 if( fileDlg->result() == 1 ) { 374 if( fileDlg->result() == 1 ) {
375 QString filename = fileDlg->LineEdit1->text(); 375 QString filename = fileDlg->LineEdit1->text();
376 destFile = thatDir->canonicalPath()+"/"+filename; 376 destFile = thatDir->canonicalPath()+"/"+filename;
377 377
378 QFile f( destFile); 378 QFile f( destFile);
379 if( f.exists()) { 379 if( f.exists()) {
380 switch (QMessageBox::warning(this,tr("File Exists!"), 380 switch (QMessageBox::warning(this,tr("File Exists!"),
381 tr("<P> %1 already exists. Ok to overwrite?</p>").arg(item), 381 tr("<P> %1 already exists. Ok to overwrite?</p>").arg(item),
382 tr("Yes"),tr("No"),0,0,1) ) { 382 tr("Yes"),tr("No"),0,0,1) ) {
383 case 0: 383 case 0:
384 f.remove(); 384 f.remove();
385 break; 385 break;
386 case 1: 386 case 1:
387 return; 387 return;
388 break; 388 break;
389 default: 389 default:
390 return; 390 return;
391 break; 391 break;
392 }; 392 };
393 } 393 }
394 if( !copyFile( curFile, destFile) ) { 394 if( !copyFile( curFile, destFile) ) {
395 QMessageBox::message("AdvancedFm",tr("<p>Could not copy %1 to %2</P>").arg(curFile).arg(destFile)); 395 QMessageBox::message("AdvancedFm",tr("<p>Could not copy %1 to %2</P>").arg(curFile).arg(destFile));
396 return; 396 return;
397 } 397 }
398 } 398 }
399 delete fileDlg; 399 delete fileDlg;
400 400
401 } 401 }
402 rePopulate(); 402 rePopulate();
403 // setOtherTabCurrent(); 403 // setOtherTabCurrent();
404 qApp->processEvents(); 404 qApp->processEvents();
405 405
406} 406}
407 407
408void AdvancedFm::copySameDirTimer() { 408void AdvancedFm::copySameDirTimer() {
409 QTimer::singleShot(125,this,SLOT(copySameDir())); 409 QTimer::singleShot(125,this,SLOT(copySameDir()));
410} 410}
411 411
412void AdvancedFm::copySameDir() { 412void AdvancedFm::copySameDir() {
413 qApp->processEvents(); 413 qApp->processEvents();
414 QStringList curFileList = getPath(); 414 QStringList curFileList = getPath();
415 QString curFile, item, destFile; 415 QString curFile, item, destFile;
416 InputDialog *fileDlg; 416 InputDialog *fileDlg;
417 417
418 QDir *thisDir = CurrentDir(); 418 QDir *thisDir = CurrentDir();
419 419
420 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 420 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
421 item=(*it); 421 item=(*it);
422 curFile = thisDir->canonicalPath()+"/"+ item; 422 curFile = thisDir->canonicalPath()+"/"+ item;
423 423
424 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); 424 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0);
425 fileDlg->setInputText((const QString &) destFile ); 425 fileDlg->setInputText((const QString &) destFile );
426 fileDlg->exec(); 426 fileDlg->exec();
427 427
428 if( fileDlg->result() == 1 ) { 428 if( fileDlg->result() == 1 ) {
429 429
430 QString filename = fileDlg->LineEdit1->text(); 430 QString filename = fileDlg->LineEdit1->text();
431 destFile = thisDir->canonicalPath()+"/"+filename; 431 destFile = thisDir->canonicalPath()+"/"+filename;
432 432
433 QFile f(destFile); 433 QFile f(destFile);
434 if( f.exists()) { 434 if( f.exists()) {
435 switch (QMessageBox::warning(this,tr("Delete"), 435 switch (QMessageBox::warning(this,tr("Delete"),
436 tr("<p> %1 already exists. Do you really want to delete it?</P>").arg(destFile), 436 tr("<p> %1 already exists. Do you really want to delete it?</P>").arg(destFile),
437 tr("Yes"),tr("No"),0,0,1) ) { 437 tr("Yes"),tr("No"),0,0,1) ) {
438 case 0: 438 case 0:
439 f.remove(); 439 f.remove();
440 break; 440 break;
441 case 1: 441 case 1:
442 return; 442 return;
443 break; 443 break;
444 default: 444 default:
445 return; 445 return;
446 break; 446 break;
447 }; 447 };
448 } 448 }
449 if(!copyFile( curFile,destFile) ) { 449 if(!copyFile( curFile,destFile) ) {
450 QMessageBox::message("AdvancedFm",tr("<P>Could not copy %1 to %2</P>").arg(curFile).arg(destFile)); 450 QMessageBox::message("AdvancedFm",tr("<P>Could not copy %1 to %2</P>").arg(curFile).arg(destFile));
451 return; 451 return;
452 } 452 }
453 453
454// odebug << "copy "+curFile+" as "+destFile << oendl; 454// odebug << "copy "+curFile+" as "+destFile << oendl;
455 } 455 }
456 delete fileDlg; 456 delete fileDlg;
457 } 457 }
458 rePopulate(); 458 rePopulate();
459} 459}
460 460
461void AdvancedFm::moveTimer() { 461void AdvancedFm::moveTimer() {
462 QTimer::singleShot(125,this,SLOT(move())); 462 QTimer::singleShot(125,this,SLOT(move()));
463} 463}
464 464
465void AdvancedFm::move() { 465void AdvancedFm::move() {
466 466
467 QStringList curFileList = getPath(); 467 QStringList curFileList = getPath();
468 if( curFileList.count() > 0) { 468 if( curFileList.count() > 0) {
469 QString curFile, destFile, item; 469 QString curFile, destFile, item;
470 470
471 QDir *thisDir = CurrentDir(); 471 QDir *thisDir = CurrentDir();
472 QDir *thatDir = OtherDir(); 472 QDir *thatDir = OtherDir();
473 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 473 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
474 item=(*it); 474 item=(*it);
475 QString destFile = thatDir->canonicalPath(); 475 QString destFile = thatDir->canonicalPath();
476 476
477 if(destFile.right(1).find("/",0,TRUE) == -1) 477 if(destFile.right(1).find("/",0,TRUE) == -1)
478 destFile+="/"; 478 destFile+="/";
479 destFile += item; 479 destFile += item;
480// odebug << "Destination file is "+destFile << oendl; 480// odebug << "Destination file is "+destFile << oendl;
481 481
482 curFile = thisDir->canonicalPath(); 482 curFile = thisDir->canonicalPath();
483 if(curFile.right(1).find("/",0,TRUE) == -1) 483 if(curFile.right(1).find("/",0,TRUE) == -1)
484 curFile +="/"; 484 curFile +="/";
485 curFile+= item; 485 curFile+= item;
486// odebug << "CurrentFile file is " + curFile << oendl; 486// odebug << "CurrentFile file is " + curFile << oendl;
487 487
488 if(QFileInfo(curFile).isDir()) { 488 if(QFileInfo(curFile).isDir()) {
489 moveDirectory( curFile, destFile ); 489 moveDirectory( curFile, destFile );
490 rePopulate(); 490 rePopulate();
491 return; 491 return;
492 } 492 }
493 QFile f( destFile); 493 QFile f( destFile);
494 if( f.exists()) { 494 if( f.exists()) {
495 switch ( QMessageBox::warning(this,tr("File Exists!"), 495 switch ( QMessageBox::warning(this,tr("File Exists!"),
496 tr("<p>%1 already exists. Ok to overwrite?</P>").arg(destFile), 496 tr("<p>%1 already exists. Ok to overwrite?</P>").arg(destFile),
497 tr("Yes"),tr("No"),0,0,1)) { 497 tr("Yes"),tr("No"),0,0,1)) {
498 case 0: 498 case 0:
499 break; 499 break;
500 case 1: 500 case 1:
501 return; 501 return;
502 break; 502 break;
503 default: 503 default:
504 return; 504 return;
505 break; 505 break;
506 }; 506 };
507 } 507 }
508 if( !copyFile( curFile, destFile) ) { 508 if( !copyFile( curFile, destFile) ) {
509 QMessageBox::message(tr("Note"),tr("<p>Could not move %1</p>").arg(curFile)); 509 QMessageBox::message(tr("Note"),tr("<p>Could not move %1</p>").arg(curFile));
510 return; 510 return;
511 } else 511 } else
512 QFile::remove(curFile); 512 QFile::remove(curFile);
513 } 513 }
514 } 514 }
515 rePopulate(); 515 rePopulate();
516 //setOtherTabCurrent(); 516 //setOtherTabCurrent();
517} 517}
518 518
519bool AdvancedFm::moveDirectory( const QString & src, const QString & dest ) { 519bool AdvancedFm::moveDirectory( const QString & src, const QString & dest ) {
520 int err = 0; 520 int err = 0;
521 if( copyDirectory( src, dest ) ) { 521 if( copyDirectory( src, dest ) ) {
522 QString cmd = "rm -rf " + src; 522 QString cmd = "rm -rf " + src;
523 err = system((const char*)cmd); 523 err = system((const char*)cmd);
524 } else 524 } else
525 err = -1; 525 err = -1;
526 526
527 if(err!=0) { 527 if(err!=0) {
528 QMessageBox::message(tr("Note"),tr("<p>Could not move %1</p>").arg( src)); 528 QMessageBox::message(tr("Note"),tr("<p>Could not move %1</p>").arg( src));
529 return false; 529 return false;
530 } 530 }
531 return true; 531 return true;
532} 532}
533 533
534bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) { 534bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) {
535 535
536 QString cmd = "/bin/cp -fpR " + src + " " + dest; 536 QString cmd = "/bin/cp -fpR " + src + " " + 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();
634 634
635 } 635 }
636} 636}
637 637
638void AdvancedFm::runCommandStd() { 638void AdvancedFm::runCommandStd() {
639 if( !CurrentView()->currentItem()) return; 639 if( !CurrentView()->currentItem()) return;
640 QString curFile; 640 QString curFile;
641 QDir *thisDir = CurrentDir(); 641 QDir *thisDir = CurrentDir();
642 QListView *thisView = CurrentView(); 642 QListView *thisView = CurrentView();
643 if( thisView->currentItem()) 643 if( thisView->currentItem())
644 curFile = thisDir->canonicalPath() +"/"+ thisView->currentItem()->text(0); 644 curFile = thisDir->canonicalPath() +"/"+ thisView->currentItem()->text(0);
645 645
646 InputDialog *fileDlg; 646 InputDialog *fileDlg;
647 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); 647 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
648 fileDlg->setInputText(curFile); 648 fileDlg->setInputText(curFile);
649 fileDlg->exec(); 649 fileDlg->exec();
650 650
651 if( fileDlg->result() == 1 ) { 651 if( fileDlg->result() == 1 ) {
652 qApp->processEvents(); 652 qApp->processEvents();
653 startProcess( (const QString)fileDlg->LineEdit1->text().latin1()); 653 startProcess( (const QString)fileDlg->LineEdit1->text().latin1());
654 } 654 }
655} 655}
656 656
657void AdvancedFm::fileStatus() { 657void AdvancedFm::fileStatus() {
658 if( !CurrentView()->currentItem()) return; 658 if( !CurrentView()->currentItem()) return;
659 659
660 QString curFile; 660 QString curFile;
661 curFile = CurrentView()->currentItem()->text(0); 661 curFile = CurrentView()->currentItem()->text(0);
662 662
663 QFileInfo curFileInfo(curFile); 663 QFileInfo curFileInfo(curFile);
664 664
665 FileInfoDialog *infoDlg = new FileInfoDialog(this); 665 FileInfoDialog *infoDlg = new FileInfoDialog(this);
666 infoDlg->setCaption(tr("Info for %1").arg(curFile)); 666 infoDlg->setCaption(tr("Info for %1").arg(curFile));
667 667
668 uint size = curFileInfo.size(); 668 uint size = curFileInfo.size();
669 QString sizestr; 669 QString sizestr;
670 if( size > 1048576 ) 670 if( size > 1048576 )
671 sizestr = tr("%1MB (%2 bytes)").arg(QString().sprintf("%.0f", size / 1048576.0)).arg(size); 671 sizestr = tr("%1MB (%2 bytes)").arg(QString().sprintf("%.0f", size / 1048576.0)).arg(size);
672 else if( size > 1024 ) 672 else if( size > 1024 )
673 sizestr = tr("%1kB (%2 bytes)").arg(QString().sprintf("%.0f", size / 1024.0)).arg(size); 673 sizestr = tr("%1kB (%2 bytes)").arg(QString().sprintf("%.0f", size / 1024.0)).arg(size);
674 else 674 else
675 sizestr = tr("%1 bytes").arg(size); 675 sizestr = tr("%1 bytes").arg(size);
676 676
677 infoDlg->sizeLabel->setText(sizestr); 677 infoDlg->sizeLabel->setText(sizestr);
678 678
679 if(curFileInfo.isSymLink()) 679 if(curFileInfo.isSymLink())
680 infoDlg->typeLabel->setText(tr("symbolic link")); 680 infoDlg->typeLabel->setText(tr("symbolic link"));
681 else if(curFileInfo.isFile()) { 681 else if(curFileInfo.isFile()) {
682 if(curFileInfo.isExecutable()) 682 if(curFileInfo.isExecutable())
683 infoDlg->typeLabel->setText(tr("executable file")); 683 infoDlg->typeLabel->setText(tr("executable file"));
684 else 684 else
685 infoDlg->typeLabel->setText(tr("file")); 685 infoDlg->typeLabel->setText(tr("file"));
686 } 686 }
687 else if(curFileInfo.isDir()) 687 else if(curFileInfo.isDir())
688 infoDlg->typeLabel->setText(tr("directory")); 688 infoDlg->typeLabel->setText(tr("directory"));
689 else 689 else
690 infoDlg->typeLabel->setText(tr("unknown")); 690 infoDlg->typeLabel->setText(tr("unknown"));
691 691
692 infoDlg->ownerLabel->setText( QString("%1 (%2)").arg(curFileInfo.owner()).arg(curFileInfo.ownerId()) ); 692 infoDlg->ownerLabel->setText( QString("%1 (%2)").arg(curFileInfo.owner()).arg(curFileInfo.ownerId()) );
693 infoDlg->groupLabel->setText( QString("%1 (%2)").arg(curFileInfo.group()).arg(curFileInfo.groupId()) ); 693 infoDlg->groupLabel->setText( QString("%1 (%2)").arg(curFileInfo.group()).arg(curFileInfo.groupId()) );
694 694
695 infoDlg->lastReadLabel->setText( curFileInfo.lastRead().toString() ); 695 infoDlg->lastReadLabel->setText( curFileInfo.lastRead().toString() );
696 infoDlg->lastModifiedLabel->setText( curFileInfo.lastModified().toString() ); 696 infoDlg->lastModifiedLabel->setText( curFileInfo.lastModified().toString() );
697 697
698 QString perms; 698 QString perms;
699 // User 699 // User
700 if(curFileInfo.permission(QFileInfo::ReadUser)) 700 if(curFileInfo.permission(QFileInfo::ReadUser))
701 perms += "r"; 701 perms += "r";
702 else 702 else
703 perms += "-"; 703 perms += "-";
704 if(curFileInfo.permission(QFileInfo::WriteUser)) 704 if(curFileInfo.permission(QFileInfo::WriteUser))
705 perms += "w"; 705 perms += "w";
706 else 706 else
707 perms += "-"; 707 perms += "-";
708 if(curFileInfo.permission(QFileInfo::ExeUser)) 708 if(curFileInfo.permission(QFileInfo::ExeUser))
709 perms += "x"; 709 perms += "x";
710 else 710 else
711 perms += "-"; 711 perms += "-";
712 // Group 712 // Group
713 if(curFileInfo.permission(QFileInfo::ReadGroup)) 713 if(curFileInfo.permission(QFileInfo::ReadGroup))
714 perms += "r"; 714 perms += "r";
715 else 715 else
716 perms += "-"; 716 perms += "-";
717 if(curFileInfo.permission(QFileInfo::WriteGroup)) 717 if(curFileInfo.permission(QFileInfo::WriteGroup))
718 perms += "w"; 718 perms += "w";
719 else 719 else
720 perms += "-"; 720 perms += "-";
721 if(curFileInfo.permission(QFileInfo::ExeGroup)) 721 if(curFileInfo.permission(QFileInfo::ExeGroup))
722 perms += "x"; 722 perms += "x";
723 else 723 else
724 perms += "-"; 724 perms += "-";
725 // Other 725 // Other
726 if(curFileInfo.permission(QFileInfo::ReadOther)) 726 if(curFileInfo.permission(QFileInfo::ReadOther))
727 perms += "r"; 727 perms += "r";
728 else 728 else
729 perms += "-"; 729 perms += "-";
730 if(curFileInfo.permission(QFileInfo::WriteOther)) 730 if(curFileInfo.permission(QFileInfo::WriteOther))
731 perms += "w"; 731 perms += "w";
732 else 732 else
733 perms += "-"; 733 perms += "-";
734 if(curFileInfo.permission(QFileInfo::ExeOther)) 734 if(curFileInfo.permission(QFileInfo::ExeOther))
735 perms += "x"; 735 perms += "x";
736 else 736 else
737 perms += "-"; 737 perms += "-";
738 infoDlg->permsLabel->setText( perms ); 738 infoDlg->permsLabel->setText( perms );
739 739
740 QPEApplication::execDialog( infoDlg ); 740 QPEApplication::execDialog( infoDlg );
741 741
742 qApp->processEvents(); 742 qApp->processEvents();
743} 743}
744 744
745 745
746void AdvancedFm::mkDir() { 746void AdvancedFm::mkDir() {
747 makeDir(); 747 makeDir();
748} 748}
749 749
750void AdvancedFm::rn() { 750void AdvancedFm::rn() {
751 renameIt(); 751 renameIt();
752} 752}
753 753
754void AdvancedFm::del() { 754void AdvancedFm::del() {
755 doDelete(); 755 doDelete();
756} 756}
757 757
758void AdvancedFm::mkSym() { 758void AdvancedFm::mkSym() {
759 QString cmd; 759 QString cmd;
760 QStringList curFileList = getPath(); 760 QStringList curFileList = getPath();
761 if( curFileList.count() > 0) { 761 if( curFileList.count() > 0) {
762 QDir *thisDir = CurrentDir(); 762 QDir *thisDir = CurrentDir();
763 QDir * thatDir = OtherDir(); 763 QDir * thatDir = OtherDir();
764 764
765 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 765 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
766 766
767 QString destName = thatDir->canonicalPath()+"/"+(*it); 767 QString destName = thatDir->canonicalPath()+"/"+(*it);
768 if(destName.right(1) == "/") { 768 if(destName.right(1) == "/") {
769 destName = destName.left( destName.length() -1); 769 destName = destName.left( destName.length() -1);
770 } 770 }
771 771
772 QString curFile = thisDir->canonicalPath()+"/"+(*it); 772 QString curFile = thisDir->canonicalPath()+"/"+(*it);
773 773
774 if( curFile.right(1) == "/") { 774 if( curFile.right(1) == "/") {
775 curFile = curFile.left( curFile.length() -1); 775 curFile = curFile.left( curFile.length() -1);
776 } 776 }
777 777
778 cmd = "ln -s "+curFile+" "+destName; 778 cmd = "ln -s "+curFile+" "+destName;
779// odebug << cmd << oendl; 779// odebug << cmd << oendl;
780 startProcess( (const QString)cmd ); 780 startProcess( (const QString)cmd );
781 } 781 }
782 rePopulate(); 782 rePopulate();
783 setOtherTabCurrent(); 783 setOtherTabCurrent();
784 } 784 }
785} 785}
786 786
787void AdvancedFm::doBeam() { 787void AdvancedFm::doBeam() {
788 Ir ir; 788 Ir ir;
789 if(!ir.supported()) { 789 if(!ir.supported()) {
790 } else { 790 } else {
791 QStringList curFileList = getPath(); 791 QStringList curFileList = getPath();
792 if( curFileList.count() > 0) { 792 if( curFileList.count() > 0) {
793 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 793 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
794 QString curFile = (*it); 794 QString curFile = (*it);
795 QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile; 795 QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile;
796 if( curFilePath.right(1) == "/") { 796 if( curFilePath.right(1) == "/") {
797 curFilePath = curFilePath.left( curFilePath.length() -1); 797 curFilePath = curFilePath.left( curFilePath.length() -1);
798 } 798 }
799 Ir *file = new Ir(this, "IR"); 799 Ir *file = new Ir(this, "IR");
800 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished(Ir*))); 800 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished(Ir*)));
801 file->send( curFilePath, curFile ); 801 file->send( curFilePath, curFile );
802 } 802 }
803 } 803 }
804 } 804 }
805} 805}
806 806
807void AdvancedFm::fileBeamFinished( Ir *) { 807void AdvancedFm::fileBeamFinished( Ir *) {
808 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 808 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
809} 809}
810 810
811void AdvancedFm::selectAll() { 811void AdvancedFm::selectAll() {
812 QListView *thisView = CurrentView(); 812 QListView *thisView = CurrentView();
813 thisView->selectAll(true); 813 thisView->selectAll(true);
814 thisView->setSelected( thisView->firstChild(),false); 814 thisView->setSelected( thisView->firstChild(),false);
815} 815}
816 816
817void AdvancedFm::startProcess(const QString & cmd) { 817void AdvancedFm::startProcess(const QString & cmd) {
818 QStringList command; 818 QStringList command;
819 OProcess *process; 819 OProcess *process;
820 process = new OProcess(); 820 process = new OProcess();
821 connect(process,SIGNAL(processExited(Opie::Core::OProcess*)),this,SLOT(processEnded(Opie::Core::OProcess*))); 821 connect(process,SIGNAL(processExited(Opie::Core::OProcess*)),this,SLOT(processEnded(Opie::Core::OProcess*)));
822 connect(process,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(oprocessStderr(Opie::Core::OProcess*,char*,int))); 822 connect(process,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(oprocessStderr(Opie::Core::OProcess*,char*,int)));
823 823
824 command << "/bin/sh"; 824 command << "/bin/sh";
825 command << "-c"; 825 command << "-c";
826 command << cmd.latin1(); 826 command << cmd.latin1();
827 *process << command; 827 *process << command;
828 if(!process->start(OProcess::NotifyOnExit, OProcess::All) ) 828 if(!process->start(OProcess::NotifyOnExit, OProcess::All) )
829 odebug << "could not start process" << oendl; 829 odebug << "could not start process" << oendl;
830} 830}
831 831
832void AdvancedFm::processEnded(OProcess *) { 832void AdvancedFm::processEnded(OProcess *) {
833 rePopulate(); 833 rePopulate();
834} 834}
835 835
836void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) { 836void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) {
837// owarn << "received stderrt " << buflen << " bytes" << oendl; 837// owarn << "received stderrt " << buflen << " bytes" << oendl;
838 838
839 QString lineStr = buffer; 839 QString lineStr = buffer;
840 QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") ); 840 QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") );
841} 841}