summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp413
-rw-r--r--noncore/apps/advancedfm/advancedfm.h8
-rw-r--r--noncore/apps/advancedfm/advancedfm.pro2
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp236
4 files changed, 337 insertions, 322 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index c054465..8f49a53 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -1,6 +1,6 @@
1/*************************************************************************** 1/***************************************************************************
2 AdvancedFm.cpp 2 AdvancedFm.cpp
3 ------------------- 3 -------------------
4 ** Created: Sat Mar 9 23:33:09 2002 4 ** Created: Sat Mar 9 23:33:09 2002
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
@@ -21,5 +21,4 @@
21// #include <opie/ofiledialog.h> 21// #include <opie/ofiledialog.h>
22 22
23
24#include <qpe/lnkproperties.h> 23#include <qpe/lnkproperties.h>
25#include <qpe/filemanager.h> 24#include <qpe/filemanager.h>
@@ -28,5 +27,4 @@
28#include <qpe/qpetoolbar.h> 27#include <qpe/qpetoolbar.h>
29#include <qpe/qpeapplication.h> 28#include <qpe/qpeapplication.h>
30#include <qpe/resource.h>
31#include <qpe/qcopenvelope_qws.h> 29#include <qpe/qcopenvelope_qws.h>
32#include <qpe/config.h> 30#include <qpe/config.h>
@@ -34,11 +32,12 @@
34#include <qpe/applnk.h> 32#include <qpe/applnk.h>
35#include <qpe/ir.h> 33#include <qpe/ir.h>
34#include <qpe/resource.h>
36 35
37//#include <opie/ofileselector.h> 36//#include <opie/ofileselector.h>
38#include <qmultilineedit.h> 37#include <qmultilineedit.h>
39 38
39#include <qtabwidget.h>
40#include <qtextstream.h> 40#include <qtextstream.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qtoolbutton.h>
43#include <qdatetime.h> 42#include <qdatetime.h>
44#include <qdir.h> 43#include <qdir.h>
@@ -52,5 +51,4 @@
52#include <qprogressbar.h> 51#include <qprogressbar.h>
53#include <qspinbox.h> 52#include <qspinbox.h>
54#include <qtabwidget.h>
55#include <qwidget.h> 53#include <qwidget.h>
56#include <qlayout.h> 54#include <qlayout.h>
@@ -76,202 +74,6 @@
76 74
77AdvancedFm::AdvancedFm( ) 75AdvancedFm::AdvancedFm( )
78 : QMainWindow( ) 76 : QMainWindow( ) {
79{ 77 init();
80 setCaption( tr( "AdvancedFm" ) );
81
82 QGridLayout *layout = new QGridLayout( this );
83 layout->setSpacing( 2);
84 layout->setMargin( 2);
85
86 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
87
88 QPEMenuBar *menuBar = new QPEMenuBar(this);
89 fileMenu = new QPopupMenu( this );
90 viewMenu = new QPopupMenu( this );
91
92 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 );
93
94 menuBar->insertItem( tr( "File" ), fileMenu);
95 menuBar->insertItem( tr( "View" ), viewMenu);
96
97 qpeDirButton= new QToolButton(this,"QPEButton");
98 qpeDirButton->setPixmap( Resource::loadPixmap("launcher/opielogo16x16"));//,"",this,"QPEButton");
99 qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
100 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
101 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2);
102
103 cfButton = new QToolButton( this,"CFButton");
104 cfButton->setPixmap(Resource::loadPixmap("cardmon/pcmcia"));
105 cfButton ->setFixedSize( QSize( 20, 20 ) );
106 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) );
107 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3);
108
109 sdButton = new QToolButton( this,"SDButton");
110 sdButton->setPixmap(Resource::loadPixmap("sdmon/sdcard"));
111 sdButton->setFixedSize( QSize( 20, 20 ) );
112 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) );
113 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4);
114
115 cdUpButton = new QToolButton( this,"cdUpButton");
116 cdUpButton->setPixmap(Resource::loadPixmap("up"));
117 cdUpButton ->setFixedSize( QSize( 20, 20 ) );
118 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
119 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5);
120
121 docButton = new QToolButton( this,"docsButton");
122 docButton->setPixmap(Resource::loadPixmap("DocsIcon"));
123 docButton->setFixedSize( QSize( 20, 20 ) );
124 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
125 layout->addMultiCellWidget( docButton, 0, 0, 6, 6);
126
127 homeButton = new QToolButton( this,"homeButton");
128 homeButton->setPixmap(Resource::loadPixmap("home"));
129 homeButton->setFixedSize( QSize( 20, 20 ) );
130 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
131 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7);
132
133 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
134 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
135 fileMenu->insertSeparator();
136 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() ));
137 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() ));
138 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() ));
139 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() ));
140 fileMenu->insertSeparator();
141 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
142 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() ));
143 fileMenu->setCheckable(TRUE);
144
145 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
146 viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
147 viewMenu->insertSeparator();
148 viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() ));
149 viewMenu->setCheckable(TRUE);
150
151
152 currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
153 currentPathCombo->setEditable(TRUE);
154 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
155 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
156
157 connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
158 this, SLOT( currentPathComboActivated( const QString & ) ) );
159
160 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
161 this,SLOT(currentPathComboChanged()));
162
163 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
164
165 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
166
167
168 TabWidget = new QTabWidget( this, "TabWidget" );
169 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7);
170
171 tab = new QWidget( TabWidget, "tab" );
172 tabLayout = new QGridLayout( tab );
173 tabLayout->setSpacing( 2);
174 tabLayout->setMargin( 2);
175
176 Local_View = new QListView( tab, "Local_View" );
177 Local_View->addColumn( tr("File"),130);
178 Local_View->addColumn( tr("Size"),-1);
179 Local_View->setColumnAlignment(1,QListView::AlignRight);
180 Local_View->addColumn( tr("Date"),-1);
181 Local_View->setColumnAlignment(2,QListView::AlignRight);
182 Local_View->setAllColumnsShowFocus(TRUE);
183 Local_View->setMultiSelection( TRUE );
184 Local_View->setSelectionMode(QListView::Extended);
185
186 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold);
187
188 tabLayout->addWidget( Local_View, 0, 0 );
189
190 connect( Local_View, SIGNAL( clicked( QListViewItem*)),
191 this,SLOT( localListClicked(QListViewItem *)) );
192 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
193 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) );
194
195 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
196
197 TabWidget->insertTab( tab, tr("1"));
198
199 tab_2 = new QWidget( TabWidget, "tab_2" );
200 tabLayout_2 = new QGridLayout( tab_2 );
201 tabLayout_2->setSpacing( 2);
202 tabLayout_2->setMargin( 2);
203
204 Remote_View = new QListView( tab_2, "Remote_View" );
205 Remote_View->addColumn( tr("File"),130);
206 Remote_View->addColumn( tr("Size"),-1);
207 Remote_View->setColumnAlignment(1,QListView::AlignRight);
208 Remote_View->addColumn( tr("Date"),-1);
209 Remote_View->setColumnAlignment(2,QListView::AlignRight);
210 Remote_View->setAllColumnsShowFocus(TRUE);
211 Remote_View->setMultiSelection( TRUE );
212 Remote_View->setSelectionMode(QListView::Extended);
213
214
215 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
216
217 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
218 this,SLOT( remoteListClicked(QListViewItem *)) );
219 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
220 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) );
221
222 tabLayout_2->addWidget( Remote_View, 0, 0 );
223
224
225 TabWidget->insertTab( tab_2, tr( "2"));
226
227 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
228 this,SLOT(tabChanged(QWidget*)));
229
230 /* tab_3 = new QWidget( TabWidget, "tab_3" );
231 tabLayout_3 = new QGridLayout( tab_3 );
232 tabLayout_3->setSpacing( 2);
233 tabLayout_3->setMargin( 2);
234
235
236 // OFileDialog fileDialog;
237 // fileDialog;
238 // fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy
239 // fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow");
240 // OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/");
241
242 QListView *fileTree;
243 fileTree = new QListView( tab_3, "tree" );
244
245
246 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 );
247
248 TabWidget->insertTab( tab_3, tr( "Remote" ) );
249 */
250
251 ///////////////
252
253 struct utsname name; /* check for embedix kernel running on the zaurus*/
254 if (uname(&name) != -1) {
255 QString release=name.release;
256 if(release.find("embedix",0,TRUE) !=-1) {
257 zaurusDevice=TRUE;
258 } else {
259 zaurusDevice=FALSE;
260 sdButton->hide();
261 }
262 }
263
264 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
265 currentDir.setPath( QDir::currentDirPath());
266
267 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
268 currentRemoteDir.setPath( QDir::currentDirPath());
269
270 b = TRUE;
271
272 filterStr="*";
273 b=FALSE;
274
275 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
276 78
277 populateLocalView(); 79 populateLocalView();
@@ -280,10 +82,8 @@ AdvancedFm::AdvancedFm( )
280} 82}
281 83
282AdvancedFm::~AdvancedFm() 84AdvancedFm::~AdvancedFm() {
283{
284} 85}
285 86
286void AdvancedFm::cleanUp() 87void AdvancedFm::cleanUp() {
287{
288 QString sfile=QDir::homeDirPath(); 88 QString sfile=QDir::homeDirPath();
289 if(sfile.right(1) != "/") 89 if(sfile.right(1) != "/")
@@ -296,6 +96,5 @@ void AdvancedFm::cleanUp()
296} 96}
297 97
298void AdvancedFm::tabChanged(QWidget *) 98void AdvancedFm::tabChanged(QWidget *) {
299{
300 if (TabWidget->currentPageIndex() == 0) { 99 if (TabWidget->currentPageIndex() == 0) {
301 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 100 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
@@ -316,6 +115,5 @@ void AdvancedFm::tabChanged(QWidget *)
316 115
317 116
318void AdvancedFm::populateLocalView() 117void AdvancedFm::populateLocalView() {
319{
320 QPixmap pm; 118 QPixmap pm;
321 Local_View->clear(); 119 Local_View->clear();
@@ -413,6 +211,5 @@ void AdvancedFm::populateLocalView()
413 211
414 212
415void AdvancedFm::populateRemoteView() 213void AdvancedFm::populateRemoteView() {
416{
417 QPixmap pm; 214 QPixmap pm;
418 Remote_View->clear(); 215 Remote_View->clear();
@@ -510,6 +307,5 @@ void AdvancedFm::populateRemoteView()
510} 307}
511 308
512void AdvancedFm::localListClicked(QListViewItem *selectedItem) 309void AdvancedFm::localListClicked(QListViewItem *selectedItem) {
513{
514 if(selectedItem) { 310 if(selectedItem) {
515 QString strItem=selectedItem->text(0); 311 QString strItem=selectedItem->text(0);
@@ -551,6 +347,6 @@ void AdvancedFm::localListClicked(QListViewItem *selectedItem)
551} 347}
552 348
553void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) 349void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) {
554{ 350
555 if(selectedItem) { 351 if(selectedItem) {
556 QString strItem=selectedItem->text(0); 352 QString strItem=selectedItem->text(0);
@@ -592,16 +388,13 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem)
592} 388}
593 389
594void AdvancedFm::doLocalCd() 390void AdvancedFm::doLocalCd() {
595{
596 localListClicked( Local_View->currentItem()); 391 localListClicked( Local_View->currentItem());
597} 392}
598 393
599void AdvancedFm::doRemoteCd() 394void AdvancedFm::doRemoteCd() {
600{
601 localListClicked( Remote_View->currentItem()); 395 localListClicked( Remote_View->currentItem());
602} 396}
603 397
604void AdvancedFm::showHidden() 398void AdvancedFm::showHidden() {
605{
606 if (b) { 399 if (b) {
607 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 400 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
@@ -618,6 +411,5 @@ void AdvancedFm::showHidden()
618} 411}
619 412
620void AdvancedFm::showRemoteHidden() 413void AdvancedFm::showRemoteHidden() {
621{
622 if (b) { 414 if (b) {
623 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 415 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
@@ -631,6 +423,5 @@ void AdvancedFm::showRemoteHidden()
631} 423}
632 424
633void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , int ) 425void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , int ) {
634{
635 qDebug("list pressed"); 426 qDebug("list pressed");
636 switch (mouse) { 427 switch (mouse) {
@@ -644,6 +435,5 @@ void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , i
644} 435}
645 436
646void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) 437void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) {
647{
648 438
649 switch (mouse) { 439 switch (mouse) {
@@ -729,6 +519,5 @@ void AdvancedFm::runText() {
729} 519}
730 520
731void AdvancedFm::localMakDir() 521void AdvancedFm::localMakDir() {
732{
733 InputDialog *fileDlg; 522 InputDialog *fileDlg;
734 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); 523 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
@@ -741,6 +530,5 @@ void AdvancedFm::localMakDir()
741} 530}
742 531
743void AdvancedFm::remoteMakDir() 532void AdvancedFm::remoteMakDir() {
744{
745 InputDialog *fileDlg; 533 InputDialog *fileDlg;
746 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); 534 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
@@ -753,6 +541,5 @@ void AdvancedFm::remoteMakDir()
753} 541}
754 542
755void AdvancedFm::localDelete() 543void AdvancedFm::localDelete() {
756{
757 QStringList curFileList = getPath(); 544 QStringList curFileList = getPath();
758 if(curFileList.count() > 0) { 545 if(curFileList.count() > 0) {
@@ -803,6 +590,5 @@ void AdvancedFm::localDelete()
803} 590}
804 591
805void AdvancedFm::remoteDelete() 592void AdvancedFm::remoteDelete() {
806{
807 QStringList curFileList = getPath(); 593 QStringList curFileList = getPath();
808 if( curFileList.count() > 0) { 594 if( curFileList.count() > 0) {
@@ -853,6 +639,5 @@ void AdvancedFm::remoteDelete()
853} 639}
854 640
855void AdvancedFm::localRename() 641void AdvancedFm::localRename() {
856{
857 QString curFile = Local_View->currentItem()->text(0); 642 QString curFile = Local_View->currentItem()->text(0);
858 qDebug("currentItem "+curFile); 643 qDebug("currentItem "+curFile);
@@ -890,28 +675,23 @@ void AdvancedFm::remoteRename()
890} 675}
891 676
892void AdvancedFm::switchToLocalTab() 677void AdvancedFm::switchToLocalTab() {
893{
894 TabWidget->setCurrentPage(0); 678 TabWidget->setCurrentPage(0);
895 Local_View->setFocus(); 679 Local_View->setFocus();
896} 680}
897 681
898void AdvancedFm::switchToRemoteTab() 682void AdvancedFm::switchToRemoteTab() {
899{
900 TabWidget->setCurrentPage(1); 683 TabWidget->setCurrentPage(1);
901 Remote_View->setFocus(); 684 Remote_View->setFocus();
902} 685}
903 686
904void AdvancedFm::readConfig() 687void AdvancedFm::readConfig() {
905{
906 Config cfg("AdvancedFm"); 688 Config cfg("AdvancedFm");
907} 689}
908 690
909void AdvancedFm::writeConfig() 691void AdvancedFm::writeConfig() {
910{
911 Config cfg("AdvancedFm"); 692 Config cfg("AdvancedFm");
912} 693}
913 694
914void AdvancedFm::currentPathComboChanged() 695void AdvancedFm::currentPathComboChanged() {
915{
916 if (TabWidget->currentPageIndex() == 0) { 696 if (TabWidget->currentPageIndex() == 0) {
917 if(QDir( currentPathCombo->lineEdit()->text()).exists()) { 697 if(QDir( currentPathCombo->lineEdit()->text()).exists()) {
@@ -1095,6 +875,5 @@ void AdvancedFm::CFButtonPushed() {
1095 875
1096 876
1097void AdvancedFm::upDir() 877void AdvancedFm::upDir() {
1098{
1099 if (TabWidget->currentPageIndex() == 0) { 878 if (TabWidget->currentPageIndex() == 0) {
1100 QString current = currentDir.canonicalPath(); 879 QString current = currentDir.canonicalPath();
@@ -1118,6 +897,5 @@ void AdvancedFm::upDir()
1118} 897}
1119 898
1120void AdvancedFm::copy() 899void AdvancedFm::copy() {
1121{
1122 qApp->processEvents(); 900 qApp->processEvents();
1123 QStringList curFileList = getPath(); 901 QStringList curFileList = getPath();
@@ -1596,6 +1374,5 @@ void AdvancedFm::doAbout() {
1596} 1374}
1597 1375
1598void AdvancedFm::keyReleaseEvent( QKeyEvent *e) 1376void AdvancedFm::keyReleaseEvent( QKeyEvent *e) {
1599{
1600 if( TabWidget->hasFocus()) 1377 if( TabWidget->hasFocus())
1601 switch ( e->key() ) { 1378 switch ( e->key() ) {
@@ -1809,54 +1586,54 @@ void AdvancedFm::fileBeamFinished( Ir *) {
1809void AdvancedFm::showFileMenu() { 1586void AdvancedFm::showFileMenu() {
1810 1587
1811 QString curApp; 1588 QString curApp;
1812 bool isLocalView = false; 1589 bool isLocalView = false;
1813 if (TabWidget->currentPageIndex() == 0) { 1590 if (TabWidget->currentPageIndex() == 0) {
1814 isLocalView = TRUE; 1591 isLocalView = TRUE;
1815 curApp = Local_View->currentItem()->text(0); 1592 curApp = Local_View->currentItem()->text(0);
1816 } else { 1593 } else {
1817 curApp = Remote_View->currentItem()->text(0); 1594 curApp = Remote_View->currentItem()->text(0);
1818 } 1595 }
1819 1596
1820 MimeType mt( curApp ); 1597 MimeType mt( curApp );
1821 const AppLnk* app = mt.application(); 1598 const AppLnk* app = mt.application();
1822 QFile fi(curApp); 1599 QFile fi(curApp);
1823 1600
1824 QPopupMenu *m = new QPopupMenu(0); 1601 QPopupMenu *m = new QPopupMenu(0);
1825 1602
1826 m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 1603 m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
1827 m->insertSeparator(); 1604 m->insertSeparator();
1828 if ( QFileInfo(fi).isDir() ) { 1605 if ( QFileInfo(fi).isDir() ) {
1829 m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); 1606 m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
1830 } else { 1607 } else {
1831 1608
1832 if ( app ) 1609 if ( app )
1833 m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) ); 1610 m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) );
1834 else if( QFileInfo(fi).isExecutable() ) 1611 else if( QFileInfo(fi).isExecutable() )
1835 m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); 1612 m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) );
1836 1613
1837 m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) ); 1614 m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) );
1838 } 1615 }
1839 m->insertSeparator(); 1616 m->insertSeparator();
1840 1617
1841 1618
1842 if(isLocalView) 1619 if(isLocalView)
1843 m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 1620 m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
1844 else 1621 else
1845 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 1622 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
1846 1623
1847 m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 1624 m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
1848 m->insertSeparator(); 1625 m->insertSeparator();
1849 1626
1850 if(isLocalView) 1627 if(isLocalView)
1851 m->insertItem( tr( "Rename" ), this, SLOT( localRename() )); 1628 m->insertItem( tr( "Rename" ), this, SLOT( localRename() ));
1852 else 1629 else
1853 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 1630 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
1854 1631
1855 m->insertItem( tr( "Copy" ), this, SLOT( copy() )); 1632 m->insertItem( tr( "Copy" ), this, SLOT( copy() ));
1856 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 1633 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
1857 m->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() )); 1634 m->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() ));
1858 m->insertItem( tr( "Move" ), this, SLOT( move() )); 1635 m->insertItem( tr( "Move" ), this, SLOT( move() ));
1859 m->insertSeparator(); 1636 m->insertSeparator();
1860 m->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() )); 1637 m->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
1861 1638
1862// if(isLocalView) 1639// if(isLocalView)
@@ -1865,30 +1642,30 @@ void AdvancedFm::showFileMenu() {
1865// m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() )); 1642// m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
1866 1643
1867 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 1644 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
1868 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 1645 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
1869 m->insertSeparator(); 1646 m->insertSeparator();
1870 1647
1871 if(isLocalView) 1648 if(isLocalView)
1872 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 1649 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
1873 else 1650 else
1874 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 1651 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
1875 1652
1876 m->insertSeparator(); 1653 m->insertSeparator();
1877 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 1654 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
1878 1655
1879 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings 1656 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
1880 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 1657 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
1881 m->setCheckable(TRUE); 1658 m->setCheckable(TRUE);
1882 if (!b) 1659 if (!b)
1883 m->setItemChecked(m->idAt(0),TRUE); 1660 m->setItemChecked(m->idAt(0),TRUE);
1884 else 1661 else
1885 m->setItemChecked(m->idAt(0),FALSE); 1662 m->setItemChecked(m->idAt(0),FALSE);
1886 1663
1887 if(Ir::supported()) 1664 if(Ir::supported())
1888 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); 1665 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
1889 m->setFocus(); 1666 m->setFocus();
1890 m->exec( QCursor::pos() ); 1667 m->exec( QCursor::pos() );
1891 sleep(1); 1668 sleep(1);
1892 if(m) delete m; 1669 if(m) delete m;
1893} 1670}
1894 1671
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 53dad50..b2705b8 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -1,4 +1,4 @@
1/*************************************************************************** 1/***************************************************************************
2 opieftp.h 2 advancedfm.h
3 ------------------- 3 -------------------
4** Created: Sat Mar 9 23:33:09 2002 4** Created: Sat Mar 9 23:33:09 2002
@@ -111,10 +111,12 @@ protected:
111 QStringList remoteDirPathStringList, localDirPathStringList; 111 QStringList remoteDirPathStringList, localDirPathStringList;
112 112
113 void init();
114 void initConnections();
113 void keyReleaseEvent( QKeyEvent *); 115 void keyReleaseEvent( QKeyEvent *);
114 QString getFileSystemType(const QString &); 116 QString getFileSystemType(const QString &);
115 QString getDiskSpace(const QString &); 117 QString getDiskSpace(const QString &);
116
117 void parsetab(const QString &fileName); 118 void parsetab(const QString &fileName);
118QString checkDiskSpace(const QString &); 119 QString checkDiskSpace(const QString &);
120
119protected slots: 121protected slots:
120 void showFileMenu(); 122 void showFileMenu();
diff --git a/noncore/apps/advancedfm/advancedfm.pro b/noncore/apps/advancedfm/advancedfm.pro
index 0f0f770..9629f0e 100644
--- a/noncore/apps/advancedfm/advancedfm.pro
+++ b/noncore/apps/advancedfm/advancedfm.pro
@@ -2,5 +2,5 @@ TEMPLATE = app
2CONFIG += qt warn_on release 2CONFIG += qt warn_on release
3HEADERS = advancedfm.h inputDialog.h filePermissions.h output.h 3HEADERS = advancedfm.h inputDialog.h filePermissions.h output.h
4SOURCES = advancedfm.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp 4SOURCES = advancedfm.cpp advancedfmData.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp
5TARGET = advancedfm 5TARGET = advancedfm
6REQUIRES=medium-config 6REQUIRES=medium-config
diff --git a/noncore/apps/advancedfm/advancedfmData.cpp b/noncore/apps/advancedfm/advancedfmData.cpp
new file mode 100644
index 0000000..a4f4d59
--- a/dev/null
+++ b/noncore/apps/advancedfm/advancedfmData.cpp
@@ -0,0 +1,236 @@
1/***************************************************************************
2 advancedfmData.cpp
3 -------------------
4** Created: Mon 09-23-2002 13:24:11
5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify *
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 *
10 * (at your option) any later version. *
11 ***************************************************************************/
12#include "advancedfm.h"
13
14#include <qpe/qpeapplication.h>
15#include <qpe/qpemenubar.h>
16#include <qpe/qpetoolbar.h>
17#include <qpe/resource.h>
18
19#include <qlayout.h>
20#include <qpixmap.h>
21#include <qcombobox.h>
22#include <qpopupmenu.h>
23#include <qtabwidget.h>
24#include <qtoolbutton.h>
25#include <qtabwidget.h>
26#include <qlineedit.h>
27#include <qlistview.h>
28
29#include <sys/utsname.h>
30
31
32void AdvancedFm::init() {
33
34 setCaption( tr( "AdvancedFm" ) );
35
36 QGridLayout *layout = new QGridLayout( this );
37 layout->setSpacing( 2);
38 layout->setMargin( 2);
39
40
41 QPEMenuBar *menuBar = new QPEMenuBar(this);
42 fileMenu = new QPopupMenu( this );
43 viewMenu = new QPopupMenu( this );
44
45 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 );
46
47 menuBar->insertItem( tr( "File" ), fileMenu);
48 menuBar->insertItem( tr( "View" ), viewMenu);
49
50 qpeDirButton= new QToolButton(this,"QPEButton");
51 qpeDirButton->setPixmap( Resource::loadPixmap("launcher/opielogo16x16"));//,"",this,"QPEButton");
52 qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
53 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2);
54
55 cfButton = new QToolButton( this,"CFButton");
56 cfButton->setPixmap(Resource::loadPixmap("cardmon/pcmcia"));
57 cfButton ->setFixedSize( QSize( 20, 20 ) );
58 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3);
59
60 sdButton = new QToolButton( this,"SDButton");
61 sdButton->setPixmap(Resource::loadPixmap("advancedfm/sdcard"));
62 sdButton->setFixedSize( QSize( 20, 20 ) );
63 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4);
64
65 cdUpButton = new QToolButton( this,"cdUpButton");
66 cdUpButton->setPixmap(Resource::loadPixmap("up"));
67 cdUpButton ->setFixedSize( QSize( 20, 20 ) );
68 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5);
69
70 docButton = new QToolButton( this,"docsButton");
71 docButton->setPixmap(Resource::loadPixmap("DocsIcon"));
72 docButton->setFixedSize( QSize( 20, 20 ) );
73 layout->addMultiCellWidget( docButton, 0, 0, 6, 6);
74
75 homeButton = new QToolButton( this,"homeButton");
76 homeButton->setPixmap(Resource::loadPixmap("home"));
77 homeButton->setFixedSize( QSize( 20, 20 ) );
78 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7);
79
80 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
81 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
82 fileMenu->insertSeparator();
83 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() ));
84 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() ));
85 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() ));
86 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() ));
87 fileMenu->insertSeparator();
88 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
89 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() ));
90 fileMenu->setCheckable(TRUE);
91
92 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
93 viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
94 viewMenu->insertSeparator();
95 viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() ));
96 viewMenu->setCheckable(TRUE);
97
98
99 currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
100 currentPathCombo->setEditable(TRUE);
101 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
102 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
103
104 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
105
106 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
107
108
109 TabWidget = new QTabWidget( this, "TabWidget" );
110 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7);
111
112 tab = new QWidget( TabWidget, "tab" );
113 tabLayout = new QGridLayout( tab );
114 tabLayout->setSpacing( 2);
115 tabLayout->setMargin( 2);
116
117 Local_View = new QListView( tab, "Local_View" );
118 Local_View->addColumn( tr("File"),130);
119 Local_View->addColumn( tr("Size"),-1);
120 Local_View->setColumnAlignment(1,QListView::AlignRight);
121 Local_View->addColumn( tr("Date"),-1);
122 Local_View->setColumnAlignment(2,QListView::AlignRight);
123 Local_View->setAllColumnsShowFocus(TRUE);
124 Local_View->setMultiSelection( TRUE );
125 Local_View->setSelectionMode(QListView::Extended);
126
127 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold);
128
129 tabLayout->addWidget( Local_View, 0, 0 );
130
131 TabWidget->insertTab( tab, tr("1"));
132
133 tab_2 = new QWidget( TabWidget, "tab_2" );
134 tabLayout_2 = new QGridLayout( tab_2 );
135 tabLayout_2->setSpacing( 2);
136 tabLayout_2->setMargin( 2);
137
138 Remote_View = new QListView( tab_2, "Remote_View" );
139 Remote_View->addColumn( tr("File"),130);
140 Remote_View->addColumn( tr("Size"),-1);
141 Remote_View->setColumnAlignment(1,QListView::AlignRight);
142 Remote_View->addColumn( tr("Date"),-1);
143 Remote_View->setColumnAlignment(2,QListView::AlignRight);
144 Remote_View->setAllColumnsShowFocus(TRUE);
145 Remote_View->setMultiSelection( TRUE );
146 Remote_View->setSelectionMode(QListView::Extended);
147
148
149 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
150
151 tabLayout_2->addWidget( Remote_View, 0, 0 );
152
153
154 TabWidget->insertTab( tab_2, tr( "2"));
155
156 /* tab_3 = new QWidget( TabWidget, "tab_3" );
157 tabLayout_3 = new QGridLayout( tab_3 );
158 tabLayout_3->setSpacing( 2);
159 tabLayout_3->setMargin( 2);
160
161
162 // OFileDialog fileDialog;
163 // fileDialog;
164 // fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy
165 // fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow");
166 // OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/");
167
168 QListView *fileTree;
169 fileTree = new QListView( tab_3, "tree" );
170
171
172 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 );
173
174 TabWidget->insertTab( tab_3, tr( "Remote" ) );
175 */
176
177 ///////////////
178
179 struct utsname name; /* check for embedix kernel running on the zaurus*/
180 if (uname(&name) != -1) {
181 QString release=name.release;
182 if(release.find("embedix",0,TRUE) !=-1) {
183 zaurusDevice=TRUE;
184 } else {
185 zaurusDevice=FALSE;
186 sdButton->hide();
187 }
188 }
189
190 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
191 currentDir.setPath( QDir::currentDirPath());
192
193 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
194 currentRemoteDir.setPath( QDir::currentDirPath());
195
196 b = TRUE;
197
198 filterStr="*";
199 b=FALSE;
200
201
202
203}
204
205void AdvancedFm::initConnections() {
206 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
207 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
208 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) );
209 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) );
210 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
211 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
212 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
213 connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
214 this, SLOT( currentPathComboActivated( const QString & ) ) );
215
216 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
217 this,SLOT(currentPathComboChanged()));
218
219 connect( Local_View, SIGNAL( clicked( QListViewItem*)),
220 this,SLOT( localListClicked(QListViewItem *)) );
221 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
222 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) );
223
224 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
225
226 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
227 this,SLOT( remoteListClicked(QListViewItem *)) );
228 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
229 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) );
230
231 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
232 this,SLOT(tabChanged(QWidget*)));
233
234 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
235
236}