summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index ab31c91..faa03dc 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -545,562 +545,572 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem)
545 currentRemoteDir.cd(strItem2, TRUE); 545 currentRemoteDir.cd(strItem2, TRUE);
546 populateRemoteView(); 546 populateRemoteView();
547 } 547 }
548 } else { // not a symlink 548 } else { // not a symlink
549 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 549 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
550 if(QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem)).exists() ) { 550 if(QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem)).exists() ) {
551 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 551 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
552 currentRemoteDir.cd(strItem,FALSE); 552 currentRemoteDir.cd(strItem,FALSE);
553 populateRemoteView(); 553 populateRemoteView();
554 } else { 554 } else {
555 currentRemoteDir.cdUp(); 555 currentRemoteDir.cdUp();
556 populateRemoteView(); 556 populateRemoteView();
557 } 557 }
558 if(QDir(strItem).exists()){ 558 if(QDir(strItem).exists()){
559 currentRemoteDir.cd(strItem, TRUE); 559 currentRemoteDir.cd(strItem, TRUE);
560 populateRemoteView(); 560 populateRemoteView();
561 } 561 }
562 } else { 562 } else {
563 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 563 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
564 if( QFile::exists(strItem ) ) { 564 if( QFile::exists(strItem ) ) {
565// qDebug("upload "+strItem); 565// qDebug("upload "+strItem);
566 } 566 }
567 } //end not symlink 567 } //end not symlink
568 chdir(strItem.latin1()); 568 chdir(strItem.latin1());
569 } 569 }
570 } 570 }
571} 571}
572 572
573void AdvancedFm::doLocalCd() 573void AdvancedFm::doLocalCd()
574{ 574{
575 localListClicked( Local_View->currentItem()); 575 localListClicked( Local_View->currentItem());
576} 576}
577 577
578void AdvancedFm::doRemoteCd() 578void AdvancedFm::doRemoteCd()
579{ 579{
580 localListClicked( Remote_View->currentItem()); 580 localListClicked( Remote_View->currentItem());
581} 581}
582 582
583void AdvancedFm::showHidden() 583void AdvancedFm::showHidden()
584{ 584{
585 if (b) { 585 if (b) {
586 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 586 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
587 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 587 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
588// localMenu->setItemChecked(localMenu->idAt(0),TRUE); 588// localMenu->setItemChecked(localMenu->idAt(0),TRUE);
589// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 589// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
590 b=FALSE; 590 b=FALSE;
591 591
592 } else { 592 } else {
593 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 593 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
594 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); 594 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
595// localMenu->setItemChecked(localMenu->idAt(0),FALSE); 595// localMenu->setItemChecked(localMenu->idAt(0),FALSE);
596// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 596// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
597 b=TRUE; 597 b=TRUE;
598 } 598 }
599 populateLocalView(); 599 populateLocalView();
600 600
601} 601}
602 602
603void AdvancedFm::showRemoteHidden() 603void AdvancedFm::showRemoteHidden()
604{ 604{
605 if (b) { 605 if (b) {
606 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 606 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
607// viewMenu->setItemChecked(localMenu->idAt(0),TRUE); 607// viewMenu->setItemChecked(localMenu->idAt(0),TRUE);
608// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 608// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
609 b=TRUE; 609 b=TRUE;
610 610
611 } else { 611 } else {
612 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 612 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
613// localMenu->setItemChecked(localMenu->idAt(0),FALSE); 613// localMenu->setItemChecked(localMenu->idAt(0),FALSE);
614// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 614// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
615 b=FALSE; 615 b=FALSE;
616 } 616 }
617 populateRemoteView(); 617 populateRemoteView();
618} 618}
619 619
620void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 620void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
621{ 621{
622 switch (mouse) { 622 switch (mouse) {
623 case 1: 623 case 1:
624 break; 624 break;
625 case 2: 625 case 2:
626 showLocalMenu(item); 626 showLocalMenu(item);
627 Local_View->clearSelection(); 627 Local_View->clearSelection();
628 break; 628 break;
629 }; 629 };
630} 630}
631 631
632void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 632void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
633{ 633{
634 switch (mouse) { 634 switch (mouse) {
635 case 1: 635 case 1:
636 break; 636 break;
637 case 2: 637 case 2:
638 showRemoteMenu(item); 638 showRemoteMenu(item);
639 Remote_View->clearSelection(); 639 Remote_View->clearSelection();
640 break; 640 break;
641 }; 641 };
642} 642}
643 643
644void AdvancedFm::showLocalMenu(QListViewItem * item) 644void AdvancedFm::showLocalMenu(QListViewItem * item)
645{ 645{
646 if(item) { 646 if(item) {
647 QPopupMenu m; 647 QPopupMenu m;
648 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 648 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
649 m.insertSeparator(); 649 m.insertSeparator();
650 if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) !=-1) 650 if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) !=-1)
651 m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); 651 m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
652 else 652 else
653 m.insertItem( tr( "Open" ), this, SLOT( runThis() )); 653 m.insertItem( tr( "Open" ), this, SLOT( runThis() ));
654 m.insertItem( tr( "Open as Text" ), this, SLOT( runText() )); 654 m.insertItem( tr( "Open as Text" ), this, SLOT( runText() ));
655 m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 655 m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
656 m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 656 m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
657 m.insertSeparator(); 657 m.insertSeparator();
658 m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); 658 m.insertItem( tr( "Rename" ), this, SLOT( localRename() ));
659 m.insertItem( tr( "Copy" ), this, SLOT( copy() )); 659 m.insertItem( tr( "Copy" ), this, SLOT( copy() ));
660 m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 660 m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
661 m.insertItem( tr( "Move" ), this, SLOT( move() )); 661 m.insertItem( tr( "Move" ), this, SLOT( move() ));
662 m.insertSeparator(); 662 m.insertSeparator();
663 m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 663 m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
664 m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 664 m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
665 m.insertSeparator(); 665 m.insertSeparator();
666 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 666 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
667 m.insertSeparator(); 667 m.insertSeparator();
668 m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 668 m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
669 m.insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 669 m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
670 m.setCheckable(TRUE); 670 m.setCheckable(TRUE);
671 if (!b) 671 if (!b)
672 m.setItemChecked(m.idAt(0),TRUE); 672 m.setItemChecked(m.idAt(0),TRUE);
673 else 673 else
674 m.setItemChecked(m.idAt(0),FALSE); 674 m.setItemChecked(m.idAt(0),FALSE);
675 m.exec( QCursor::pos() ); 675 m.exec( QCursor::pos() );
676 } 676 }
677} 677}
678 678
679void AdvancedFm::showRemoteMenu(QListViewItem * item) 679void AdvancedFm::showRemoteMenu(QListViewItem * item)
680{ 680{
681 if(item) { 681 if(item) {
682 QPopupMenu m; 682 QPopupMenu m;
683 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showRemoteHidden() )); 683 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showRemoteHidden() ));
684 m.insertSeparator(); 684 m.insertSeparator();
685 if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) !=-1) 685 if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) !=-1)
686 m.insertItem( tr( "Change Directory" ), this, SLOT( doRemoteCd() )); 686 m.insertItem( tr( "Change Directory" ), this, SLOT( doRemoteCd() ));
687 else 687 else
688 m.insertItem( tr( "Open" ), this, SLOT( runThis() )); 688 m.insertItem( tr( "Open" ), this, SLOT( runThis() ));
689 m.insertItem( tr( "Open as Text" ), this, SLOT( runText() )); 689 m.insertItem( tr( "Open as Text" ), this, SLOT( runText() ));
690 m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 690 m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
691 m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 691 m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
692 m.insertSeparator(); 692 m.insertSeparator();
693 m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 693 m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
694 m.insertItem( tr( "Copy" ), this, SLOT( copy() )); 694 m.insertItem( tr( "Copy" ), this, SLOT( copy() ));
695 m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 695 m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
696 m.insertItem( tr( "Move" ), this, SLOT( move() )); 696 m.insertItem( tr( "Move" ), this, SLOT( move() ));
697 m.insertSeparator(); 697 m.insertSeparator();
698 m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 698 m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
699 m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 699 m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
700 m.insertSeparator(); 700 m.insertSeparator();
701 m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 701 m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
702 m.insertSeparator(); 702 m.insertSeparator();
703 m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 703 m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
704 m.insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 704 m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
705 m.setCheckable(TRUE); 705 m.setCheckable(TRUE);
706 if (!b) 706 if (!b)
707 m.setItemChecked(m.idAt(0),TRUE); 707 m.setItemChecked(m.idAt(0),TRUE);
708 else 708 else
709 m.setItemChecked(m.idAt(0),FALSE); 709 m.setItemChecked(m.idAt(0),FALSE);
710 m.exec( QCursor::pos() ); 710 m.exec( QCursor::pos() );
711 } 711 }
712} 712}
713 713
714void AdvancedFm::runThis() { 714void AdvancedFm::runThis() {
715// QFileInfo *fi; 715// QFileInfo *fi;
716 if (TabWidget->currentPageIndex() == 0) { 716 if (TabWidget->currentPageIndex() == 0) {
717 QString curFile = Local_View->currentItem()->text(0); 717 QString curFile = Local_View->currentItem()->text(0);
718 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); 718 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile);
719 if(fileInfo.isExecutable()) { 719 if(fileInfo.isExecutable()) {
720 QCopEnvelope e("QPE/System", "execute(QString)" ); 720 QCopEnvelope e("QPE/System", "execute(QString)" );
721 e << curFile; 721 e << curFile;
722 } else { 722 } else {
723 curFile = currentDir.canonicalPath()+"/"+curFile; 723 curFile = currentDir.canonicalPath()+"/"+curFile;
724 DocLnk nf(curFile); 724 DocLnk nf(curFile);
725 QString execStr = nf.exec(); 725 QString execStr = nf.exec();
726 qDebug( execStr); 726 qDebug( execStr);
727 if( execStr.isEmpty() ) { 727 if( execStr.isEmpty() ) {
728 } else { 728 } else {
729 nf.execute(); 729 nf.execute();
730 } 730 }
731 } 731 }
732// MimeType mt( curFile); 732// MimeType mt( curFile);
733 } else { 733 } else {
734 QString curFile = Remote_View->currentItem()->text(0); 734 QString curFile = Remote_View->currentItem()->text(0);
735 QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); 735 QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile);
736 if(fileInfo.isExecutable()) { 736 if(fileInfo.isExecutable()) {
737 QCopEnvelope e("QPE/System", "execute(QString)" ); 737 QCopEnvelope e("QPE/System", "execute(QString)" );
738 e << curFile; 738 e << curFile;
739 } else { 739 } else {
740 curFile = currentRemoteDir.canonicalPath()+"/"+curFile; 740 curFile = currentRemoteDir.canonicalPath()+"/"+curFile;
741 DocLnk nf(curFile); 741 DocLnk nf(curFile);
742 QString execStr = nf.exec(); 742 QString execStr = nf.exec();
743 qDebug(execStr); 743 qDebug(execStr);
744 if( execStr.isEmpty() ) { 744 if( execStr.isEmpty() ) {
745 } else { 745 } else {
746 nf.execute(); 746 nf.execute();
747 } 747 }
748 } 748 }
749// MimeType mt( curFile); 749// MimeType mt( curFile);
750 } 750 }
751} 751}
752 752
753void AdvancedFm::runText() { 753void AdvancedFm::runText() {
754 if (TabWidget->currentPageIndex() == 0) { 754 if (TabWidget->currentPageIndex() == 0) {
755 QString curFile = Local_View->currentItem()->text(0); 755 QString curFile = Local_View->currentItem()->text(0);
756 curFile = currentDir.canonicalPath()+"/"+curFile; 756 curFile = currentDir.canonicalPath()+"/"+curFile;
757 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); 757 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
758 e << curFile; 758 e << curFile;
759 } else { 759 } else {
760 QString curFile = Remote_View->currentItem()->text(0); 760 QString curFile = Remote_View->currentItem()->text(0);
761 curFile = currentRemoteDir.canonicalPath()+"/"+curFile; 761 curFile = currentRemoteDir.canonicalPath()+"/"+curFile;
762 DocLnk nf(curFile); 762 DocLnk nf(curFile);
763 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); 763 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
764 e << curFile; 764 e << curFile;
765 } 765 }
766} 766}
767 767
768void AdvancedFm::localMakDir() 768void AdvancedFm::localMakDir()
769{ 769{
770 InputDialog *fileDlg; 770 InputDialog *fileDlg;
771 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); 771 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
772 fileDlg->exec(); 772 fileDlg->exec();
773 if( fileDlg->result() == 1 ) { 773 if( fileDlg->result() == 1 ) {
774 QString filename = fileDlg->LineEdit1->text(); 774 QString filename = fileDlg->LineEdit1->text();
775 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); 775 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename);
776 } 776 }
777 populateLocalView(); 777 populateLocalView();
778} 778}
779 779
780void AdvancedFm::remoteMakDir() 780void AdvancedFm::remoteMakDir()
781{ 781{
782 InputDialog *fileDlg; 782 InputDialog *fileDlg;
783 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); 783 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
784 fileDlg->exec(); 784 fileDlg->exec();
785 if( fileDlg->result() == 1 ) { 785 if( fileDlg->result() == 1 ) {
786 QString filename = fileDlg->LineEdit1->text(); 786 QString filename = fileDlg->LineEdit1->text();
787 currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename); 787 currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename);
788 } 788 }
789 populateRemoteView(); 789 populateRemoteView();
790} 790}
791 791
792void AdvancedFm::localDelete() 792void AdvancedFm::localDelete()
793{ 793{
794 QStringList curFileList = getPath(); 794 QStringList curFileList = getPath();
795 QString myFile; 795 QString myFile;
796 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 796 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
797 myFile = (*it); 797 myFile = (*it);
798 if( myFile.find(" -> ",0,TRUE) != -1) 798 if( myFile.find(" -> ",0,TRUE) != -1)
799 myFile = myFile.left( myFile.find(" -> ",0,TRUE)); 799 myFile = myFile.left( myFile.find(" -> ",0,TRUE));
800 800
801 QString f = currentDir.canonicalPath()+"/"+myFile; 801 QString f = currentDir.canonicalPath();
802 if(f.right(1).find("/",0,TRUE) == -1)
803 f+="/";
804 f+=myFile;
802 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { 805 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
803 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+" ?" 806 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+
807 "\nand all it's contents ?"
804 ,tr("Yes"),tr("No"),0,0,1) ) { 808 ,tr("Yes"),tr("No"),0,0,1) ) {
805 case 0: { 809 case 0: {
806 QString cmd="rmdir -rf "+f; 810 f=f.left(f.length()-1);
811 QString cmd="rm -rf "+f;
807 system( cmd.latin1()); 812 system( cmd.latin1());
808 populateLocalView(); 813 populateLocalView();
809 } 814 }
810 break; 815 break;
811 case 1: 816 case 1:
812 // exit 817 // exit
813 break; 818 break;
814 }; 819 };
815 820
816 } else { 821 } else {
817 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f 822 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f
818 +" ?",tr("Yes"),tr("No"),0,0,1) ) { 823 +" ?",tr("Yes"),tr("No"),0,0,1) ) {
819 case 0: { 824 case 0: {
820 QString cmd="rm "+f; 825 QString cmd="rm "+f;
821 QFile file(f); 826 QFile file(f);
822 file.remove(); 827 file.remove();
823// system( cmd.latin1()); 828// system( cmd.latin1());
824 populateLocalView(); 829 populateLocalView();
825 } 830 }
826 break; 831 break;
827 case 1: 832 case 1:
828 // exit 833 // exit
829 break; 834 break;
830 }; 835 };
831 } 836 }
832 837
833 } 838 }
834} 839}
835 840
836void AdvancedFm::remoteDelete() 841void AdvancedFm::remoteDelete()
837{ 842{
838 QStringList curFileList = getPath(); 843 QStringList curFileList = getPath();
839 QString myFile; 844 QString myFile;
840 845
841 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 846 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
842 myFile = (*it); 847 myFile = (*it);
843 if(myFile.find(" -> ",0,TRUE) != -1) 848 if(myFile.find(" -> ",0,TRUE) != -1)
844 myFile = myFile.left(myFile.find(" -> ",0,TRUE)); 849 myFile = myFile.left(myFile.find(" -> ",0,TRUE));
845 QString f = currentRemoteDir.canonicalPath()+"/"+myFile; 850 QString f = currentDir.canonicalPath();
851 if(f.right(1).find("/",0,TRUE) == -1)
852 f+="/";
853 f+=myFile;
846 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { 854 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
847 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+" ?", 855 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+
856 "\nand all it's contents ?",
848 tr("Yes"),tr("No"),0,0,1) ) { 857 tr("Yes"),tr("No"),0,0,1) ) {
849 case 0: { 858 case 0: {
850 QString cmd="rmdir -rf "+f; 859 f=f.left(f.length()-1);
860 QString cmd="rm -rf "+f;
851 system( cmd.latin1()); 861 system( cmd.latin1());
852 populateRemoteView(); 862 populateRemoteView();
853 } 863 }
854 break; 864 break;
855 case 1: 865 case 1:
856 // exit 866 // exit
857 break; 867 break;
858 }; 868 };
859 869
860 } else { 870 } else {
861 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f 871 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f
862 +" ?",tr("Yes"),tr("No"),0,0,1) ) { 872 +" ?",tr("Yes"),tr("No"),0,0,1) ) {
863 case 0: { 873 case 0: {
864 QString cmd="rm "+f; 874 QString cmd="rm "+f;
865 QFile file(f); 875 QFile file(f);
866 file.remove(); 876 file.remove();
867// system( cmd.latin1()); 877// system( cmd.latin1());
868 populateRemoteView(); 878 populateRemoteView();
869 } 879 }
870 break; 880 break;
871 case 1: 881 case 1:
872 // exit 882 // exit
873 break; 883 break;
874 }; 884 };
875 } 885 }
876 } 886 }
877} 887}
878 888
879void AdvancedFm::localRename() 889void AdvancedFm::localRename()
880{ 890{
881 QString curFile = Local_View->currentItem()->text(0); 891 QString curFile = Local_View->currentItem()->text(0);
882 InputDialog *fileDlg; 892 InputDialog *fileDlg;
883 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0); 893 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
884 fileDlg->setInputText((const QString &)curFile); 894 fileDlg->setInputText((const QString &)curFile);
885 fileDlg->exec(); 895 fileDlg->exec();
886 if( fileDlg->result() == 1 ) { 896 if( fileDlg->result() == 1 ) {
887 QString oldname = currentDir.canonicalPath() + "/" + curFile; 897 QString oldname = currentDir.canonicalPath() + "/" + curFile;
888 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist"; 898 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
889 if( rename(oldname.latin1(), newName.latin1())== -1) 899 if( rename(oldname.latin1(), newName.latin1())== -1)
890 QMessageBox::message(tr("Note"),tr("Could not rename")); 900 QMessageBox::message(tr("Note"),tr("Could not rename"));
891 } 901 }
892 populateLocalView(); 902 populateLocalView();
893} 903}
894 904
895void AdvancedFm::remoteRename() 905void AdvancedFm::remoteRename()
896{ 906{
897 QString curFile = Local_View->currentItem()->text(0); 907 QString curFile = Local_View->currentItem()->text(0);
898 InputDialog *fileDlg; 908 InputDialog *fileDlg;
899 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0); 909 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
900 fileDlg->setInputText((const QString &)curFile); 910 fileDlg->setInputText((const QString &)curFile);
901 fileDlg->exec(); 911 fileDlg->exec();
902 if( fileDlg->result() == 1 ) { 912 if( fileDlg->result() == 1 ) {
903 QString oldname = currentRemoteDir.canonicalPath() + "/" + curFile; 913 QString oldname = currentRemoteDir.canonicalPath() + "/" + curFile;
904 QString newName = currentRemoteDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist"; 914 QString newName = currentRemoteDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
905 if( rename(oldname.latin1(), newName.latin1())== -1) 915 if( rename(oldname.latin1(), newName.latin1())== -1)
906 QMessageBox::message(tr("Note"),tr("Could not rename")); 916 QMessageBox::message(tr("Note"),tr("Could not rename"));
907 } 917 }
908 populateRemoteView(); 918 populateRemoteView();
909} 919}
910 920
911void AdvancedFm::switchToLocalTab() 921void AdvancedFm::switchToLocalTab()
912{ 922{
913 TabWidget->setCurrentPage(0); 923 TabWidget->setCurrentPage(0);
914 Local_View->setFocus(); 924 Local_View->setFocus();
915} 925}
916 926
917void AdvancedFm::switchToRemoteTab() 927void AdvancedFm::switchToRemoteTab()
918{ 928{
919 TabWidget->setCurrentPage(1); 929 TabWidget->setCurrentPage(1);
920 Remote_View->setFocus(); 930 Remote_View->setFocus();
921} 931}
922 932
923void AdvancedFm::readConfig() 933void AdvancedFm::readConfig()
924{ 934{
925 Config cfg("AdvancedFm"); 935 Config cfg("AdvancedFm");
926} 936}
927 937
928void AdvancedFm::writeConfig() 938void AdvancedFm::writeConfig()
929{ 939{
930 Config cfg("AdvancedFm"); 940 Config cfg("AdvancedFm");
931} 941}
932 942
933void AdvancedFm::currentPathComboChanged() 943void AdvancedFm::currentPathComboChanged()
934{ 944{
935 if (TabWidget->currentPageIndex() == 0) { 945 if (TabWidget->currentPageIndex() == 0) {
936 if(QDir( currentPathCombo->lineEdit()->text()).exists()) { 946 if(QDir( currentPathCombo->lineEdit()->text()).exists()) {
937 currentDir.setPath( currentPathCombo->lineEdit()->text() ); 947 currentDir.setPath( currentPathCombo->lineEdit()->text() );
938 populateLocalView(); 948 populateLocalView();
939 } else { 949 } else {
940 QMessageBox::message(tr("Note"),tr("That directory does not exist")); 950 QMessageBox::message(tr("Note"),tr("That directory does not exist"));
941 } 951 }
942 } 952 }
943 if (TabWidget->currentPageIndex() == 0) { 953 if (TabWidget->currentPageIndex() == 0) {
944 if(QDir( currentPathCombo->lineEdit()->text()).exists()) { 954 if(QDir( currentPathCombo->lineEdit()->text()).exists()) {
945 currentRemoteDir.setPath( currentPathCombo->lineEdit()->text() ); 955 currentRemoteDir.setPath( currentPathCombo->lineEdit()->text() );
946 populateRemoteView(); 956 populateRemoteView();
947 } else { 957 } else {
948 QMessageBox::message(tr("Note"),tr("That directory does not exist")); 958 QMessageBox::message(tr("Note"),tr("That directory does not exist"));
949 } 959 }
950 } 960 }
951} 961}
952 962
953void AdvancedFm::fillCombo(const QString &currentPath) { 963void AdvancedFm::fillCombo(const QString &currentPath) {
954 964
955 if (TabWidget->currentPageIndex() == 0) { 965 if (TabWidget->currentPageIndex() == 0) {
956 currentPathCombo->lineEdit()->setText( currentPath); 966 currentPathCombo->lineEdit()->setText( currentPath);
957 if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) { 967 if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
958 currentPathCombo->clear(); 968 currentPathCombo->clear();
959 localDirPathStringList.prepend( currentPath ); 969 localDirPathStringList.prepend( currentPath );
960 currentPathCombo->insertStringList( localDirPathStringList,-1); 970 currentPathCombo->insertStringList( localDirPathStringList,-1);
961 } 971 }
962 } else { 972 } else {
963 currentPathCombo->lineEdit()->setText( currentPath); 973 currentPathCombo->lineEdit()->setText( currentPath);
964 if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { 974 if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) {
965 currentPathCombo->clear(); 975 currentPathCombo->clear();
966 remoteDirPathStringList.prepend( currentPath ); 976 remoteDirPathStringList.prepend( currentPath );
967 currentPathCombo->insertStringList( remoteDirPathStringList,-1); 977 currentPathCombo->insertStringList( remoteDirPathStringList,-1);
968 } 978 }
969 } 979 }
970} 980}
971 981
972void AdvancedFm::currentPathComboActivated(const QString & currentPath) { 982void AdvancedFm::currentPathComboActivated(const QString & currentPath) {
973 if (TabWidget->currentPageIndex() == 0) { 983 if (TabWidget->currentPageIndex() == 0) {
974 chdir( currentPath.latin1() ); 984 chdir( currentPath.latin1() );
975 currentDir.cd( currentPath, TRUE); 985 currentDir.cd( currentPath, TRUE);
976 populateLocalView(); 986 populateLocalView();
977 update(); 987 update();
978 } else { 988 } else {
979 chdir( currentPath.latin1() ); 989 chdir( currentPath.latin1() );
980 currentRemoteDir.cd( currentPath, TRUE); 990 currentRemoteDir.cd( currentPath, TRUE);
981 populateRemoteView(); 991 populateRemoteView();
982 update(); 992 update();
983 } 993 }
984} 994}
985 995
986void AdvancedFm::filePerms() { 996void AdvancedFm::filePerms() {
987 997
988 QStringList curFileList = getPath(); 998 QStringList curFileList = getPath();
989 QString filePath; 999 QString filePath;
990 1000
991 if (TabWidget->currentPageIndex() == 0) { 1001 if (TabWidget->currentPageIndex() == 0) {
992 filePath = currentDir.canonicalPath()+"/"; 1002 filePath = currentDir.canonicalPath()+"/";
993 } else { 1003 } else {
994 filePath= currentRemoteDir.canonicalPath()+"/"; 1004 filePath= currentRemoteDir.canonicalPath()+"/";
995 } 1005 }
996 1006
997 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1007 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
998 filePermissions *filePerm; 1008 filePermissions *filePerm;
999 filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)(filePath+*it)); 1009 filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)(filePath+*it));
1000 filePerm->showMaximized(); 1010 filePerm->showMaximized();
1001 filePerm->exec(); 1011 filePerm->exec();
1002 if( filePerm) 1012 if( filePerm)
1003 delete filePerm; 1013 delete filePerm;
1004 } 1014 }
1005} 1015}
1006 1016
1007void AdvancedFm::doProperties() { 1017void AdvancedFm::doProperties() {
1008 QStringList curFileList = getPath(); 1018 QStringList curFileList = getPath();
1009 QString filePath; 1019 QString filePath;
1010 if (TabWidget->currentPageIndex() == 0) { 1020 if (TabWidget->currentPageIndex() == 0) {
1011 filePath = currentDir.canonicalPath()+"/"; 1021 filePath = currentDir.canonicalPath()+"/";
1012 } else { 1022 } else {
1013 filePath= currentRemoteDir.canonicalPath()+"/"; 1023 filePath= currentRemoteDir.canonicalPath()+"/";
1014 } 1024 }
1015 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1025 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1016 DocLnk lnk( (filePath+*it)); 1026 DocLnk lnk( (filePath+*it));
1017 LnkProperties prop( &lnk ); 1027 LnkProperties prop( &lnk );
1018// connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *))); 1028// connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *)));
1019 prop.showMaximized(); 1029 prop.showMaximized();
1020 prop.exec(); 1030 prop.exec();
1021 } 1031 }
1022} 1032}
1023 1033
1024QStringList AdvancedFm::getPath() { 1034QStringList AdvancedFm::getPath() {
1025 QStringList strList; 1035 QStringList strList;
1026 if (TabWidget->currentPageIndex() == 0) { 1036 if (TabWidget->currentPageIndex() == 0) {
1027 QList<QListViewItem> * getSelectedItems( QListView * Local_View ); 1037 QList<QListViewItem> * getSelectedItems( QListView * Local_View );
1028 QListViewItemIterator it( Local_View ); 1038 QListViewItemIterator it( Local_View );
1029 for ( ; it.current(); ++it ) { 1039 for ( ; it.current(); ++it ) {
1030 if ( it.current()->isSelected() ) { 1040 if ( it.current()->isSelected() ) {
1031 strList << it.current()->text(0); 1041 strList << it.current()->text(0);
1032 } 1042 }
1033 } 1043 }
1034 return strList; 1044 return strList;
1035 } else { 1045 } else {
1036 QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); 1046 QList<QListViewItem> * getSelectedItems( QListView * Remote_View );
1037 QListViewItemIterator it( Remote_View ); 1047 QListViewItemIterator it( Remote_View );
1038 for ( ; it.current(); ++it ) { 1048 for ( ; it.current(); ++it ) {
1039 if ( it.current()->isSelected() ) { 1049 if ( it.current()->isSelected() ) {
1040 strList << currentDir.canonicalPath()+"/"+ it.current()->text(0); 1050 strList << currentDir.canonicalPath()+"/"+ it.current()->text(0);
1041 } 1051 }
1042 } 1052 }
1043 return strList; 1053 return strList;
1044 } 1054 }
1045 return ""; 1055 return "";
1046} 1056}
1047 1057
1048void AdvancedFm::homeButtonPushed() { 1058void AdvancedFm::homeButtonPushed() {
1049 QString current = QDir::homeDirPath(); 1059 QString current = QDir::homeDirPath();
1050 chdir( current.latin1() ); 1060 chdir( current.latin1() );
1051 if (TabWidget->currentPageIndex() == 0) { 1061 if (TabWidget->currentPageIndex() == 0) {
1052 currentDir.cd( current, TRUE); 1062 currentDir.cd( current, TRUE);
1053 populateLocalView(); 1063 populateLocalView();
1054 } else { 1064 } else {
1055 currentRemoteDir.cd( current, TRUE); 1065 currentRemoteDir.cd( current, TRUE);
1056 populateRemoteView(); 1066 populateRemoteView();
1057 } 1067 }
1058 update(); 1068 update();
1059} 1069}
1060 1070
1061void AdvancedFm::docButtonPushed() { 1071void AdvancedFm::docButtonPushed() {
1062 QString current = QPEApplication::documentDir(); 1072 QString current = QPEApplication::documentDir();
1063 chdir( current.latin1() ); 1073 chdir( current.latin1() );
1064 if (TabWidget->currentPageIndex() == 0) { 1074 if (TabWidget->currentPageIndex() == 0) {
1065 currentDir.cd( current, TRUE); 1075 currentDir.cd( current, TRUE);
1066 populateLocalView(); 1076 populateLocalView();
1067 } else { 1077 } else {
1068 currentRemoteDir.cd( current, TRUE); 1078 currentRemoteDir.cd( current, TRUE);
1069 populateRemoteView(); 1079 populateRemoteView();
1070 } 1080 }
1071 update(); 1081 update();
1072} 1082}
1073 1083
1074void AdvancedFm::SDButtonPushed() { 1084void AdvancedFm::SDButtonPushed() {
1075 QString current = "/mnt/card"; 1085 QString current = "/mnt/card";
1076 chdir( current.latin1() ); 1086 chdir( current.latin1() );
1077 if (TabWidget->currentPageIndex() == 0) { 1087 if (TabWidget->currentPageIndex() == 0) {
1078 currentDir.cd( current, TRUE); 1088 currentDir.cd( current, TRUE);
1079 populateLocalView(); 1089 populateLocalView();
1080 } else { 1090 } else {
1081 currentRemoteDir.cd( current, TRUE); 1091 currentRemoteDir.cd( current, TRUE);
1082 populateRemoteView(); 1092 populateRemoteView();
1083 } 1093 }
1084 update(); 1094 update();
1085 1095
1086} 1096}
1087 1097
1088void AdvancedFm::CFButtonPushed() { 1098void AdvancedFm::CFButtonPushed() {
1089 QString current = "/mnt/cf"; 1099 QString current = "/mnt/cf";
1090 chdir( current.latin1() ); 1100 chdir( current.latin1() );
1091 if (TabWidget->currentPageIndex() == 0) { 1101 if (TabWidget->currentPageIndex() == 0) {
1092 currentDir.cd( current, TRUE); 1102 currentDir.cd( current, TRUE);
1093 populateLocalView(); 1103 populateLocalView();
1094 } else { 1104 } else {
1095 currentRemoteDir.cd( current, TRUE); 1105 currentRemoteDir.cd( current, TRUE);
1096 populateRemoteView(); 1106 populateRemoteView();
1097 } 1107 }
1098 update(); 1108 update();
1099 1109
1100} 1110}
1101 1111
1102 1112
1103void AdvancedFm::upDir() 1113void AdvancedFm::upDir()
1104{ 1114{
1105 if (TabWidget->currentPageIndex() == 0) { 1115 if (TabWidget->currentPageIndex() == 0) {
1106 QString current = currentDir.canonicalPath(); 1116 QString current = currentDir.canonicalPath();