summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-06-05 00:54:49 (UTC)
committer llornkcor <llornkcor>2002-06-05 00:54:49 (UTC)
commit74b847188b101e34f9e36aa1323c77fa917f580a (patch) (unidiff)
tree35deac521ad103a4a256e098030333a736c924a5
parentae8f8f544ddb0bf598cd709176f533e5a1a913c5 (diff)
downloadopie-74b847188b101e34f9e36aa1323c77fa917f580a.zip
opie-74b847188b101e34f9e36aa1323c77fa917f580a.tar.gz
opie-74b847188b101e34f9e36aa1323c77fa917f580a.tar.bz2
fixed bug with keyboard cmmds interfere with typing into the combo box, use new OPIEDIR icon, fixed bug with ftp tab not showing ;)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp137
-rw-r--r--noncore/apps/advancedfm/advancedfm.pro2
2 files changed, 84 insertions, 55 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index a000e9b..ebd7fc3 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -1,51 +1,55 @@
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
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 *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 ***************************************************************************/ 11 ***************************************************************************/
12#define DEVELOPERS_VERSION 12#define DEVELOPERS_VERSION
13#define QTOPIA_INTERNAL_FSLP // to get access to fileproperties 13#define QTOPIA_INTERNAL_FSLP // to get access to fileproperties
14 14
15#include "advancedfm.h" 15#include "advancedfm.h"
16#include "inputDialog.h" 16#include "inputDialog.h"
17#include "filePermissions.h" 17#include "filePermissions.h"
18#include "output.h" 18#include "output.h"
19 19
20#include <opie/ofileselector.h>
21#include <opie/ofiledialog.h>
22
23
20#include <qpe/lnkproperties.h> 24#include <qpe/lnkproperties.h>
21#include <qpe/filemanager.h> 25#include <qpe/filemanager.h>
22#include <qpe/qcopenvelope_qws.h> 26#include <qpe/qcopenvelope_qws.h>
23#include <qpe/qpemenubar.h> 27#include <qpe/qpemenubar.h>
24#include <qpe/qpetoolbar.h> 28#include <qpe/qpetoolbar.h>
25#include <qpe/qpeapplication.h> 29#include <qpe/qpeapplication.h>
26#include <qpe/resource.h> 30#include <qpe/resource.h>
27#include <qpe/qcopenvelope_qws.h> 31#include <qpe/qcopenvelope_qws.h>
28#include <qpe/config.h> 32#include <qpe/config.h>
29#include <qpe/mimetype.h> 33#include <qpe/mimetype.h>
30#include <qpe/applnk.h> 34#include <qpe/applnk.h>
31#include <qpe/ir.h> 35#include <qpe/ir.h>
32 36
33//#include <opie/ofileselector.h> 37//#include <opie/ofileselector.h>
34#include <qmultilineedit.h> 38#include <qmultilineedit.h>
35 39
36#include <qtextstream.h> 40#include <qtextstream.h>
37#include <qpushbutton.h> 41#include <qpushbutton.h>
38#include <qtoolbutton.h> 42#include <qtoolbutton.h>
39#include <qdatetime.h> 43#include <qdatetime.h>
40#include <qdir.h> 44#include <qdir.h>
41#include <qfile.h> 45#include <qfile.h>
42#include <qstring.h> 46#include <qstring.h>
43#include <qcombobox.h> 47#include <qcombobox.h>
44#include <qpopupmenu.h> 48#include <qpopupmenu.h>
45#include <qlistview.h> 49#include <qlistview.h>
46#include <qmainwindow.h> 50#include <qmainwindow.h>
47#include <qlabel.h> 51#include <qlabel.h>
48#include <qprogressbar.h> 52#include <qprogressbar.h>
49#include <qspinbox.h> 53#include <qspinbox.h>
50#include <qtabwidget.h> 54#include <qtabwidget.h>
51#include <qwidget.h> 55#include <qwidget.h>
@@ -60,65 +64,65 @@
60#include <stdlib.h> 64#include <stdlib.h>
61#include <sys/stat.h> 65#include <sys/stat.h>
62#include <dirent.h> 66#include <dirent.h>
63#include <stdio.h> 67#include <stdio.h>
64#include <time.h> 68#include <time.h>
65#include <fcntl.h> 69#include <fcntl.h>
66#include <mntent.h> 70#include <mntent.h>
67#include <string.h> 71#include <string.h>
68#include <errno.h> 72#include <errno.h>
69 73
70AdvancedFm::AdvancedFm( ) 74AdvancedFm::AdvancedFm( )
71 : QMainWindow( ) 75 : QMainWindow( )
72{ 76{
73 setCaption( tr( "AdvancedFm" ) ); 77 setCaption( tr( "AdvancedFm" ) );
74// menuTimer( this ); 78// menuTimer( this );
75 79
76 QGridLayout *layout = new QGridLayout( this ); 80 QGridLayout *layout = new QGridLayout( this );
77 layout->setSpacing( 2); 81 layout->setSpacing( 2);
78 layout->setMargin( 2); 82 layout->setMargin( 2);
79 83
80 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 84 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
81 85
82 QPEMenuBar *menuBar = new QPEMenuBar(this); 86 QPEMenuBar *menuBar = new QPEMenuBar(this);
83// fileMenu = new QPopupMenu( this ); 87// fileMenu = new QPopupMenu( this );
84 fileMenu = new QPopupMenu( this ); 88 fileMenu = new QPopupMenu( this );
85 viewMenu = new QPopupMenu( this ); 89 viewMenu = new QPopupMenu( this );
86 90
87 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 ); 91 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 );
88 92
89 menuBar->insertItem( tr( "File" ), fileMenu); 93 menuBar->insertItem( tr( "File" ), fileMenu);
90 menuBar->insertItem( tr( "View" ), viewMenu); 94 menuBar->insertItem( tr( "View" ), viewMenu);
91 95
92 qpeDirButton= new QPushButton(Resource::loadIconSet("go"),"",this,"QPEButton"); 96 qpeDirButton= new QPushButton(Resource::loadIconSet("launcher/opielogo16x16"),"",this,"QPEButton");
93 qpeDirButton ->setFixedSize( QSize( 20, 20 ) ); 97 qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
94 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) ); 98 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
95 qpeDirButton->setFlat(TRUE); 99 qpeDirButton->setFlat(TRUE);
96 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2); 100 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2);
97 101
98 cfButton = new QPushButton(Resource::loadIconSet("cardmon/pcmcia"),"",this,"CFButton"); 102 cfButton = new QPushButton(Resource::loadIconSet("cardmon/pcmcia"),"",this,"CFButton");
99 cfButton ->setFixedSize( QSize( 20, 20 ) ); 103 cfButton ->setFixedSize( QSize( 20, 20 ) );
100 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) ); 104 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) );
101 cfButton->setFlat(TRUE); 105 cfButton->setFlat(TRUE);
102 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3); 106 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3);
103 107
104 sdButton = new QPushButton(Resource::loadIconSet("sdmon/sdcard"),"",this,"SDButton"); 108 sdButton = new QPushButton(Resource::loadIconSet("sdmon/sdcard"),"",this,"SDButton");
105 sdButton->setFixedSize( QSize( 20, 20 ) ); 109 sdButton->setFixedSize( QSize( 20, 20 ) );
106 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) ); 110 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) );
107 sdButton->setFlat(TRUE); 111 sdButton->setFlat(TRUE);
108 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4); 112 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4);
109 113
110 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton"); 114 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton");
111 cdUpButton ->setFixedSize( QSize( 20, 20 ) ); 115 cdUpButton ->setFixedSize( QSize( 20, 20 ) );
112 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) ); 116 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
113 cdUpButton ->setFlat(TRUE); 117 cdUpButton ->setFlat(TRUE);
114 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5); 118 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5);
115 119
116 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton"); 120 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
117 docButton->setFixedSize( QSize( 20, 20 ) ); 121 docButton->setFixedSize( QSize( 20, 20 ) );
118 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 122 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
119 docButton->setFlat(TRUE); 123 docButton->setFlat(TRUE);
120 layout->addMultiCellWidget( docButton, 0, 0, 6, 6); 124 layout->addMultiCellWidget( docButton, 0, 0, 6, 6);
121 125
122 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton"); 126 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
123 homeButton->setFixedSize( QSize( 20, 20 ) ); 127 homeButton->setFixedSize( QSize( 20, 20 ) );
124 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 128 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
@@ -162,124 +166,139 @@ AdvancedFm::AdvancedFm( )
162 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7); 166 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
163 167
164 168
165 TabWidget = new QTabWidget( this, "TabWidget" ); 169 TabWidget = new QTabWidget( this, "TabWidget" );
166 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7); 170 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7);
167 171
168 tab = new QWidget( TabWidget, "tab" ); 172 tab = new QWidget( TabWidget, "tab" );
169 tabLayout = new QGridLayout( tab ); 173 tabLayout = new QGridLayout( tab );
170 tabLayout->setSpacing( 2); 174 tabLayout->setSpacing( 2);
171 tabLayout->setMargin( 2); 175 tabLayout->setMargin( 2);
172 176
173 Local_View = new QListView( tab, "Local_View" ); 177 Local_View = new QListView( tab, "Local_View" );
174// Local_View->setResizePolicy( QListView::AutoOneFit ); 178// Local_View->setResizePolicy( QListView::AutoOneFit );
175 Local_View->addColumn( tr("File"),130); 179 Local_View->addColumn( tr("File"),130);
176 Local_View->addColumn( tr("Size"),-1); 180 Local_View->addColumn( tr("Size"),-1);
177 Local_View->setColumnAlignment(1,QListView::AlignRight); 181 Local_View->setColumnAlignment(1,QListView::AlignRight);
178 Local_View->addColumn( tr("Date"),-1); 182 Local_View->addColumn( tr("Date"),-1);
179 Local_View->setColumnAlignment(2,QListView::AlignRight); 183 Local_View->setColumnAlignment(2,QListView::AlignRight);
180 Local_View->setAllColumnsShowFocus(TRUE); 184 Local_View->setAllColumnsShowFocus(TRUE);
181 Local_View->setMultiSelection( TRUE ); 185 Local_View->setMultiSelection( TRUE );
182 Local_View->setSelectionMode(QListView::Extended); 186 Local_View->setSelectionMode(QListView::Extended);
183 187
184 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); 188 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold);
185 189
186 190
187 191
188 tabLayout->addWidget( Local_View, 0, 0 ); 192 tabLayout->addWidget( Local_View, 0, 0 );
189 193
190 connect( Local_View, SIGNAL( clicked( QListViewItem*)), 194 connect( Local_View, SIGNAL( clicked( QListViewItem*)),
191 this,SLOT( localListClicked(QListViewItem *)) ); 195 this,SLOT( localListClicked(QListViewItem *)) );
192 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 196 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
193 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) ); 197 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) );
198
194 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); 199 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
195 200
196 TabWidget->insertTab( tab, tr("1")); 201 TabWidget->insertTab( tab, tr("1"));
197 202
198 tab_2 = new QWidget( TabWidget, "tab_2" ); 203 tab_2 = new QWidget( TabWidget, "tab_2" );
199 tabLayout_2 = new QGridLayout( tab_2 ); 204 tabLayout_2 = new QGridLayout( tab_2 );
200 tabLayout_2->setSpacing( 2); 205 tabLayout_2->setSpacing( 2);
201 tabLayout_2->setMargin( 2); 206 tabLayout_2->setMargin( 2);
202 207
203 Remote_View = new QListView( tab_2, "Remote_View" ); 208 Remote_View = new QListView( tab_2, "Remote_View" );
204 Remote_View->addColumn( tr("File"),130); 209 Remote_View->addColumn( tr("File"),130);
205 Remote_View->addColumn( tr("Size"),-1); 210 Remote_View->addColumn( tr("Size"),-1);
206 Remote_View->setColumnAlignment(1,QListView::AlignRight); 211 Remote_View->setColumnAlignment(1,QListView::AlignRight);
207 Remote_View->addColumn( tr("Date"),-1); 212 Remote_View->addColumn( tr("Date"),-1);
208 Remote_View->setColumnAlignment(2,QListView::AlignRight); 213 Remote_View->setColumnAlignment(2,QListView::AlignRight);
209 Remote_View->setAllColumnsShowFocus(TRUE); 214 Remote_View->setAllColumnsShowFocus(TRUE);
210 Remote_View->setMultiSelection( TRUE ); 215 Remote_View->setMultiSelection( TRUE );
211 Remote_View->setSelectionMode(QListView::Extended); 216 Remote_View->setSelectionMode(QListView::Extended);
212 217
213 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); 218 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
214 219
215 connect( Remote_View, SIGNAL( clicked( QListViewItem*)), 220 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
216 this,SLOT( remoteListClicked(QListViewItem *)) ); 221 this,SLOT( remoteListClicked(QListViewItem *)) );
217 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 222 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
218 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 223 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) );
219 connect( Remote_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); 224// connect( Remote_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
220 225
221 tabLayout_2->addWidget( Remote_View, 0, 0 ); 226 tabLayout_2->addWidget( Remote_View, 0, 0 );
222 227
223 TabWidget->insertTab( tab_2, tr( "2")); 228 TabWidget->insertTab( tab_2, tr( "2"));
224 229
225 connect(TabWidget,SIGNAL(currentChanged(QWidget *)), 230 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
226 this,SLOT(tabChanged(QWidget*))); 231 this,SLOT(tabChanged(QWidget*)));
227 232
228// tab_3 = new QWidget( TabWidget, "tab_3" ); 233 tab_3 = new QWidget( TabWidget, "tab_3" );
229// tabLayout_3 = new QGridLayout( tab_3 ); 234 tabLayout_3 = new QGridLayout( tab_3 );
230// tabLayout_3->setSpacing( 2); 235 tabLayout_3->setSpacing( 2);
231// tabLayout_3->setMargin( 2); 236 tabLayout_3->setMargin( 2);
237
238
239// OFileDialog fileDialog;
240// fileDialog;
241// fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy
242// fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow");
243// OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/");
232 244
233// OFileSelector *fileSelector; 245QListView *fileTree;
234// fileSelector = new OFileSelector(tab_3,0,0,"/","","*"); 246 fileTree = new QListView( tab_3, "tree" );
235// tabLayout_3->addMultiCellWidget( fileSelector, 0, 0, 0, 3 );
236 247
237// TabWidget->insertTab( tab_3, tr( "Files" ) ); 248
249 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 );
238 250
251 TabWidget->insertTab( tab_3, tr( "Remote" ) );
252///////////////
253
254////////////////////
255
256
239 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 257 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
240 currentDir.setPath( QDir::currentDirPath()); 258 currentDir.setPath( QDir::currentDirPath());
241 259
242 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 260 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
243 currentRemoteDir.setPath( QDir::currentDirPath()); 261 currentRemoteDir.setPath( QDir::currentDirPath());
244 262
245 b = TRUE; 263 b = TRUE;
246 264
247 filterStr="*"; 265 filterStr="*";
248 b=FALSE; 266 b=FALSE;
249 267
250 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) ); 268 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
251 269
252 populateLocalView(); 270 populateLocalView();
253 populateRemoteView(); 271 populateRemoteView();
272 currentPathCombo->setFocus();
254} 273}
255 274
256AdvancedFm::~AdvancedFm() 275AdvancedFm::~AdvancedFm()
257{ 276{
258} 277}
259 278
260void AdvancedFm::cleanUp() 279void AdvancedFm::cleanUp()
261{ 280{
262 QString sfile=QDir::homeDirPath(); 281 QString sfile=QDir::homeDirPath();
263 if(sfile.right(1) != "/") 282 if(sfile.right(1) != "/")
264 sfile+="/._temp"; 283 sfile+="/._temp";
265 else 284 else
266 sfile+="._temp"; 285 sfile+="._temp";
267 QFile file( sfile); 286 QFile file( sfile);
268 if(file.exists()) 287 if(file.exists())
269 file.remove(); 288 file.remove();
270} 289}
271 290
272void AdvancedFm::tabChanged(QWidget *w) 291void AdvancedFm::tabChanged(QWidget *w)
273{ 292{
274 if (TabWidget->currentPageIndex() == 0) { 293 if (TabWidget->currentPageIndex() == 0) {
275 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 294 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
276 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE); 295 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE);
277 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE); 296 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE);
278 } 297 }
279 if (TabWidget->currentPageIndex() == 1) { 298 if (TabWidget->currentPageIndex() == 1) {
280 currentPathCombo->lineEdit()->setText( currentRemoteDir.canonicalPath()); 299 currentPathCombo->lineEdit()->setText( currentRemoteDir.canonicalPath());
281 viewMenu->setItemChecked(viewMenu->idAt(1),TRUE); 300 viewMenu->setItemChecked(viewMenu->idAt(1),TRUE);
282 viewMenu->setItemChecked(viewMenu->idAt(0),FALSE); 301 viewMenu->setItemChecked(viewMenu->idAt(0),FALSE);
283 } 302 }
284} 303}
285 304
@@ -518,182 +537,185 @@ void AdvancedFm::populateRemoteView()
518} 537}
519 538
520void AdvancedFm::localListClicked(QListViewItem *selectedItem) 539void AdvancedFm::localListClicked(QListViewItem *selectedItem)
521{ 540{
522 if(selectedItem) { 541 if(selectedItem) {
523 QString strItem=selectedItem->text(0); 542 QString strItem=selectedItem->text(0);
524 QString strSize=selectedItem->text(1); 543 QString strSize=selectedItem->text(1);
525 strSize=strSize.stripWhiteSpace(); 544 strSize=strSize.stripWhiteSpace();
526 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 545 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
527 // is symlink 546 // is symlink
528 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); 547 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
529 if(QDir(strItem2).exists() ) { 548 if(QDir(strItem2).exists() ) {
530 currentDir.cd(strItem2, TRUE); 549 currentDir.cd(strItem2, TRUE);
531 populateLocalView(); 550 populateLocalView();
532 } 551 }
533 } else { // not a symlink 552 } else { // not a symlink
534 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 553 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
535 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { 554 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) {
536 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 555 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
537 currentDir.cd(strItem,FALSE); 556 currentDir.cd(strItem,FALSE);
538 populateLocalView(); 557 populateLocalView();
539 } else { 558 } else {
540 currentDir.cdUp(); 559 currentDir.cdUp();
541 populateLocalView(); 560 populateLocalView();
542 } 561 }
543 if(QDir(strItem).exists()){ 562 if(QDir(strItem).exists()){
544 currentDir.cd(strItem, TRUE); 563 currentDir.cd(strItem, TRUE);
545 populateLocalView(); 564 populateLocalView();
546 } 565 }
547 } else { 566 } else {
548 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 567 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
549 if( QFile::exists(strItem ) ) { 568 if( QFile::exists(strItem ) ) {
550 qDebug("clicked item "+strItem); 569// qDebug("clicked item "+strItem);
551 DocLnk doc( strItem, FALSE ); 570// DocLnk doc( strItem, FALSE );
552 doc.execute(); 571// doc.execute();
553 // Local_View->clearSelection(); 572 // Local_View->clearSelection();
554 } 573 }
555 } //end not symlink 574 } //end not symlink
556 chdir(strItem.latin1()); 575 chdir(strItem.latin1());
557 } 576 }
558 } 577 }
559} 578}
560 579
561void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) 580void AdvancedFm::remoteListClicked(QListViewItem *selectedItem)
562{ 581{
563 if(selectedItem) { 582 if(selectedItem) {
564 QString strItem=selectedItem->text(0); 583 QString strItem=selectedItem->text(0);
565 QString strSize=selectedItem->text(1); 584 QString strSize=selectedItem->text(1);
566 strSize=strSize.stripWhiteSpace(); 585 strSize=strSize.stripWhiteSpace();
567 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 586 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
568 // is symlink 587 // is symlink
569 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); 588 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
570 if(QDir(strItem2).exists() ) { 589 if(QDir(strItem2).exists() ) {
571 currentRemoteDir.cd(strItem2, TRUE); 590 currentRemoteDir.cd(strItem2, TRUE);
572 populateRemoteView(); 591 populateRemoteView();
573 } 592 }
574 } else { // not a symlink 593 } else { // not a symlink
575 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 594 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
576 if(QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem)).exists() ) { 595 if(QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem)).exists() ) {
577 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 596 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
578 currentRemoteDir.cd(strItem,FALSE); 597 currentRemoteDir.cd(strItem,FALSE);
579 populateRemoteView(); 598 populateRemoteView();
580 } else { 599 } else {
581 currentRemoteDir.cdUp(); 600 currentRemoteDir.cdUp();
582 populateRemoteView(); 601 populateRemoteView();
583 } 602 }
584 if(QDir(strItem).exists()){ 603 if(QDir(strItem).exists()){
585 currentRemoteDir.cd(strItem, TRUE); 604 currentRemoteDir.cd(strItem, TRUE);
586 populateRemoteView(); 605 populateRemoteView();
587 } 606 }
588 } else { 607 } else {
589 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 608 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
590 if( QFile::exists(strItem ) ) { 609 if( QFile::exists(strItem ) ) {
591 qDebug("clicked item "+strItem); 610// qDebug("clicked item "+strItem);
592 DocLnk doc( strItem, FALSE ); 611// DocLnk doc( strItem, FALSE );
593 doc.execute(); 612// doc.execute();
594 // Remote_View->clearSelection(); 613 // Remote_View->clearSelection();
595 } 614 }
596 } //end not symlink 615 } //end not symlink
597 chdir(strItem.latin1()); 616 chdir(strItem.latin1());
598 } 617 }
599 } 618 }
600} 619}
601 620
602void AdvancedFm::doLocalCd() 621void AdvancedFm::doLocalCd()
603{ 622{
604 localListClicked( Local_View->currentItem()); 623 localListClicked( Local_View->currentItem());
605} 624}
606 625
607void AdvancedFm::doRemoteCd() 626void AdvancedFm::doRemoteCd()
608{ 627{
609 localListClicked( Remote_View->currentItem()); 628 localListClicked( Remote_View->currentItem());
610} 629}
611 630
612void AdvancedFm::showHidden() 631void AdvancedFm::showHidden()
613{ 632{
614 if (b) { 633 if (b) {
615 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 634 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
616 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 635 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
617// localMenu->setItemChecked(localMenu->idAt(0),TRUE); 636// localMenu->setItemChecked(localMenu->idAt(0),TRUE);
618// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 637// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
619 b=FALSE; 638 b=FALSE;
620 639
621 } else { 640 } else {
622 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 641 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
623 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); 642 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
624// localMenu->setItemChecked(localMenu->idAt(0),FALSE); 643// localMenu->setItemChecked(localMenu->idAt(0),FALSE);
625// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 644// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
626 b=TRUE; 645 b=TRUE;
627 } 646 }
628 populateLocalView(); 647 populateLocalView();
629 648
630} 649}
631 650
632void AdvancedFm::showRemoteHidden() 651void AdvancedFm::showRemoteHidden()
633{ 652{
634 if (b) { 653 if (b) {
635 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 654 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
636// viewMenu->setItemChecked(localMenu->idAt(0),TRUE); 655// viewMenu->setItemChecked(localMenu->idAt(0),TRUE);
637// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 656// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
638 b=TRUE; 657 b=TRUE;
639 658
640 } else { 659 } else {
641 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 660 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
642// localMenu->setItemChecked(localMenu->idAt(0),FALSE); 661// localMenu->setItemChecked(localMenu->idAt(0),FALSE);
643// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 662// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
644 b=FALSE; 663 b=FALSE;
645 } 664 }
646 populateRemoteView(); 665 populateRemoteView();
647} 666}
648 667
649void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 668void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
650{ 669{
651 switch (mouse) { 670qDebug("list pressed");
671 switch (mouse) {
652 case 1: 672 case 1:
653 break; 673 break;
654 case 2: 674 case 2:
655 menuTimer.start( 500, TRUE ); 675 menuTimer.start( 750, TRUE );
676 qDebug("Start menu timer\n");
656 break; 677 break;
657 }; 678 };
658} 679}
659 680
660void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 681void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
661{ 682{
662 683
663 switch (mouse) { 684 switch (mouse) {
664 case 1: 685 case 1:
665 break; 686 break;
666 case 2: 687 case 2:
667 menuTimer.start( 500, TRUE ); 688 menuTimer.start( 750, TRUE );
689 qDebug("Start menu timer");
668 break; 690 break;
669 }; 691 };
670} 692}
671 693
672void AdvancedFm::runThis() { 694void AdvancedFm::runThis() {
673// QFileInfo *fi; 695// QFileInfo *fi;
674 QString fs; 696 QString fs;
675 if (TabWidget->currentPageIndex() == 0) { 697 if (TabWidget->currentPageIndex() == 0) {
676 QString curFile = Local_View->currentItem()->text(0); 698 QString curFile = Local_View->currentItem()->text(0);
677 if(curFile != "../") { 699 if(curFile != "../") {
678 700
679 fs= getFileSystemType((const QString &) currentDir.canonicalPath()); 701 fs= getFileSystemType((const QString &) currentDir.canonicalPath());
680 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); 702 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile);
681 qDebug( fileInfo.owner()); 703 qDebug( fileInfo.owner());
682 if( (fileInfo.permission( QFileInfo::ExeUser) 704 if( (fileInfo.permission( QFileInfo::ExeUser)
683 | fileInfo.permission( QFileInfo::ExeGroup) 705 | fileInfo.permission( QFileInfo::ExeGroup)
684 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { 706 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) {
685 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { 707 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
686// if( fileInfo.isExecutable() | 708// if( fileInfo.isExecutable() |
687 QCopEnvelope e("QPE/System", "execute(QString)" ); 709 QCopEnvelope e("QPE/System", "execute(QString)" );
688 e << curFile; 710 e << curFile;
689 } else { 711 } else {
690 curFile = currentDir.canonicalPath()+"/"+curFile; 712 curFile = currentDir.canonicalPath()+"/"+curFile;
691 DocLnk nf(curFile); 713 DocLnk nf(curFile);
692 QString execStr = nf.exec(); 714 QString execStr = nf.exec();
693 qDebug( execStr); 715 qDebug( execStr);
694 if( execStr.isEmpty() ) { 716 if( execStr.isEmpty() ) {
695 } else { 717 } else {
696 nf.execute(); 718 nf.execute();
697 } 719 }
698 } 720 }
699 } 721 }
@@ -1432,64 +1454,65 @@ void AdvancedFm::fileStatus() {
1432void AdvancedFm::mkDir() { 1454void AdvancedFm::mkDir() {
1433 if (TabWidget->currentPageIndex() == 0) 1455 if (TabWidget->currentPageIndex() == 0)
1434 localMakDir(); 1456 localMakDir();
1435 else 1457 else
1436 remoteMakDir(); 1458 remoteMakDir();
1437 1459
1438} 1460}
1439 1461
1440void AdvancedFm::rn() { 1462void AdvancedFm::rn() {
1441 if (TabWidget->currentPageIndex() == 0) 1463 if (TabWidget->currentPageIndex() == 0)
1442 localRename(); 1464 localRename();
1443 else 1465 else
1444 remoteRename(); 1466 remoteRename();
1445 1467
1446} 1468}
1447 1469
1448void AdvancedFm::del() { 1470void AdvancedFm::del() {
1449 if (TabWidget->currentPageIndex() == 0) 1471 if (TabWidget->currentPageIndex() == 0)
1450 localDelete(); 1472 localDelete();
1451 else 1473 else
1452 remoteDelete(); 1474 remoteDelete();
1453} 1475}
1454 1476
1455void AdvancedFm::doAbout() { 1477void AdvancedFm::doAbout() {
1456 QMessageBox::message("AdvancedFm","Advanced FileManager\n" 1478 QMessageBox::message("AdvancedFm","Advanced FileManager\n"
1457 "is copyright 2002 by\n" 1479 "is copyright 2002 by\n"
1458 "L.J.Potter<llornkcor@handhelds.org>\n" 1480 "L.J.Potter<llornkcor@handhelds.org>\n"
1459 "and is licensed by the GPL"); 1481 "and is licensed by the GPL");
1460} 1482}
1461 1483
1462void AdvancedFm::keyReleaseEvent( QKeyEvent *e) 1484void AdvancedFm::keyReleaseEvent( QKeyEvent *e)
1463{ 1485{
1486 if( TabWidget->hasFocus())
1464 switch ( e->key() ) { 1487 switch ( e->key() ) {
1465 case Key_Delete: 1488 case Key_Delete:
1466 del(); 1489 del();
1467 break; 1490 break;
1468 case Key_H: 1491 case Key_H:
1469 showHidden(); 1492 showHidden();
1470 break; 1493 break;
1471 case Key_E: 1494 case Key_E:
1472 runThis(); 1495 runThis();
1473 break; 1496 break;
1474 case Key_C: 1497 case Key_C:
1475 copy(); 1498 copy();
1476 break; 1499 break;
1477 case Key_A: 1500 case Key_A:
1478 copyAs(); 1501 copyAs();
1479 break; 1502 break;
1480 case Key_M: 1503 case Key_M:
1481 move(); 1504 move();
1482 break; 1505 break;
1483 case Key_R: 1506 case Key_R:
1484 rn(); 1507 rn();
1485 break; 1508 break;
1486 case Key_I: 1509 case Key_I:
1487 fileStatus(); 1510 fileStatus();
1488 break; 1511 break;
1489 case Key_U: 1512 case Key_U:
1490 upDir(); 1513 upDir();
1491 break; 1514 break;
1492 case Key_P: 1515 case Key_P:
1493 filePerms(); 1516 filePerms();
1494 break; 1517 break;
1495 case Key_N: 1518 case Key_N:
@@ -1639,115 +1662,121 @@ void AdvancedFm::doBeam() {
1639 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1662 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1640 1663
1641 QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it); 1664 QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
1642 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1); 1665 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
1643 Ir *file = new Ir(this, "IR"); 1666 Ir *file = new Ir(this, "IR");
1644 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * ))); 1667 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
1645 file->send( curFile, curFile ); 1668 file->send( curFile, curFile );
1646 1669
1647 } 1670 }
1648 } 1671 }
1649 } 1672 }
1650} 1673}
1651 1674
1652} 1675}
1653 1676
1654void AdvancedFm::fileBeamFinished( Ir *ir) { 1677void AdvancedFm::fileBeamFinished( Ir *ir) {
1655 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 1678 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
1656 1679
1657} 1680}
1658 1681
1659 1682
1660// QList<QListViewItem> * getSelectedItems( QListView * Local_View ); 1683// QList<QListViewItem> * getSelectedItems( QListView * Local_View );
1661// QListViewItemIterator it( Local_View ); 1684// QListViewItemIterator it( Local_View );
1662// for ( ; it.current(); ++it ) { 1685// for ( ; it.current(); ++it ) {
1663// if ( it.current()->isSelected() ) { 1686// if ( it.current()->isSelected() ) {
1664// QString strItem = it.current()->text(0); 1687// QString strItem = it.current()->text(0);
1665// QString localFile = currentDir.canonicalPath()+"/"+strItem; 1688// QString localFile = currentDir.canonicalPath()+"/"+strItem;
1666// QFileInfo fi(localFile); 1689// QFileInfo fi(localFile);
1667// } 1690// }
1668// } 1691// }
1669 1692
1670void AdvancedFm::showFileMenu() { 1693void AdvancedFm::showFileMenu() {
1694
1671 QString curApp; 1695 QString curApp;
1672 bool isLocalView = false; 1696 bool isLocalView = false;
1673 if (TabWidget->currentPageIndex() == 0) { 1697 if (TabWidget->currentPageIndex() == 0) {
1674 isLocalView = TRUE; 1698 isLocalView = TRUE;
1675 curApp = Local_View->currentItem()->text(0); 1699 curApp = Local_View->currentItem()->text(0);
1676 } else { 1700 } else {
1677 curApp = Remote_View->currentItem()->text(0); 1701 curApp = Remote_View->currentItem()->text(0);
1678 } 1702 }
1679 1703
1680 MimeType mt( curApp ); 1704 MimeType mt( curApp );
1681 const AppLnk* app = mt.application(); 1705 const AppLnk* app = mt.application();
1682 QFile fi(curApp); 1706 QFile fi(curApp);
1683 1707
1684 QPopupMenu m; 1708// QPopupMenu m;
1685 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 1709 QPopupMenu *m = new QPopupMenu(0);
1686 m.insertSeparator(); 1710
1711 m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
1712 m->insertSeparator();
1687 if ( QFileInfo(fi).isDir() ) { 1713 if ( QFileInfo(fi).isDir() ) {
1688 m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); 1714 m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
1689 } else { 1715 } else {
1690 1716
1691 if ( app ) 1717 if ( app )
1692 m.insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) ); 1718 m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) );
1693 else if( QFileInfo(fi).isExecutable() ) 1719 else if( QFileInfo(fi).isExecutable() )
1694 m.insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); 1720 m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) );
1695 1721
1696 m.insertItem( /*Resource::loadPixmap( "txt" ),*/ tr( "Open as text" ),this, SLOT( runText() ) ); 1722 m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) );
1697 } 1723 }
1698 m.insertSeparator(); 1724 m->insertSeparator();
1699 1725
1700 1726
1701 if(isLocalView) 1727 if(isLocalView)
1702 m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 1728 m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
1703 else 1729 else
1704 m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 1730 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
1705 1731
1706 m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 1732 m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
1707 m.insertSeparator(); 1733 m->insertSeparator();
1708 1734
1709 if(isLocalView) 1735 if(isLocalView)
1710 m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); 1736 m->insertItem( tr( "Rename" ), this, SLOT( localRename() ));
1711 else 1737 else
1712 m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 1738 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
1713 1739
1714 m.insertItem( tr( "Copy" ), this, SLOT( copy() )); 1740 m->insertItem( tr( "Copy" ), this, SLOT( copy() ));
1715 m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 1741 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
1716 m.insertItem( tr( "Move" ), this, SLOT( move() )); 1742 m->insertItem( tr( "Move" ), this, SLOT( move() ));
1717 m.insertSeparator(); 1743 m->insertSeparator();
1718 1744
1719 if(isLocalView) 1745 if(isLocalView)
1720 m.insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() )); 1746 m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() ));
1721 else 1747 else
1722 m.insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() )); 1748 m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
1723 1749
1724 m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 1750 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
1725 m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 1751 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
1726 m.insertSeparator(); 1752 m->insertSeparator();
1727 1753
1728 if(isLocalView) 1754 if(isLocalView)
1729 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 1755 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
1730 else 1756 else
1731 m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 1757 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
1732 1758
1733 m.insertSeparator(); 1759 m->insertSeparator();
1734 m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 1760 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
1735 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings 1761 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
1736 m.insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 1762 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
1737 m.setCheckable(TRUE); 1763 m->setCheckable(TRUE);
1738 if (!b) 1764 if (!b)
1739 m.setItemChecked(m.idAt(0),TRUE); 1765 m->setItemChecked(m->idAt(0),TRUE);
1740 else 1766 else
1741 m.setItemChecked(m.idAt(0),FALSE); 1767 m->setItemChecked(m->idAt(0),FALSE);
1742 if(Ir::supported()) 1768 if(Ir::supported())
1743 m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); 1769 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
1744 m.exec( QCursor::pos() ); 1770 m->setFocus();
1771 m->exec( QCursor::pos() );
1772 if(m) delete m;
1745} 1773}
1746 1774
1747 1775
1748void AdvancedFm::cancelMenuTimer() 1776void AdvancedFm::cancelMenuTimer()
1749{ 1777{
1750qDebug("cancel menu timer"); 1778
1779 qDebug("selectionChanged: cancel menu timer");
1751 if( menuTimer.isActive() ) 1780 if( menuTimer.isActive() )
1752 menuTimer.stop(); 1781 menuTimer.stop();
1753} 1782}
diff --git a/noncore/apps/advancedfm/advancedfm.pro b/noncore/apps/advancedfm/advancedfm.pro
index 25fb782..299f870 100644
--- a/noncore/apps/advancedfm/advancedfm.pro
+++ b/noncore/apps/advancedfm/advancedfm.pro
@@ -1,11 +1,11 @@
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 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 -lopie
11 11