summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-09-23 13:38:57 (UTC)
committer llornkcor <llornkcor>2002-09-23 13:38:57 (UTC)
commit7c3194a651beca5ba43bc29d87cc96b55761b7bc (patch) (unidiff)
treec2860d2c826b62ce6737681ac43c78197448931b
parentcfeb1373faa2b46011ecdb294d0ce4e557ea988f (diff)
downloadopie-7c3194a651beca5ba43bc29d87cc96b55761b7bc.zip
opie-7c3194a651beca5ba43bc29d87cc96b55761b7bc.tar.gz
opie-7c3194a651beca5ba43bc29d87cc96b55761b7bc.tar.bz2
start changing things around
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp285
-rw-r--r--noncore/apps/advancedfm/advancedfm.h6
-rw-r--r--noncore/apps/advancedfm/advancedfm.pro2
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp236
4 files changed, 272 insertions, 257 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
@@ -17,44 +17,42 @@
17#include "filePermissions.h" 17#include "filePermissions.h"
18#include "output.h" 18#include "output.h"
19 19
20// #include <opie/ofileselector.h> 20// #include <opie/ofileselector.h>
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>
26#include <qpe/qcopenvelope_qws.h> 25#include <qpe/qcopenvelope_qws.h>
27#include <qpe/qpemenubar.h> 26#include <qpe/qpemenubar.h>
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>
33#include <qpe/mimetype.h> 31#include <qpe/mimetype.h>
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>
45#include <qfile.h> 44#include <qfile.h>
46#include <qstring.h> 45#include <qstring.h>
47#include <qcombobox.h> 46#include <qcombobox.h>
48#include <qpopupmenu.h> 47#include <qpopupmenu.h>
49#include <qlistview.h> 48#include <qlistview.h>
50#include <qmainwindow.h> 49#include <qmainwindow.h>
51#include <qlabel.h> 50#include <qlabel.h>
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>
57#include <qimage.h> 55#include <qimage.h>
58#include <qpixmap.h> 56#include <qpixmap.h>
59#include <qmessagebox.h> 57#include <qmessagebox.h>
60#include <qlineedit.h> 58#include <qlineedit.h>
@@ -72,234 +70,35 @@
72#include <errno.h> 70#include <errno.h>
73#include <sys/vfs.h> 71#include <sys/vfs.h>
74#include <mntent.h> 72#include <mntent.h>
75#include <sys/utsname.h> 73#include <sys/utsname.h>
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();
278 populateRemoteView(); 80 populateRemoteView();
279 currentPathCombo->setFocus(); 81 currentPathCombo->setFocus();
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) != "/")
290 sfile+="/._temp"; 90 sfile+="/._temp";
291 else 91 else
292 sfile+="._temp"; 92 sfile+="._temp";
293 QFile file( sfile); 93 QFile file( sfile);
294 if(file.exists()) 94 if(file.exists())
295 file.remove(); 95 file.remove();
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());
302 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE); 101 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE);
303 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE); 102 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE);
304 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath()); 103 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
305 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" ); 104 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" );
@@ -312,14 +111,13 @@ void AdvancedFm::tabChanged(QWidget *)
312 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); 111 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
313 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" ); 112 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" );
314 } 113 }
315} 114}
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();
322 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 120 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
323 currentDir.setMatchAllDirs(TRUE); 121 currentDir.setMatchAllDirs(TRUE);
324 currentDir.setNameFilter(filterStr); 122 currentDir.setNameFilter(filterStr);
325 QString fileL, fileS, fileDate; 123 QString fileL, fileS, fileDate;
@@ -409,14 +207,13 @@ void AdvancedFm::populateLocalView()
409 207
410 Local_View->setSorting( 3,FALSE); 208 Local_View->setSorting( 3,FALSE);
411 fillCombo( (const QString &) currentDir.canonicalPath()); 209 fillCombo( (const QString &) currentDir.canonicalPath());
412} 210}
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();
419 currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 216 currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
420 currentRemoteDir.setMatchAllDirs(TRUE); 217 currentRemoteDir.setMatchAllDirs(TRUE);
421 currentRemoteDir.setNameFilter(filterStr); 218 currentRemoteDir.setNameFilter(filterStr);
422 QString fileL, fileS, fileDate; 219 QString fileL, fileS, fileDate;
@@ -506,14 +303,13 @@ void AdvancedFm::populateRemoteView()
506 } 303 }
507 304
508 Remote_View->setSorting( 3,FALSE); 305 Remote_View->setSorting( 3,FALSE);
509 fillCombo( (const QString &) currentRemoteDir.canonicalPath() ); 306 fillCombo( (const QString &) currentRemoteDir.canonicalPath() );
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);
516 QString strSize=selectedItem->text(1); 312 QString strSize=selectedItem->text(1);
517 strSize=strSize.stripWhiteSpace(); 313 strSize=strSize.stripWhiteSpace();
518 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 314 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
519 // is symlink 315 // is symlink
@@ -547,14 +343,14 @@ void AdvancedFm::localListClicked(QListViewItem *selectedItem)
547 } //end not symlink 343 } //end not symlink
548 chdir(strItem.latin1()); 344 chdir(strItem.latin1());
549 } 345 }
550 } 346 }
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);
557 QString strSize=selectedItem->text(1); 353 QString strSize=selectedItem->text(1);
558 strSize=strSize.stripWhiteSpace(); 354 strSize=strSize.stripWhiteSpace();
559 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 355 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
560 // is symlink 356 // is symlink
@@ -588,24 +384,21 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem)
588 } //end not symlink 384 } //end not symlink
589 chdir(strItem.latin1()); 385 chdir(strItem.latin1());
590 } 386 }
591 } 387 }
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);
608 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 401 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
609 b=FALSE; 402 b=FALSE;
610 403
611 } else { 404 } else {
@@ -614,40 +407,37 @@ void AdvancedFm::showHidden()
614 b=TRUE; 407 b=TRUE;
615 } 408 }
616 populateLocalView(); 409 populateLocalView();
617 410
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);
624 b=TRUE; 416 b=TRUE;
625 417
626 } else { 418 } else {
627 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 419 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
628 b=FALSE; 420 b=FALSE;
629 } 421 }
630 populateRemoteView(); 422 populateRemoteView();
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) {
637 case 1: 428 case 1:
638 break; 429 break;
639 case 2: 430 case 2:
640 menuTimer.start( 750, TRUE ); 431 menuTimer.start( 750, TRUE );
641 qDebug("Start menu timer\n"); 432 qDebug("Start menu timer\n");
642 break; 433 break;
643 }; 434 };
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) {
650 case 1: 440 case 1:
651 break; 441 break;
652 case 2: 442 case 2:
653 menuTimer.start( 750, TRUE ); 443 menuTimer.start( 750, TRUE );
@@ -725,38 +515,35 @@ void AdvancedFm::runText() {
725 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); 515 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
726 e << curFile; 516 e << curFile;
727 } 517 }
728 } 518 }
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);
735 fileDlg->exec(); 524 fileDlg->exec();
736 if( fileDlg->result() == 1 ) { 525 if( fileDlg->result() == 1 ) {
737 QString filename = fileDlg->LineEdit1->text(); 526 QString filename = fileDlg->LineEdit1->text();
738 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); 527 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename);
739 } 528 }
740 populateLocalView(); 529 populateLocalView();
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);
747 fileDlg->exec(); 535 fileDlg->exec();
748 if( fileDlg->result() == 1 ) { 536 if( fileDlg->result() == 1 ) {
749 QString filename = fileDlg->LineEdit1->text(); 537 QString filename = fileDlg->LineEdit1->text();
750 currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename); 538 currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename);
751 } 539 }
752 populateRemoteView(); 540 populateRemoteView();
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) {
759 QString myFile; 546 QString myFile;
760 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 547 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
761 myFile = (*it); 548 myFile = (*it);
762 if( myFile.find(" -> ",0,TRUE) != -1) 549 if( myFile.find(" -> ",0,TRUE) != -1)
@@ -799,14 +586,13 @@ void AdvancedFm::localDelete()
799 }; 586 };
800 } 587 }
801 } 588 }
802 } 589 }
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) {
809 QString myFile; 595 QString myFile;
810 596
811 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 597 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
812 myFile = (*it); 598 myFile = (*it);
@@ -849,14 +635,13 @@ void AdvancedFm::remoteDelete()
849 }; 635 };
850 } 636 }
851 } 637 }
852 } 638 }
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);
859 if( curFile !="../") { 644 if( curFile !="../") {
860 InputDialog *fileDlg; 645 InputDialog *fileDlg;
861 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0); 646 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
862 fileDlg->setInputText((const QString &)curFile); 647 fileDlg->setInputText((const QString &)curFile);
@@ -886,36 +671,31 @@ void AdvancedFm::remoteRename()
886 QMessageBox::message(tr("Note"),tr("Could not rename")); 671 QMessageBox::message(tr("Note"),tr("Could not rename"));
887 } 672 }
888 populateRemoteView(); 673 populateRemoteView();
889 } 674 }
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()) {
918 currentDir.setPath( currentPathCombo->lineEdit()->text() ); 698 currentDir.setPath( currentPathCombo->lineEdit()->text() );
919 populateLocalView(); 699 populateLocalView();
920 } else { 700 } else {
921 QMessageBox::message(tr("Note"),tr("That directory does not exist")); 701 QMessageBox::message(tr("Note"),tr("That directory does not exist"));
@@ -1091,14 +871,13 @@ void AdvancedFm::CFButtonPushed() {
1091 } 871 }
1092 update(); 872 update();
1093 873
1094} 874}
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();
1101 QDir dir(current); 880 QDir dir(current);
1102 dir.cdUp(); 881 dir.cdUp();
1103 current = dir.canonicalPath(); 882 current = dir.canonicalPath();
1104 chdir( current.latin1() ); 883 chdir( current.latin1() );
@@ -1114,14 +893,13 @@ void AdvancedFm::upDir()
1114 currentRemoteDir.cd( current, TRUE); 893 currentRemoteDir.cd( current, TRUE);
1115 populateRemoteView(); 894 populateRemoteView();
1116 update(); 895 update();
1117 } 896 }
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();
1124 if( curFileList.count() > 0) { 902 if( curFileList.count() > 0) {
1125 QString curFile; 903 QString curFile;
1126 if (TabWidget->currentPageIndex() == 0) { 904 if (TabWidget->currentPageIndex() == 0) {
1127 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 905 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
@@ -1592,14 +1370,13 @@ void AdvancedFm::doAbout() {
1592 QMessageBox::message("AdvancedFm",tr("Advanced FileManager\n" 1370 QMessageBox::message("AdvancedFm",tr("Advanced FileManager\n"
1593 "is copyright 2002 by\n" 1371 "is copyright 2002 by\n"
1594 "L.J.Potter<llornkcor@handhelds.org>\n" 1372 "L.J.Potter<llornkcor@handhelds.org>\n"
1595 "and is licensed by the GPL")); 1373 "and is licensed by the GPL"));
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() ) {
1602 case Key_Delete: 1379 case Key_Delete:
1603 del(); 1380 del();
1604 break; 1381 break;
1605 case Key_H: 1382 case Key_H:
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,8 +1,8 @@
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
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify * 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 * 8 * it under the terms of the GNU General Public License as published by *
@@ -107,18 +107,20 @@ protected slots:
107 107
108protected: 108protected:
109 bool zaurusDevice; 109 bool zaurusDevice;
110 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; 110 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3;
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 &); 119QString checkDiskSpace(const QString &);
120
119protected slots: 121protected slots:
120 void showFileMenu(); 122 void showFileMenu();
121 void cancelMenuTimer(); 123 void cancelMenuTimer();
122 void homeButtonPushed(); 124 void homeButtonPushed();
123 void docButtonPushed(); 125 void docButtonPushed();
124 void SDButtonPushed(); 126 void SDButtonPushed();
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
@@ -1,10 +1,10 @@
1TEMPLATE = app 1TEMPLATE = 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
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9DESTDIR = $(OPIEDIR)/bin 9DESTDIR = $(OPIEDIR)/bin
10LIBS += -lqpe 10LIBS += -lqpe
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}