summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-02-23 03:36:24 (UTC)
committer llornkcor <llornkcor>2003-02-23 03:36:24 (UTC)
commitd51ca116a8c4d234db93021ccad36506980c317f (patch) (unidiff)
tree62fcb42c66ec95bbbb8d81b629fad7a7d4db4a1b
parent98ed23c5281a57d08c6c18b464fc50b4638385f8 (diff)
downloadopie-d51ca116a8c4d234db93021ccad36506980c317f.zip
opie-d51ca116a8c4d234db93021ccad36506980c317f.tar.gz
opie-d51ca116a8c4d234db93021ccad36506980c317f.tar.bz2
added menubutton directory bookmarks
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp209
-rw-r--r--noncore/apps/advancedfm/advancedfm.h42
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp56
3 files changed, 264 insertions, 43 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index 9edf7c1..d8bdff7 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -13,24 +13,28 @@
13#include "advancedfm.h" 13#include "advancedfm.h"
14 14
15#include <opie/otabwidget.h> 15#include <opie/otabwidget.h>
16// #include <opie/ofileselector.h> 16// #include <opie/ofileselector.h>
17// #include <opie/ofiledialog.h> 17// #include <opie/ofiledialog.h>
18 18
19#include <qpe/config.h>
19#include <qpe/filemanager.h> 20#include <qpe/filemanager.h>
20#include <qpe/qcopenvelope_qws.h> 21#include <qpe/qcopenvelope_qws.h>
21#include <qpe/qpemenubar.h> 22#include <qpe/qpemenubar.h>
22#include <qpe/qpetoolbar.h> 23#include <qpe/qpetoolbar.h>
23#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
24#include <qpe/qcopenvelope_qws.h> 25#include <qpe/qcopenvelope_qws.h>
25#include <qpe/config.h> 26#include <qpe/config.h>
26#include <qpe/mimetype.h> 27#include <qpe/mimetype.h>
27#include <qpe/applnk.h> 28#include <qpe/applnk.h>
28#include <qpe/ir.h> 29#include <qpe/ir.h>
29#include <qpe/resource.h> 30#include <qpe/resource.h>
31#include <qpe/menubutton.h>
32
30 33
34#include <qregexp.h>
31#include <qtabwidget.h> 35#include <qtabwidget.h>
32#include <qtextstream.h> 36#include <qtextstream.h>
33#include <qpushbutton.h> 37#include <qpushbutton.h>
34#include <qdatetime.h> 38#include <qdatetime.h>
35#include <qdir.h> 39#include <qdir.h>
36#include <qfile.h> 40#include <qfile.h>
@@ -87,13 +91,13 @@ void AdvancedFm::cleanUp() {
87 QFile file( sfile); 91 QFile file( sfile);
88 if(file.exists()) 92 if(file.exists())
89 file.remove(); 93 file.remove();
90} 94}
91 95
92void AdvancedFm::tabChanged(QWidget *w) { 96void AdvancedFm::tabChanged(QWidget *w) {
93 qDebug("tab changed %d",TabWidget->getCurrentTab()); 97// qDebug("tab changed %d",TabWidget->getCurrentTab());
94 98
95 if ( w == tab) { 99 if ( w == tab) {
96// if (TabWidget->getCurrentTab() == 0) { 100// if (TabWidget->getCurrentTab() == 0) {
97// if (TabWidget->currentPageIndex() == 0) { 101// if (TabWidget->currentPageIndex() == 0) {
98 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 102 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
99 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE); 103 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE);
@@ -191,13 +195,13 @@ void AdvancedFm::populateLocalView() {
191 dev_t devT; 195 dev_t devT;
192 DIR *dir; 196 DIR *dir;
193 struct dirent *mydirent; 197 struct dirent *mydirent;
194 if((dir = opendir( currentDir.canonicalPath().latin1())) != NULL) 198 if((dir = opendir( currentDir.canonicalPath().latin1())) != NULL)
195 while ((mydirent = readdir(dir)) != NULL) { 199 while ((mydirent = readdir(dir)) != NULL) {
196 lstat( mydirent->d_name, &buf); 200 lstat( mydirent->d_name, &buf);
197 qDebug(mydirent->d_name); 201// qDebug(mydirent->d_name);
198 fileL.sprintf("%s", mydirent->d_name); 202 fileL.sprintf("%s", mydirent->d_name);
199 devT = buf.st_dev; 203 devT = buf.st_dev;
200 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF); 204 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF);
201 fileDate.sprintf("%s", ctime( &buf.st_mtime)); 205 fileDate.sprintf("%s", ctime( &buf.st_mtime));
202 if( fileL.find(".") == -1 ){ 206 if( fileL.find(".") == -1 ){
203 item= new QListViewItem( Local_View, fileL, fileS, fileDate); 207 item= new QListViewItem( Local_View, fileL, fileS, fileDate);
@@ -290,13 +294,13 @@ void AdvancedFm::populateRemoteView() {
290 struct stat buf; 294 struct stat buf;
291 DIR *dir; 295 DIR *dir;
292 struct dirent *mydirent; 296 struct dirent *mydirent;
293 if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL) 297 if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL)
294 while ((mydirent = readdir(dir)) != NULL) { 298 while ((mydirent = readdir(dir)) != NULL) {
295 lstat( mydirent->d_name, &buf); 299 lstat( mydirent->d_name, &buf);
296 qDebug(mydirent->d_name); 300// qDebug(mydirent->d_name);
297 fileL.sprintf("%s", mydirent->d_name); 301 fileL.sprintf("%s", mydirent->d_name);
298 fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF); 302 fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF);
299 fileDate.sprintf("%s", ctime( &buf.st_mtime)); 303 fileDate.sprintf("%s", ctime( &buf.st_mtime));
300 if( fileL.find(".") == -1 ){ 304 if( fileL.find(".") == -1 ){
301 item= new QListViewItem( Remote_View, fileL, fileS, fileDate); 305 item= new QListViewItem( Remote_View, fileL, fileS, fileDate);
302 pm = Resource::loadPixmap( "UnknownDocument-14" ); 306 pm = Resource::loadPixmap( "UnknownDocument-14" );
@@ -404,40 +408,40 @@ void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , i
404// qDebug("list pressed"); 408// qDebug("list pressed");
405 switch (mouse) { 409 switch (mouse) {
406 case 1: 410 case 1:
407 { 411 {
408 if(renameBox != 0 ) 412 if(renameBox != 0 )
409 { 413 {
410 qDebug("cancel rename"); 414// qDebug("cancel rename");
411 cancelRename(); 415 cancelRename();
412 } 416 }
413 417
414 } 418 }
415 break; 419 break;
416 case 2: 420 case 2:
417 menuTimer.start( 500, TRUE ); 421 menuTimer.start( 500, TRUE );
418 qDebug("Start menu timer\n"); 422// qDebug("Start menu timer\n");
419 break; 423 break;
420 }; 424 };
421} 425}
422 426
423void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) { 427void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) {
424 428
425 switch (mouse) { 429 switch (mouse) {
426 case 1: 430 case 1:
427 { 431 {
428 if(renameBox != 0 ) 432 if(renameBox != 0 )
429 { 433 {
430 qDebug("cancel rename"); 434// qDebug("cancel rename");
431 cancelRename(); 435 cancelRename();
432 } 436 }
433 } 437 }
434 break; 438 break;
435 case 2: 439 case 2:
436 menuTimer.start( 500, TRUE ); 440 menuTimer.start( 500, TRUE );
437 qDebug("Start menu timer"); 441// qDebug("Start menu timer");
438 break; 442 break;
439 }; 443 };
440} 444}
441 445
442 446
443void AdvancedFm::switchToLocalTab() { 447void AdvancedFm::switchToLocalTab() {
@@ -477,13 +481,13 @@ void AdvancedFm::currentPathComboChanged() {
477 QMessageBox::message(tr("Note"),tr("That directory does not exist")); 481 QMessageBox::message(tr("Note"),tr("That directory does not exist"));
478 } 482 }
479 } 483 }
480} 484}
481 485
482void AdvancedFm::fillCombo(const QString &currentPath) { 486void AdvancedFm::fillCombo(const QString &currentPath) {
483 qDebug("%d",TabWidget->getCurrentTab()); 487// qDebug("%d",TabWidget->getCurrentTab());
484 if (TabWidget->getCurrentTab() == 0) { 488 if (TabWidget->getCurrentTab() == 0) {
485// if (TabWidget->currentPageIndex() == 0) { 489// if (TabWidget->currentPageIndex() == 0) {
486 currentPathCombo->lineEdit()->setText( currentPath); 490 currentPathCombo->lineEdit()->setText( currentPath);
487 if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) { 491 if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
488 currentPathCombo->clear(); 492 currentPathCombo->clear();
489 localDirPathStringList.prepend( currentPath ); 493 localDirPathStringList.prepend( currentPath );
@@ -520,23 +524,23 @@ QStringList AdvancedFm::getPath() {
520// if (TabWidget->currentPageIndex() == 0) { 524// if (TabWidget->currentPageIndex() == 0) {
521 QList<QListViewItem> * getSelectedItems( QListView * Local_View ); 525 QList<QListViewItem> * getSelectedItems( QListView * Local_View );
522 QListViewItemIterator it( Local_View ); 526 QListViewItemIterator it( Local_View );
523 for ( ; it.current(); ++it ) { 527 for ( ; it.current(); ++it ) {
524 if ( it.current()->isSelected() ) { 528 if ( it.current()->isSelected() ) {
525 strList << it.current()->text(0); 529 strList << it.current()->text(0);
526 qDebug(it.current()->text(0)); 530// qDebug(it.current()->text(0));
527 } 531 }
528 } 532 }
529 return strList; 533 return strList;
530 } else { 534 } else {
531 QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); 535 QList<QListViewItem> * getSelectedItems( QListView * Remote_View );
532 QListViewItemIterator it( Remote_View ); 536 QListViewItemIterator it( Remote_View );
533 for ( ; it.current(); ++it ) { 537 for ( ; it.current(); ++it ) {
534 if ( it.current()->isSelected() ) { 538 if ( it.current()->isSelected() ) {
535 strList << it.current()->text(0); 539 strList << it.current()->text(0);
536 qDebug(it.current()->text(0)); 540// qDebug(it.current()->text(0));
537 } 541 }
538 } 542 }
539 return strList; 543 return strList;
540 } 544 }
541 return ""; 545 return "";
542} 546}
@@ -872,28 +876,209 @@ void AdvancedFm::addToDocs() {
872 if( strListPaths.count() > 0) { 876 if( strListPaths.count() > 0) {
873 QString curFile; 877 QString curFile;
874 if (TabWidget->getCurrentTab() == 0) { 878 if (TabWidget->getCurrentTab() == 0) {
875// if (TabWidget->currentPageIndex() == 0) { 879// if (TabWidget->currentPageIndex() == 0) {
876 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) { 880 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) {
877 curFile = currentDir.canonicalPath()+"/"+(*it); 881 curFile = currentDir.canonicalPath()+"/"+(*it);
878 qDebug(curFile); 882// qDebug(curFile);
879 DocLnk f; 883 DocLnk f;
880// curFile.replace(QRegExp("\\..*"),""); 884// curFile.replace(QRegExp("\\..*"),"");
881 f.setName((*it)); 885 f.setName((*it));
882 f.setFile( curFile); 886 f.setFile( curFile);
883 f.writeLink(); 887 f.writeLink();
884 } 888 }
885 } else { 889 } else {
886 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) { 890 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) {
887 curFile = currentRemoteDir.canonicalPath()+"/"+(*it); 891 curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
888 qDebug(curFile); 892// qDebug(curFile);
889 893
890 DocLnk f; 894 DocLnk f;
891// curFile.replace(QRegExp("\\..*"),""); 895// curFile.replace(QRegExp("\\..*"),"");
892 f.setName((*it)); 896 f.setName((*it));
893 f.setFile( curFile); 897 f.setFile( curFile);
894 f.writeLink(); 898 f.writeLink();
895 } 899 }
896 } 900 }
897 } 901 }
898} 902}
899 903
904
905void AdvancedFm::customDirsToMenu()
906{
907
908 Config cfg("AdvancedFm");
909 cfg.setGroup("Menu");
910
911 QStringList list = cfg.readListEntry( "CustomDir", ',');
912 menuButton->insertItems(list );
913
914// for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
915// {
916// customDirMenu->insertItem(*it );
917// }
918}
919
920void AdvancedFm::dirMenuSelected(int item)
921{
922 qDebug("menu item %d", item);
923 switch(item)
924 {
925
926 case -21:
927 case 0:
928 addCustomDir();
929 break;
930 case -22:
931 case 1:
932 removeCustomDir();
933 break;
934 default:
935 {
936// gotoCustomDir( menuButton->text(item));
937// gotoCustomDir( customDirMenu->text(item));
938 }
939 break;
940
941 };
942}
943
944void AdvancedFm::addCustomDir()
945{
946 Config cfg("AdvancedFm");
947 cfg.setGroup("Menu");
948 QString dir;
949 QStringList list = cfg.readListEntry( (const QString &)"CustomDir", (const QChar)',');
950
951 if (TabWidget->getCurrentTab() == 0)
952 {
953 dir = currentDir.canonicalPath();
954 }
955 else
956 {
957 dir = currentRemoteDir.canonicalPath();
958 }
959
960 bool addIt=true;
961 for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
962 {
963 if( dir == (*it))
964 {
965 addIt=false;
966 }
967 }
968 if(addIt)
969 {
970 menuButton->insertItem(dir);
971// customDirMenu->insertItem(dir);
972 list << dir;
973 }
974
975 cfg.writeEntry("CustomDir", list, ',');
976 cfg.write();
977}
978
979void AdvancedFm::removeCustomDir()
980{
981// qDebug("remove custom dir");
982 Config cfg("AdvancedFm");
983 cfg.setGroup("Menu");
984 QString dir;
985 QStringList list = cfg.readListEntry( (const QString &)"CustomDir", (const QChar)',');
986 QStringList list2;
987
988 if (TabWidget->getCurrentTab() == 0)
989 {
990 dir = currentDir.canonicalPath();
991 }
992 else
993 {
994 dir = currentRemoteDir.canonicalPath();
995 }
996 int ramble=2;
997// int ramble=-24;
998//first remove list
999 if(list.grep(dir,true).isEmpty())
1000 {
1001 QMessageBox::message("AdvancedFm",tr("Cannot remove current directory\nfrom bookmarks.\nIt is not bookmarked!!"));
1002 }
1003 else
1004 {
1005 for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
1006 {
1007 if((*it) != dir)//current item is not our current dir, so add it to temp list
1008 {
1009 list2 <<(*it);
1010 }
1011 else
1012 {
1013// customDirMenu->removeItem( ramble);
1014 menuButton->remove( ramble);
1015
1016 }
1017 ramble++;
1018// ramble--;
1019 }
1020
1021 cfg.writeEntry("CustomDir", list2, ',');
1022 cfg.write();
1023 }
1024// customDirsToMenu();
1025
1026}
1027
1028void AdvancedFm::gotoCustomDir(const QString &dir)
1029{
1030// qDebug("gotoCustomDir(const QString &dir) " +dir );
1031 QString curDir = dir;
1032// if( curDir.isEmpty()) {
1033// }
1034 if( curDir == s_addBookmark)
1035 {
1036 addCustomDir();
1037 }
1038 if( curDir == s_removeBookmark)
1039 {
1040 removeCustomDir( );
1041 }
1042 else
1043 {
1044 if(QDir( curDir).exists() )
1045 {
1046 if (TabWidget->getCurrentTab() == 0)
1047 {
1048 currentDir.setPath( curDir );
1049 chdir( curDir.latin1() );
1050 currentDir.cd( curDir, TRUE);
1051 populateLocalView();
1052 }
1053 else
1054 {
1055 currentRemoteDir.setPath( curDir );
1056 chdir( curDir.latin1() );
1057 currentRemoteDir.cd( curDir, TRUE);
1058 populateRemoteView();
1059 }
1060 }
1061 }
1062// menuButton
1063// qDebug("gotoCustomDir(const QString &dir) " +dir );
1064// QString curDir = dir;
1065// if(QDir( curDir).exists() )
1066// {
1067// if (TabWidget->getCurrentTab() == 0)
1068// {
1069// currentDir.setPath( curDir );
1070// chdir( curDir.latin1() );
1071// currentDir.cd( curDir, TRUE);
1072// populateLocalView();
1073// }
1074// else
1075// {
1076// currentRemoteDir.setPath( curDir );
1077// chdir( curDir.latin1() );
1078// currentRemoteDir.cd( curDir, TRUE);
1079// populateRemoteView();
1080// }
1081// }
1082// menuButton->setLabel(" ");
1083// menuButton
1084}
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 42775ee..7478dcb 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -41,40 +41,24 @@ class QWidget;
41class QPEToolBar; 41class QPEToolBar;
42class QPEMenuBar; 42class QPEMenuBar;
43class QPopupMenu; 43class QPopupMenu;
44class QFile; 44class QFile;
45class QListViewItem; 45class QListViewItem;
46class QLineEdit; 46class QLineEdit;
47class MenuButton;
47 48
48//class QPushButton; 49//class QPushButton;
49class QToolButton; 50class QToolButton;
50class Ir; 51class Ir;
51 52
52class AdvancedFm : public QMainWindow 53class AdvancedFm : public QMainWindow
53{ 54{
54 Q_OBJECT 55 Q_OBJECT
55public: 56public:
56 AdvancedFm(); 57 AdvancedFm();
57 ~AdvancedFm(); 58 ~AdvancedFm();
58
59 OTabWidget *TabWidget;
60// QTabWidget *TabWidget;
61 QWidget *tab, *tab_2, *tab_3;
62 QListView *Local_View, *Remote_View;
63
64 QLineEdit *currentPathEdit;
65 QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu;
66 QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
67// QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
68 QDir currentDir, currentRemoteDir;
69 QComboBox *currentPathCombo;
70 QString filterStr;
71 QListViewItem * item;
72 bool b;
73 QStringList fileSystemTypeList, fsList;
74 int currentServerConfig;
75protected slots: 59protected slots:
76 void selectAll(); 60 void selectAll();
77 void addToDocs(); 61 void addToDocs();
78 void doLocalCd(); 62 void doLocalCd();
79 void doRemoteCd(); 63 void doRemoteCd();
80// void copy(); 64// void copy();
@@ -111,12 +95,29 @@ protected slots:
111 QStringList getPath(); 95 QStringList getPath();
112 void mkSym(); 96 void mkSym();
113 void switchToLocalTab(); 97 void switchToLocalTab();
114 void switchToRemoteTab(); 98 void switchToRemoteTab();
115 99
116protected: 100protected:
101
102 OTabWidget *TabWidget;
103// QTabWidget *TabWidget;
104 QWidget *tab, *tab_2, *tab_3;
105 QListView *Local_View, *Remote_View;
106
107 QLineEdit *currentPathEdit;
108 QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu /*, *customDirMenu*/;
109 QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
110// QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
111 QDir currentDir, currentRemoteDir;
112 QComboBox *currentPathCombo;
113 QString filterStr, s_addBookmark, s_removeBookmark;
114 QListViewItem * item;
115 bool b;
116 QStringList fileSystemTypeList, fsList;
117 int currentServerConfig;
117 bool zaurusDevice; 118 bool zaurusDevice;
118 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; 119 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3;
119 QStringList remoteDirPathStringList, localDirPathStringList; 120 QStringList remoteDirPathStringList, localDirPathStringList;
120 QLineEdit *renameBox; 121 QLineEdit *renameBox;
121 122
122 void init(); 123 void init();
@@ -126,12 +127,13 @@ protected:
126 QString getDiskSpace(const QString &); 127 QString getDiskSpace(const QString &);
127 void parsetab(const QString &fileName); 128 void parsetab(const QString &fileName);
128 QString checkDiskSpace(const QString &); 129 QString checkDiskSpace(const QString &);
129 QString dealWithSymName(const QString &); 130 QString dealWithSymName(const QString &);
130 131
131protected slots: 132protected slots:
133 void dirMenuSelected(int);
132 void showFileMenu(); 134 void showFileMenu();
133 void cancelMenuTimer(); 135 void cancelMenuTimer();
134 void homeButtonPushed(); 136 void homeButtonPushed();
135 void docButtonPushed(); 137 void docButtonPushed();
136 void SDButtonPushed(); 138 void SDButtonPushed();
137 void CFButtonPushed(); 139 void CFButtonPushed();
@@ -148,18 +150,24 @@ protected slots:
148 void fileStatus(); 150 void fileStatus();
149 void doAbout(); 151 void doAbout();
150 void doBeam(); 152 void doBeam();
151 void fileBeamFinished( Ir *); 153 void fileBeamFinished( Ir *);
152 154
153private: 155private:
156 MenuButton *menuButton;
154 QString oldName; 157 QString oldName;
155 QTimer menuTimer; 158 QTimer menuTimer;
156 void startProcess(const QString &); 159 void startProcess(const QString &);
157 bool eventFilter( QObject * , QEvent * ); 160 bool eventFilter( QObject * , QEvent * );
158 void cancelRename(); 161 void cancelRename();
159 void doRename(QListView *); 162 void doRename(QListView *);
160 void okRename(); 163 void okRename();
164 void customDirsToMenu();
165 void addCustomDir();
166 void removeCustomDir();
167
161private slots: 168private slots:
162 void processEnded(); 169 void processEnded();
170 void gotoCustomDir(const QString &);
163}; 171};
164 172
165#endif // ADVANCEDFM_H 173#endif // ADVANCEDFM_H
diff --git a/noncore/apps/advancedfm/advancedfmData.cpp b/noncore/apps/advancedfm/advancedfmData.cpp
index 0966f02..bb80dc6 100644
--- a/noncore/apps/advancedfm/advancedfmData.cpp
+++ b/noncore/apps/advancedfm/advancedfmData.cpp
@@ -13,12 +13,14 @@
13 13
14#include <opie/otabwidget.h> 14#include <opie/otabwidget.h>
15#include <qpe/qpeapplication.h> 15#include <qpe/qpeapplication.h>
16#include <qpe/qpemenubar.h> 16#include <qpe/qpemenubar.h>
17#include <qpe/qpetoolbar.h> 17#include <qpe/qpetoolbar.h>
18#include <qpe/resource.h> 18#include <qpe/resource.h>
19#include <qpe/menubutton.h>
20#include <qpe/config.h>
19 21
20#include <qlayout.h> 22#include <qlayout.h>
21#include <qpixmap.h> 23#include <qpixmap.h>
22#include <qcombobox.h> 24#include <qcombobox.h>
23#include <qpopupmenu.h> 25#include <qpopupmenu.h>
24#include <qtabwidget.h> 26#include <qtabwidget.h>
@@ -40,47 +42,54 @@ void AdvancedFm::init() {
40 layout->setMargin( 2); 42 layout->setMargin( 2);
41 43
42 44
43 QPEMenuBar *menuBar = new QPEMenuBar(this); 45 QPEMenuBar *menuBar = new QPEMenuBar(this);
44 fileMenu = new QPopupMenu( this ); 46 fileMenu = new QPopupMenu( this );
45 viewMenu = new QPopupMenu( this ); 47 viewMenu = new QPopupMenu( this );
48// customDirMenu = new QPopupMenu( this );
46 49
47 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 ); 50 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 );
48 51
49 menuBar->insertItem( tr( "File" ), fileMenu); 52 menuBar->insertItem( tr( "File" ), fileMenu);
50 menuBar->insertItem( tr( "View" ), viewMenu); 53 menuBar->insertItem( tr( "View" ), viewMenu);
54// menuBar->insertItem( tr( "^" ), customDirMenu);
55
56 cdUpButton = new QToolButton( this,"cdUpButton");
57 cdUpButton->setPixmap(Resource::loadPixmap("up"));
58 cdUpButton->setFixedSize( QSize( 20, 20 ) );
59 layout->addMultiCellWidget( cdUpButton , 0, 0, 2, 2);
60
61 menuButton = new MenuButton(this);
62 menuButton->setFixedSize( QSize( 20, 20 ) );
63 layout->addMultiCellWidget( menuButton , 0, 0, 3, 3);
51 64
52 qpeDirButton= new QToolButton(this,"QPEButton"); 65 qpeDirButton= new QToolButton(this,"QPEButton");
53 qpeDirButton->setPixmap( Resource::loadPixmap("launcher/opielogo16x16"));//,"",this,"QPEButton"); 66 qpeDirButton->setPixmap( Resource::loadPixmap("launcher/opielogo16x16"));//,"",this,"QPEButton");
54 qpeDirButton ->setFixedSize( QSize( 20, 20 ) ); 67 qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
55 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2); 68 layout->addMultiCellWidget( qpeDirButton , 0, 0, 4, 4);
56 69
57 cfButton = new QToolButton( this,"CFButton"); 70 cfButton = new QToolButton( this,"CFButton");
58 cfButton->setPixmap(Resource::loadPixmap("cardmon/pcmcia")); 71 cfButton->setPixmap(Resource::loadPixmap("cardmon/pcmcia"));
59 cfButton ->setFixedSize( QSize( 20, 20 ) ); 72 cfButton ->setFixedSize( QSize( 20, 20 ) );
60 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3); 73 layout->addMultiCellWidget( cfButton , 0, 0, 5, 5);
61 74
62 sdButton = new QToolButton( this,"SDButton"); 75 sdButton = new QToolButton( this,"SDButton");
63 sdButton->setPixmap(Resource::loadPixmap("advancedfm/sdcard")); 76 sdButton->setPixmap(Resource::loadPixmap("advancedfm/sdcard"));
64 sdButton->setFixedSize( QSize( 20, 20 ) ); 77 sdButton->setFixedSize( QSize( 20, 20 ) );
65 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4); 78 layout->addMultiCellWidget( sdButton , 0, 0, 6, 6);
66 79
67 cdUpButton = new QToolButton( this,"cdUpButton");
68 cdUpButton->setPixmap(Resource::loadPixmap("up"));
69 cdUpButton ->setFixedSize( QSize( 20, 20 ) );
70 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5);
71 80
72 docButton = new QToolButton( this,"docsButton"); 81 docButton = new QToolButton( this,"docsButton");
73 docButton->setPixmap(Resource::loadPixmap("DocsIcon")); 82 docButton->setPixmap(Resource::loadPixmap("DocsIcon"));
74 docButton->setFixedSize( QSize( 20, 20 ) ); 83 docButton->setFixedSize( QSize( 20, 20 ) );
75 layout->addMultiCellWidget( docButton, 0, 0, 6, 6); 84 layout->addMultiCellWidget( docButton, 0, 0, 7, 7);
76 85
77 homeButton = new QToolButton( this,"homeButton"); 86 homeButton = new QToolButton( this,"homeButton");
78 homeButton->setPixmap(Resource::loadPixmap("home")); 87 homeButton->setPixmap(Resource::loadPixmap("home"));
79 homeButton->setFixedSize( QSize( 20, 20 ) ); 88 homeButton->setFixedSize( QSize( 20, 20 ) );
80 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7); 89 layout->addMultiCellWidget( homeButton, 0, 0, 8, 8);
81 90
82 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() )); 91 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() ));
83 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 92 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
84 fileMenu->insertSeparator(); 93 fileMenu->insertSeparator();
85 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() )); 94 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() ));
86 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() )); 95 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() ));
@@ -96,26 +105,40 @@ void AdvancedFm::init() {
96 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); 105 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
97 viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() )); 106 viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
98 viewMenu->insertSeparator(); 107 viewMenu->insertSeparator();
99 viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() )); 108 viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() ));
100 viewMenu->setCheckable(TRUE); 109 viewMenu->setCheckable(TRUE);
101 110
111 s_addBookmark = tr("Bookmark Directory");
112 s_removeBookmark = tr("Remove Current Directory from Bookmarks");
113
114 menuButton->setUseLabel(false);
115 menuButton->insertItem( s_addBookmark);
116 menuButton->insertItem( s_removeBookmark);
117 menuButton->insertSeparator();
118// menuButton->insertItem("");
119
120// customDirMenu->insertItem(tr("Add This Directory"));
121// customDirMenu->insertItem(tr("Remove This Directory"));
122// customDirMenu->insertSeparator();
123
124 customDirsToMenu();
102 125
103 currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" ); 126 currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
104 currentPathCombo->setEditable(TRUE); 127 currentPathCombo->setEditable(TRUE);
105 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7); 128 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 8);
106 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 129 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
107 130
108 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 131 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
109 132
110 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7); 133 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 8);
111 134
112 135
113 TabWidget = new OTabWidget( this, "TabWidget",/* OTabWidget::Global | */OTabWidget::IconTab); 136 TabWidget = new OTabWidget( this, "TabWidget",/* OTabWidget::Global | */OTabWidget::IconTab);
114// TabWidget = new QTabWidget( this, "TabWidget" ); 137// TabWidget = new QTabWidget( this, "TabWidget" );
115 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7); 138 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 8);
116 139
117 tab = new QWidget( TabWidget, "tab" ); 140 tab = new QWidget( TabWidget, "tab" );
118 tabLayout = new QGridLayout( tab ); 141 tabLayout = new QGridLayout( tab );
119 tabLayout->setSpacing( 2); 142 tabLayout->setSpacing( 2);
120 tabLayout->setMargin( 2); 143 tabLayout->setMargin( 2);
121 144
@@ -211,13 +234,13 @@ void AdvancedFm::initConnections() {
211 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 234 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
212 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) ); 235 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
213 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) ); 236 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) );
214 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) ); 237 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) );
215 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) ); 238 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
216 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 239 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
217 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 240 connect( homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
218 connect( currentPathCombo, SIGNAL( activated( const QString & ) ), 241 connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
219 this, SLOT( currentPathComboActivated( const QString & ) ) ); 242 this, SLOT( currentPathComboActivated( const QString & ) ) );
220 243
221 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()), 244 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
222 this,SLOT(currentPathComboChanged())); 245 this,SLOT(currentPathComboChanged()));
223 246
@@ -230,12 +253,17 @@ void AdvancedFm::initConnections() {
230 253
231 connect( Remote_View, SIGNAL( clicked( QListViewItem*)), 254 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
232 this,SLOT( remoteListClicked(QListViewItem *)) ); 255 this,SLOT( remoteListClicked(QListViewItem *)) );
233 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 256 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
234 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 257 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) );
235 258
236 connect(TabWidget,SIGNAL(currentChanged(QWidget *)), 259 connect( TabWidget,SIGNAL(currentChanged(QWidget *)),
237 this,SLOT(tabChanged(QWidget*))); 260 this,SLOT(tabChanged(QWidget*)));
238 261
239 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) ); 262 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
240 263
264 connect( menuButton, SIGNAL( selected(const QString &)), SLOT(gotoCustomDir(const QString&)));
265// connect( menuButton, SIGNAL( selected( int)), SLOT( dirMenuSelected(int)));
266
267// connect( customDirMenu, SIGNAL( activated(int)), this, SLOT( dirMenuSelected(int)));
268
241} 269}