author | llornkcor <llornkcor> | 2002-10-16 15:48:52 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-10-16 15:48:52 (UTC) |
commit | 0176ce245c348baf392dba790878458a5e39077f (patch) (unidiff) | |
tree | 91665a3e143c14d3a785d1c660df88e2aafde9fc | |
parent | 321cea04e34658fde3de47c104682b5cefce6eeb (diff) | |
download | opie-0176ce245c348baf392dba790878458a5e39077f.zip opie-0176ce245c348baf392dba790878458a5e39077f.tar.gz opie-0176ce245c348baf392dba790878458a5e39077f.tar.bz2 |
fix showhidden files handling
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 9 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 18 |
2 files changed, 12 insertions, 15 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index b6e7a30..f23fd86 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp | |||
@@ -680,118 +680,113 @@ void AdvancedFm::parsetab(const QString &fileName) { | |||
680 | } | 680 | } |
681 | 681 | ||
682 | QString AdvancedFm::getFileSystemType(const QString ¤tText) { | 682 | QString AdvancedFm::getFileSystemType(const QString ¤tText) { |
683 | parsetab("/etc/mtab"); //why did TT forget filesystem type? | 683 | parsetab("/etc/mtab"); //why did TT forget filesystem type? |
684 | QString current = currentText;//.right( currentText.length()-1); | 684 | QString current = currentText;//.right( currentText.length()-1); |
685 | QString baseFs; | 685 | QString baseFs; |
686 | for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) { | 686 | for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) { |
687 | QString temp = (*it); | 687 | QString temp = (*it); |
688 | QString path = temp.left(temp.find("::",0,TRUE) ); | 688 | QString path = temp.left(temp.find("::",0,TRUE) ); |
689 | path = path.right( path.length()-1); | 689 | path = path.right( path.length()-1); |
690 | if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2); | 690 | if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2); |
691 | if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) { | 691 | if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) { |
692 | return temp.right( temp.length() - temp.find("::",0,TRUE) - 2); | 692 | return temp.right( temp.length() - temp.find("::",0,TRUE) - 2); |
693 | } | 693 | } |
694 | } | 694 | } |
695 | return baseFs; | 695 | return baseFs; |
696 | } | 696 | } |
697 | 697 | ||
698 | QString AdvancedFm::getDiskSpace( const QString &path) { | 698 | QString AdvancedFm::getDiskSpace( const QString &path) { |
699 | struct statfs fss; | 699 | struct statfs fss; |
700 | if ( !statfs( path.latin1(), &fss ) ) { | 700 | if ( !statfs( path.latin1(), &fss ) ) { |
701 | int blkSize = fss.f_bsize; | 701 | int blkSize = fss.f_bsize; |
702 | // int totalBlks = fs.f_blocks; | 702 | // int totalBlks = fs.f_blocks; |
703 | int availBlks = fss.f_bavail; | 703 | int availBlks = fss.f_bavail; |
704 | 704 | ||
705 | long mult = blkSize / 1024; | 705 | long mult = blkSize / 1024; |
706 | long div = 1024 / blkSize; | 706 | long div = 1024 / blkSize; |
707 | if ( !mult ) mult = 1; | 707 | if ( !mult ) mult = 1; |
708 | if ( !div ) div = 1; | 708 | if ( !div ) div = 1; |
709 | 709 | ||
710 | return QString::number(availBlks * mult / div); | 710 | return QString::number(availBlks * mult / div); |
711 | } | 711 | } |
712 | return ""; | 712 | return ""; |
713 | } | 713 | } |
714 | 714 | ||
715 | 715 | ||
716 | void AdvancedFm::showFileMenu() { | 716 | void AdvancedFm::showFileMenu() { |
717 | 717 | ||
718 | QString curApp; | 718 | QString curApp; |
719 | bool isLocalView = false; | 719 | bool isLocalView = false; |
720 | if (TabWidget->currentPageIndex() == 0) { | 720 | if (TabWidget->currentPageIndex() == 0) { |
721 | isLocalView = TRUE; | 721 | isLocalView = TRUE; |
722 | curApp = Local_View->currentItem()->text(0); | 722 | curApp = Local_View->currentItem()->text(0); |
723 | } else { | 723 | } else { |
724 | curApp = Remote_View->currentItem()->text(0); | 724 | curApp = Remote_View->currentItem()->text(0); |
725 | } | 725 | } |
726 | 726 | ||
727 | MimeType mt( curApp ); | 727 | MimeType mt( curApp ); |
728 | |||
729 | const AppLnk* app = mt.application(); | 728 | const AppLnk* app = mt.application(); |
730 | |||
731 | QFile fi(curApp); | 729 | QFile fi(curApp); |
732 | |||
733 | QPopupMenu *m = new QPopupMenu(0); | 730 | QPopupMenu *m = new QPopupMenu(0); |
734 | QPopupMenu *n = new QPopupMenu(0); | 731 | QPopupMenu *n = new QPopupMenu(0); |
735 | // QPopupMenu *o = new QPopupMenu(0); | 732 | // QPopupMenu *o = new QPopupMenu(0); |
736 | 733 | m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() )); | |
737 | m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); | ||
738 | 734 | ||
739 | if ( QFileInfo(fi).isDir() ) { | 735 | if ( QFileInfo(fi).isDir() ) { |
740 | m->insertSeparator(); | 736 | m->insertSeparator(); |
741 | m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); | 737 | m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); |
742 | } else { | 738 | } else { |
743 | 739 | ||
744 | if ( app ) | 740 | if ( app ) |
745 | m->insertItem( app->pixmap(), tr( "Open in " | 741 | m->insertItem( app->pixmap(), tr( "Open in " |
746 | + app->name() ), this, SLOT( runThis() ) ); | 742 | + app->name() ), this, SLOT( runThis() ) ); |
747 | else if( QFileInfo(fi).isExecutable() ) //damn opie doesnt like this | 743 | else if( QFileInfo(fi).isExecutable() ) //damn opie doesnt like this |
748 | m->insertItem( /*Resource::loadPixmap( app->name()),*/ tr( "Execute" ), this, SLOT( runThis() ) ); | 744 | m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); |
749 | |||
750 | m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) ); | 745 | m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) ); |
751 | } | 746 | } |
752 | 747 | ||
753 | m->insertItem(tr("Actions"),n); | 748 | m->insertItem(tr("Actions"),n); |
754 | if(isLocalView) | 749 | if(isLocalView) |
755 | n->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); | 750 | n->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); |
756 | else | 751 | else |
757 | n->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); | 752 | n->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); |
758 | 753 | ||
759 | n->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); | 754 | n->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); |
760 | 755 | ||
761 | n->insertSeparator(); | 756 | n->insertSeparator(); |
762 | 757 | ||
763 | 758 | ||
764 | if(isLocalView) | 759 | if(isLocalView) |
765 | n->insertItem( tr( "Rename" ), this, SLOT( localRename() )); | 760 | n->insertItem( tr( "Rename" ), this, SLOT( localRename() )); |
766 | else | 761 | else |
767 | n->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); | 762 | n->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); |
768 | 763 | ||
769 | n->insertItem( tr( "Copy" ), this, SLOT( copy() )); | 764 | n->insertItem( tr( "Copy" ), this, SLOT( copy() )); |
770 | n->insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); | 765 | n->insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); |
771 | n->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() )); | 766 | n->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() )); |
772 | n->insertItem( tr( "Move" ), this, SLOT( move() )); | 767 | n->insertItem( tr( "Move" ), this, SLOT( move() )); |
773 | 768 | ||
774 | n->insertSeparator(); | 769 | n->insertSeparator(); |
775 | 770 | ||
776 | if(isLocalView) | 771 | if(isLocalView) |
777 | n->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); | 772 | n->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); |
778 | else | 773 | else |
779 | n->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); | 774 | n->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); |
780 | 775 | ||
781 | 776 | ||
782 | m->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() )); | 777 | m->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() )); |
783 | 778 | ||
784 | m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); | 779 | m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); |
785 | m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); | 780 | m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); |
786 | 781 | ||
787 | m->insertSeparator(); | 782 | m->insertSeparator(); |
788 | m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); | 783 | m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); |
789 | 784 | ||
790 | #if defined(QT_QWS_OPIE) | 785 | #if defined(QT_QWS_OPIE) |
791 | m->insertItem( tr( "Properties" ), this, SLOT( doProperties() )); | 786 | m->insertItem( tr( "Properties" ), this, SLOT( doProperties() )); |
792 | #endif | 787 | #endif |
793 | m->setCheckable(TRUE); | 788 | m->setCheckable(TRUE); |
794 | if (!b) | 789 | if (!b) |
795 | m->setItemChecked(m->idAt(0),TRUE); | 790 | m->setItemChecked(m->idAt(0),TRUE); |
796 | else | 791 | else |
797 | m->setItemChecked(m->idAt(0),FALSE); | 792 | m->setItemChecked(m->idAt(0),FALSE); |
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index 6d37904..5fa8d0c 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp | |||
@@ -8,124 +8,126 @@ | |||
8 | * it under the terms of the GNU General Public License as published by * | 8 | * it under the terms of the GNU General Public License as published by * |
9 | * the Free Software Foundation; either version 2 of the License, or * | 9 | * the Free Software Foundation; either version 2 of the License, or * |
10 | * (at your option) any later version. * | 10 | * (at your option) any later version. * |
11 | ***************************************************************************/ | 11 | ***************************************************************************/ |
12 | #include "advancedfm.h" | 12 | #include "advancedfm.h" |
13 | #include "inputDialog.h" | 13 | #include "inputDialog.h" |
14 | #include "output.h" | 14 | #include "output.h" |
15 | #include "filePermissions.h" | 15 | #include "filePermissions.h" |
16 | 16 | ||
17 | #include <qpe/lnkproperties.h> | 17 | #include <qpe/lnkproperties.h> |
18 | #include <qpe/qpeapplication.h> | 18 | #include <qpe/qpeapplication.h> |
19 | #include <qpe/qpemenubar.h> | 19 | #include <qpe/qpemenubar.h> |
20 | #include <qpe/qpetoolbar.h> | 20 | #include <qpe/qpetoolbar.h> |
21 | #include <qpe/resource.h> | 21 | #include <qpe/resource.h> |
22 | #include <qpe/qcopenvelope_qws.h> | 22 | #include <qpe/qcopenvelope_qws.h> |
23 | #include <qpe/applnk.h> | 23 | #include <qpe/applnk.h> |
24 | #include <qpe/ir.h> | 24 | #include <qpe/ir.h> |
25 | 25 | ||
26 | #include <qmessagebox.h> | 26 | #include <qmessagebox.h> |
27 | #include <qmultilineedit.h> | 27 | #include <qmultilineedit.h> |
28 | 28 | ||
29 | #include <qstring.h> | 29 | #include <qstring.h> |
30 | 30 | ||
31 | #include <qlayout.h> | 31 | #include <qlayout.h> |
32 | #include <qpixmap.h> | 32 | #include <qpixmap.h> |
33 | #include <qcombobox.h> | 33 | #include <qcombobox.h> |
34 | #include <qpopupmenu.h> | 34 | #include <qpopupmenu.h> |
35 | #include <qtabwidget.h> | 35 | #include <qtabwidget.h> |
36 | #include <qtoolbutton.h> | 36 | #include <qtoolbutton.h> |
37 | #include <qtabwidget.h> | 37 | #include <qtabwidget.h> |
38 | #include <qlineedit.h> | 38 | #include <qlineedit.h> |
39 | #include <qlistview.h> | 39 | #include <qlistview.h> |
40 | 40 | ||
41 | #include <stdlib.h> | 41 | #include <stdlib.h> |
42 | #include <unistd.h> | 42 | #include <unistd.h> |
43 | #include <sys/stat.h> | 43 | #include <sys/stat.h> |
44 | #include <dirent.h> | 44 | #include <dirent.h> |
45 | 45 | ||
46 | 46 | ||
47 | void AdvancedFm::doLocalCd() { | 47 | void AdvancedFm::doLocalCd() { |
48 | localListClicked( Local_View->currentItem()); | 48 | localListClicked( Local_View->currentItem()); |
49 | } | 49 | } |
50 | 50 | ||
51 | void AdvancedFm::doRemoteCd() { | 51 | void AdvancedFm::doRemoteCd() { |
52 | localListClicked( Remote_View->currentItem()); | 52 | localListClicked( Remote_View->currentItem()); |
53 | } | 53 | } |
54 | 54 | ||
55 | void AdvancedFm::showMenuHidden() { | 55 | void AdvancedFm::showMenuHidden() { |
56 | showHidden(); | 56 | if(TabWidget->currentPageIndex() == 0) |
57 | if(b) b= false; else b=true; | 57 | showHidden(); |
58 | showRemoteHidden(); | 58 | else |
59 | showRemoteHidden(); | ||
60 | // if(b) qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<< true"); | ||
61 | if(b) b = false; else b = true; | ||
59 | } | 62 | } |
60 | 63 | ||
61 | void AdvancedFm::showHidden() { | 64 | void AdvancedFm::showHidden() { |
62 | if (b) { | 65 | if (b) { |
63 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 66 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
64 | fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); | 67 | fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); |
65 | b=FALSE; | 68 | // b=FALSE; |
66 | 69 | ||
67 | } else { | 70 | } else { |
68 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 71 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
69 | fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); | 72 | fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); |
70 | b=TRUE; | 73 | // b=TRUE; |
71 | } | 74 | } |
72 | populateLocalView(); | 75 | populateLocalView(); |
73 | |||
74 | } | 76 | } |
75 | 77 | ||
76 | void AdvancedFm::showRemoteHidden() { | 78 | void AdvancedFm::showRemoteHidden() { |
77 | if (b) { | 79 | if (b) { |
78 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 80 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
79 | b=TRUE; | 81 | // b=TRUE; |
80 | 82 | ||
81 | } else { | 83 | } else { |
82 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 84 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
83 | b=FALSE; | 85 | // b=FALSE; |
84 | } | 86 | } |
85 | populateRemoteView(); | 87 | populateRemoteView(); |
86 | } | 88 | } |
87 | 89 | ||
88 | void AdvancedFm::runThis() { | 90 | void AdvancedFm::runThis() { |
89 | QString fs; | 91 | QString fs; |
90 | if (TabWidget->currentPageIndex() == 0) { | 92 | if (TabWidget->currentPageIndex() == 0) { |
91 | QString curFile = Local_View->currentItem()->text(0); | 93 | QString curFile = Local_View->currentItem()->text(0); |
92 | if(curFile != "../") { | 94 | if(curFile != "../") { |
93 | 95 | ||
94 | fs= getFileSystemType((const QString &) currentDir.canonicalPath()); | 96 | fs= getFileSystemType((const QString &) currentDir.canonicalPath()); |
95 | QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); | 97 | QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); |
96 | qDebug( fileInfo.owner()); | 98 | qDebug( fileInfo.owner()); |
97 | if( (fileInfo.permission( QFileInfo::ExeUser) | 99 | if( (fileInfo.permission( QFileInfo::ExeUser) |
98 | | fileInfo.permission( QFileInfo::ExeGroup) | 100 | | fileInfo.permission( QFileInfo::ExeGroup) |
99 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { | 101 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { |
100 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { | 102 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { |
101 | QCopEnvelope e("QPE/System", "execute(QString)" ); | 103 | QCopEnvelope e("QPE/System", "execute(QString)" ); |
102 | e << curFile; | 104 | e << curFile; |
103 | } else { | 105 | } else { |
104 | curFile = currentDir.canonicalPath()+"/"+curFile; | 106 | curFile = currentDir.canonicalPath()+"/"+curFile; |
105 | DocLnk nf(curFile); | 107 | DocLnk nf(curFile); |
106 | QString execStr = nf.exec(); | 108 | QString execStr = nf.exec(); |
107 | qDebug( execStr); | 109 | qDebug( execStr); |
108 | if( execStr.isEmpty() ) { | 110 | if( execStr.isEmpty() ) { |
109 | } else { | 111 | } else { |
110 | nf.execute(); | 112 | nf.execute(); |
111 | } | 113 | } |
112 | } | 114 | } |
113 | } | 115 | } |
114 | } else { | 116 | } else { |
115 | QString curFile = Remote_View->currentItem()->text(0); | 117 | QString curFile = Remote_View->currentItem()->text(0); |
116 | if(curFile != "../") { | 118 | if(curFile != "../") { |
117 | 119 | ||
118 | fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); | 120 | fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); |
119 | qDebug("Filesystemtype is "+fs); | 121 | qDebug("Filesystemtype is "+fs); |
120 | QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); | 122 | QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); |
121 | if( (fileInfo.permission( QFileInfo::ExeUser) | 123 | if( (fileInfo.permission( QFileInfo::ExeUser) |
122 | | fileInfo.permission( QFileInfo::ExeGroup) | 124 | | fileInfo.permission( QFileInfo::ExeGroup) |
123 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { | 125 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { |
124 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { | 126 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { |
125 | QCopEnvelope e("QPE/System", "execute(QString)" ); | 127 | QCopEnvelope e("QPE/System", "execute(QString)" ); |
126 | e << curFile; | 128 | e << curFile; |
127 | } else { | 129 | } else { |
128 | curFile = currentRemoteDir.canonicalPath()+"/"+curFile; | 130 | curFile = currentRemoteDir.canonicalPath()+"/"+curFile; |
129 | DocLnk nf(curFile); | 131 | DocLnk nf(curFile); |
130 | QString execStr = nf.exec(); | 132 | QString execStr = nf.exec(); |
131 | qDebug(execStr); | 133 | qDebug(execStr); |