summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp57
-rw-r--r--noncore/apps/advancedfm/advancedfm.h1
2 files changed, 45 insertions, 13 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index 0f2555d..c054465 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -77,128 +77,129 @@
77AdvancedFm::AdvancedFm( ) 77AdvancedFm::AdvancedFm( )
78 : QMainWindow( ) 78 : QMainWindow( )
79{ 79{
80 setCaption( tr( "AdvancedFm" ) ); 80 setCaption( tr( "AdvancedFm" ) );
81 81
82 QGridLayout *layout = new QGridLayout( this ); 82 QGridLayout *layout = new QGridLayout( this );
83 layout->setSpacing( 2); 83 layout->setSpacing( 2);
84 layout->setMargin( 2); 84 layout->setMargin( 2);
85 85
86 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 86 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
87 87
88 QPEMenuBar *menuBar = new QPEMenuBar(this); 88 QPEMenuBar *menuBar = new QPEMenuBar(this);
89 fileMenu = new QPopupMenu( this ); 89 fileMenu = new QPopupMenu( this );
90 viewMenu = new QPopupMenu( this ); 90 viewMenu = new QPopupMenu( this );
91 91
92 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 ); 92 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 );
93 93
94 menuBar->insertItem( tr( "File" ), fileMenu); 94 menuBar->insertItem( tr( "File" ), fileMenu);
95 menuBar->insertItem( tr( "View" ), viewMenu); 95 menuBar->insertItem( tr( "View" ), viewMenu);
96 96
97 qpeDirButton= new QToolButton(this,"QPEButton"); 97 qpeDirButton= new QToolButton(this,"QPEButton");
98 qpeDirButton->setPixmap( Resource::loadPixmap("launcher/opielogo16x16"));//,"",this,"QPEButton"); 98 qpeDirButton->setPixmap( Resource::loadPixmap("launcher/opielogo16x16"));//,"",this,"QPEButton");
99 qpeDirButton ->setFixedSize( QSize( 20, 20 ) ); 99 qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
100 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) ); 100 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
101 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2); 101 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2);
102 102
103 cfButton = new QToolButton( this,"CFButton"); 103 cfButton = new QToolButton( this,"CFButton");
104 cfButton->setPixmap(Resource::loadPixmap("cardmon/pcmcia")); 104 cfButton->setPixmap(Resource::loadPixmap("cardmon/pcmcia"));
105 cfButton ->setFixedSize( QSize( 20, 20 ) ); 105 cfButton ->setFixedSize( QSize( 20, 20 ) );
106 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) ); 106 connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) );
107 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3); 107 layout->addMultiCellWidget( cfButton , 0, 0, 3, 3);
108 108
109 sdButton = new QToolButton( this,"SDButton"); 109 sdButton = new QToolButton( this,"SDButton");
110 sdButton->setPixmap(Resource::loadPixmap("sdmon/sdcard")); 110 sdButton->setPixmap(Resource::loadPixmap("sdmon/sdcard"));
111 sdButton->setFixedSize( QSize( 20, 20 ) ); 111 sdButton->setFixedSize( QSize( 20, 20 ) );
112 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) ); 112 connect( sdButton ,SIGNAL(released()),this,SLOT( SDButtonPushed()) );
113 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4); 113 layout->addMultiCellWidget( sdButton , 0, 0, 4, 4);
114 114
115 cdUpButton = new QToolButton( this,"cdUpButton"); 115 cdUpButton = new QToolButton( this,"cdUpButton");
116 cdUpButton->setPixmap(Resource::loadPixmap("up")); 116 cdUpButton->setPixmap(Resource::loadPixmap("up"));
117 cdUpButton ->setFixedSize( QSize( 20, 20 ) ); 117 cdUpButton ->setFixedSize( QSize( 20, 20 ) );
118 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) ); 118 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
119 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5); 119 layout->addMultiCellWidget( cdUpButton , 0, 0, 5, 5);
120 120
121 docButton = new QToolButton( this,"docsButton"); 121 docButton = new QToolButton( this,"docsButton");
122 docButton->setPixmap(Resource::loadPixmap("DocsIcon")); 122 docButton->setPixmap(Resource::loadPixmap("DocsIcon"));
123 docButton->setFixedSize( QSize( 20, 20 ) ); 123 docButton->setFixedSize( QSize( 20, 20 ) );
124 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 124 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
125 layout->addMultiCellWidget( docButton, 0, 0, 6, 6); 125 layout->addMultiCellWidget( docButton, 0, 0, 6, 6);
126 126
127 homeButton = new QToolButton( this,"homeButton"); 127 homeButton = new QToolButton( this,"homeButton");
128 homeButton->setPixmap(Resource::loadPixmap("home")); 128 homeButton->setPixmap(Resource::loadPixmap("home"));
129 homeButton->setFixedSize( QSize( 20, 20 ) ); 129 homeButton->setFixedSize( QSize( 20, 20 ) );
130 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 130 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
131 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7); 131 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7);
132 132
133 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 133 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
134 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 134 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
135 fileMenu->insertSeparator(); 135 fileMenu->insertSeparator();
136 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() )); 136 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() ));
137 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() )); 137 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() ));
138 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() )); 138 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() ));
139 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() )); 139 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() ));
140 fileMenu->insertSeparator(); 140 fileMenu->insertSeparator();
141 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
141 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() )); 142 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() ));
142 fileMenu->setCheckable(TRUE); 143 fileMenu->setCheckable(TRUE);
143 144
144 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); 145 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
145 viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() )); 146 viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
146 viewMenu->insertSeparator(); 147 viewMenu->insertSeparator();
147 viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() )); 148 viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() ));
148 viewMenu->setCheckable(TRUE); 149 viewMenu->setCheckable(TRUE);
149 150
150 151
151 currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" ); 152 currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
152 currentPathCombo->setEditable(TRUE); 153 currentPathCombo->setEditable(TRUE);
153 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7); 154 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
154 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 155 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
155 156
156 connect( currentPathCombo, SIGNAL( activated( const QString & ) ), 157 connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
157 this, SLOT( currentPathComboActivated( const QString & ) ) ); 158 this, SLOT( currentPathComboActivated( const QString & ) ) );
158 159
159 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()), 160 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
160 this,SLOT(currentPathComboChanged())); 161 this,SLOT(currentPathComboChanged()));
161 162
162 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 163 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
163 164
164 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7); 165 layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
165 166
166 167
167 TabWidget = new QTabWidget( this, "TabWidget" ); 168 TabWidget = new QTabWidget( this, "TabWidget" );
168 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7); 169 layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7);
169 170
170 tab = new QWidget( TabWidget, "tab" ); 171 tab = new QWidget( TabWidget, "tab" );
171 tabLayout = new QGridLayout( tab ); 172 tabLayout = new QGridLayout( tab );
172 tabLayout->setSpacing( 2); 173 tabLayout->setSpacing( 2);
173 tabLayout->setMargin( 2); 174 tabLayout->setMargin( 2);
174 175
175 Local_View = new QListView( tab, "Local_View" ); 176 Local_View = new QListView( tab, "Local_View" );
176 Local_View->addColumn( tr("File"),130); 177 Local_View->addColumn( tr("File"),130);
177 Local_View->addColumn( tr("Size"),-1); 178 Local_View->addColumn( tr("Size"),-1);
178 Local_View->setColumnAlignment(1,QListView::AlignRight); 179 Local_View->setColumnAlignment(1,QListView::AlignRight);
179 Local_View->addColumn( tr("Date"),-1); 180 Local_View->addColumn( tr("Date"),-1);
180 Local_View->setColumnAlignment(2,QListView::AlignRight); 181 Local_View->setColumnAlignment(2,QListView::AlignRight);
181 Local_View->setAllColumnsShowFocus(TRUE); 182 Local_View->setAllColumnsShowFocus(TRUE);
182 Local_View->setMultiSelection( TRUE ); 183 Local_View->setMultiSelection( TRUE );
183 Local_View->setSelectionMode(QListView::Extended); 184 Local_View->setSelectionMode(QListView::Extended);
184 185
185 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); 186 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold);
186 187
187 tabLayout->addWidget( Local_View, 0, 0 ); 188 tabLayout->addWidget( Local_View, 0, 0 );
188 189
189 connect( Local_View, SIGNAL( clicked( QListViewItem*)), 190 connect( Local_View, SIGNAL( clicked( QListViewItem*)),
190 this,SLOT( localListClicked(QListViewItem *)) ); 191 this,SLOT( localListClicked(QListViewItem *)) );
191 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 192 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
192 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) ); 193 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) );
193 194
194 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); 195 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
195 196
196 TabWidget->insertTab( tab, tr("1")); 197 TabWidget->insertTab( tab, tr("1"));
197 198
198 tab_2 = new QWidget( TabWidget, "tab_2" ); 199 tab_2 = new QWidget( TabWidget, "tab_2" );
199 tabLayout_2 = new QGridLayout( tab_2 ); 200 tabLayout_2 = new QGridLayout( tab_2 );
200 tabLayout_2->setSpacing( 2); 201 tabLayout_2->setSpacing( 2);
201 tabLayout_2->setMargin( 2); 202 tabLayout_2->setMargin( 2);
202 203
203 Remote_View = new QListView( tab_2, "Remote_View" ); 204 Remote_View = new QListView( tab_2, "Remote_View" );
204 Remote_View->addColumn( tr("File"),130); 205 Remote_View->addColumn( tr("File"),130);
@@ -233,271 +234,271 @@ AdvancedFm::AdvancedFm( )
233 234
234 235
235 // OFileDialog fileDialog; 236 // OFileDialog fileDialog;
236 // fileDialog; 237 // fileDialog;
237 // fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy 238 // fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy
238 // fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow"); 239 // fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow");
239 // OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/"); 240 // OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/");
240 241
241 QListView *fileTree; 242 QListView *fileTree;
242 fileTree = new QListView( tab_3, "tree" ); 243 fileTree = new QListView( tab_3, "tree" );
243 244
244 245
245 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 ); 246 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 );
246 247
247 TabWidget->insertTab( tab_3, tr( "Remote" ) ); 248 TabWidget->insertTab( tab_3, tr( "Remote" ) );
248 */ 249 */
249 250
250 /////////////// 251 ///////////////
251 252
252 struct utsname name; /* check for embedix kernel running on the zaurus*/ 253 struct utsname name; /* check for embedix kernel running on the zaurus*/
253 if (uname(&name) != -1) { 254 if (uname(&name) != -1) {
254 QString release=name.release; 255 QString release=name.release;
255 if(release.find("embedix",0,TRUE) !=-1) { 256 if(release.find("embedix",0,TRUE) !=-1) {
256 zaurusDevice=TRUE; 257 zaurusDevice=TRUE;
257 } else { 258 } else {
258 zaurusDevice=FALSE; 259 zaurusDevice=FALSE;
259 sdButton->hide(); 260 sdButton->hide();
260 } 261 }
261 } 262 }
262 263
263 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 264 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
264 currentDir.setPath( QDir::currentDirPath()); 265 currentDir.setPath( QDir::currentDirPath());
265 266
266 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 267 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
267 currentRemoteDir.setPath( QDir::currentDirPath()); 268 currentRemoteDir.setPath( QDir::currentDirPath());
268 269
269 b = TRUE; 270 b = TRUE;
270 271
271 filterStr="*"; 272 filterStr="*";
272 b=FALSE; 273 b=FALSE;
273 274
274 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) ); 275 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
275 276
276 populateLocalView(); 277 populateLocalView();
277 populateRemoteView(); 278 populateRemoteView();
278 currentPathCombo->setFocus(); 279 currentPathCombo->setFocus();
279} 280}
280 281
281AdvancedFm::~AdvancedFm() 282AdvancedFm::~AdvancedFm()
282{ 283{
283} 284}
284 285
285void AdvancedFm::cleanUp() 286void AdvancedFm::cleanUp()
286{ 287{
287 QString sfile=QDir::homeDirPath(); 288 QString sfile=QDir::homeDirPath();
288 if(sfile.right(1) != "/") 289 if(sfile.right(1) != "/")
289 sfile+="/._temp"; 290 sfile+="/._temp";
290 else 291 else
291 sfile+="._temp"; 292 sfile+="._temp";
292 QFile file( sfile); 293 QFile file( sfile);
293 if(file.exists()) 294 if(file.exists())
294 file.remove(); 295 file.remove();
295} 296}
296 297
297void AdvancedFm::tabChanged(QWidget *w) 298void AdvancedFm::tabChanged(QWidget *)
298{ 299{
299 if (TabWidget->currentPageIndex() == 0) { 300 if (TabWidget->currentPageIndex() == 0) {
300 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 301 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
301 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE); 302 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE);
302 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE); 303 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE);
303 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath()); 304 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
304 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" ); 305 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" );
305 306
306 } 307 }
307 if (TabWidget->currentPageIndex() == 1) { 308 if (TabWidget->currentPageIndex() == 1) {
308 currentPathCombo->lineEdit()->setText( currentRemoteDir.canonicalPath()); 309 currentPathCombo->lineEdit()->setText( currentRemoteDir.canonicalPath());
309 viewMenu->setItemChecked(viewMenu->idAt(1),TRUE); 310 viewMenu->setItemChecked(viewMenu->idAt(1),TRUE);
310 viewMenu->setItemChecked(viewMenu->idAt(0),FALSE); 311 viewMenu->setItemChecked(viewMenu->idAt(0),FALSE);
311 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); 312 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
312 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" ); 313 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" );
313 } 314 }
314} 315}
315 316
316 317
317void AdvancedFm::populateLocalView() 318void AdvancedFm::populateLocalView()
318{ 319{
319 QPixmap pm; 320 QPixmap pm;
320 Local_View->clear(); 321 Local_View->clear();
321 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 322 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
322 currentDir.setMatchAllDirs(TRUE); 323 currentDir.setMatchAllDirs(TRUE);
323 currentDir.setNameFilter(filterStr); 324 currentDir.setNameFilter(filterStr);
324 QString fileL, fileS, fileDate; 325 QString fileL, fileS, fileDate;
325 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath()); 326 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
326 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" ); 327 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" );
327 bool isDir=FALSE; 328 bool isDir=FALSE;
328 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 329 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
329 QFileInfoListIterator it(*list); 330 QFileInfoListIterator it(*list);
330 QFileInfo *fi; 331 QFileInfo *fi;
331 while ( (fi=it.current()) ) { 332 while ( (fi=it.current()) ) {
332 if (fi->isSymLink() ) { 333 if (fi->isSymLink() ) {
333 QString symLink=fi->readLink(); 334 QString symLink=fi->readLink();
334 QFileInfo sym( symLink); 335 QFileInfo sym( symLink);
335 fileS.sprintf( "%10li", sym.size() ); 336 fileS.sprintf( "%10i", sym.size() );
336 fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() ); 337 fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() );
337 fileDate = sym.lastModified().toString(); 338 fileDate = sym.lastModified().toString();
338 } else { 339 } else {
339 fileS.sprintf( "%10li", fi->size() ); 340 fileS.sprintf( "%10i", fi->size() );
340 fileL.sprintf( "%s",fi->fileName().data() ); 341 fileL.sprintf( "%s",fi->fileName().data() );
341 fileDate= fi->lastModified().toString(); 342 fileDate= fi->lastModified().toString();
342 if( QDir(QDir::cleanDirPath( currentDir.canonicalPath()+"/"+fileL)).exists() ) { 343 if( QDir(QDir::cleanDirPath( currentDir.canonicalPath()+"/"+fileL)).exists() ) {
343 fileL+="/"; 344 fileL+="/";
344 isDir=TRUE; 345 isDir=TRUE;
345 } 346 }
346 } 347 }
347 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+fileL); 348 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+fileL);
348 if(fileL !="./" && fi->exists()) { 349 if(fileL !="./" && fi->exists()) {
349 item= new QListViewItem( Local_View, fileL, fileS , fileDate); 350 item= new QListViewItem( Local_View, fileL, fileS , fileDate);
350 351
351 if(isDir || fileL.find("/",0,TRUE) != -1) { 352 if(isDir || fileL.find("/",0,TRUE) != -1) {
352 353
353 if( !QDir( fi->filePath() ).isReadable()) //is directory 354 if( !QDir( fi->filePath() ).isReadable()) //is directory
354 pm = Resource::loadPixmap( "lockedfolder" ); 355 pm = Resource::loadPixmap( "lockedfolder" );
355 else 356 else
356 pm= Resource::loadPixmap( "folder" ); 357 pm= Resource::loadPixmap( "folder" );
357 } else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) { 358 } else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
358 pm = Resource::loadPixmap( "exec"); 359 pm = Resource::loadPixmap( "exec");
359 } else if( (fileInfo.permission( QFileInfo::ExeUser) 360 } else if( (fileInfo.permission( QFileInfo::ExeUser)
360 | fileInfo.permission( QFileInfo::ExeGroup) 361 | fileInfo.permission( QFileInfo::ExeGroup)
361 | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) { 362 | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) {
362 pm = Resource::loadPixmap( "exec"); 363 pm = Resource::loadPixmap( "exec");
363 } else if( !fi->isReadable() ) { 364 } else if( !fi->isReadable() ) {
364 pm = Resource::loadPixmap( "locked" ); 365 pm = Resource::loadPixmap( "locked" );
365 } else { //everything else goes by mimetype 366 } else { //everything else goes by mimetype
366 MimeType mt(fi->filePath()); 367 MimeType mt(fi->filePath());
367 pm=mt.pixmap(); //sets the correct pixmap for mimetype 368 pm=mt.pixmap(); //sets the correct pixmap for mimetype
368 if(pm.isNull()) 369 if(pm.isNull())
369 pm = Resource::loadPixmap( "UnknownDocument-14" ); 370 pm = Resource::loadPixmap( "UnknownDocument-14" );
370 } 371 }
371 item->setPixmap( 0,pm); 372 item->setPixmap( 0,pm);
372 if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) { 373 if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) {
373 // overlay link image 374 // overlay link image
374 pm= Resource::loadPixmap( "folder" ); 375 pm= Resource::loadPixmap( "folder" );
375 QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); 376 QPixmap lnk = Resource::loadPixmap( "opie/symlink" );
376 QPainter painter( &pm ); 377 QPainter painter( &pm );
377 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); 378 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
378 pm.setMask( pm.createHeuristicMask( FALSE ) ); 379 pm.setMask( pm.createHeuristicMask( FALSE ) );
379 item->setPixmap( 0, pm); 380 item->setPixmap( 0, pm);
380 } 381 }
381 } 382 }
382 isDir=FALSE; 383 isDir=FALSE;
383 ++it; 384 ++it;
384 } 385 }
385 386
386 if(currentDir.canonicalPath().find("dev",0,TRUE) != -1) { 387 if(currentDir.canonicalPath().find("dev",0,TRUE) != -1) {
387 struct stat buf; 388 struct stat buf;
388 dev_t devT; 389 dev_t devT;
389 DIR *dir; 390 DIR *dir;
390 struct dirent *mydirent; 391 struct dirent *mydirent;
391 if((dir = opendir( currentDir.canonicalPath().latin1())) != NULL) 392 if((dir = opendir( currentDir.canonicalPath().latin1())) != NULL)
392 while ((mydirent = readdir(dir)) != NULL) { 393 while ((mydirent = readdir(dir)) != NULL) {
393 lstat( mydirent->d_name, &buf); 394 lstat( mydirent->d_name, &buf);
394 qDebug(mydirent->d_name); 395 qDebug(mydirent->d_name);
395 fileL.sprintf("%s", mydirent->d_name); 396 fileL.sprintf("%s", mydirent->d_name);
396 devT = buf.st_dev; 397 devT = buf.st_dev;
397 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF); 398 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF);
398 fileDate.sprintf("%s", ctime( &buf.st_mtime)); 399 fileDate.sprintf("%s", ctime( &buf.st_mtime));
399 if( fileL.find(".") == -1 ){ 400 if( fileL.find(".") == -1 ){
400 item= new QListViewItem( Local_View, fileL, fileS, fileDate); 401 item= new QListViewItem( Local_View, fileL, fileS, fileDate);
401 pm = Resource::loadPixmap( "UnknownDocument-14" ); 402 pm = Resource::loadPixmap( "UnknownDocument-14" );
402 item->setPixmap( 0,pm); 403 item->setPixmap( 0,pm);
403 } 404 }
404 } 405 }
405 406
406 closedir(dir); 407 closedir(dir);
407 } 408 }
408 409
409 Local_View->setSorting( 3,FALSE); 410 Local_View->setSorting( 3,FALSE);
410 fillCombo( (const QString &) currentDir.canonicalPath()); 411 fillCombo( (const QString &) currentDir.canonicalPath());
411} 412}
412 413
413 414
414void AdvancedFm::populateRemoteView() 415void AdvancedFm::populateRemoteView()
415{ 416{
416 QPixmap pm; 417 QPixmap pm;
417 Remote_View->clear(); 418 Remote_View->clear();
418 currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 419 currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
419 currentRemoteDir.setMatchAllDirs(TRUE); 420 currentRemoteDir.setMatchAllDirs(TRUE);
420 currentRemoteDir.setNameFilter(filterStr); 421 currentRemoteDir.setNameFilter(filterStr);
421 QString fileL, fileS, fileDate; 422 QString fileL, fileS, fileDate;
422 423
423 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); 424 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
424 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" ); 425 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" );
425 bool isDir=FALSE; 426 bool isDir=FALSE;
426 const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 427 const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
427 QFileInfoListIterator it(*list); 428 QFileInfoListIterator it(*list);
428 QFileInfo *fi; 429 QFileInfo *fi;
429 while ( (fi=it.current()) ) { 430 while ( (fi=it.current()) ) {
430 if (fi->isSymLink() ){ 431 if (fi->isSymLink() ){
431 QString symLink=fi->readLink(); 432 QString symLink=fi->readLink();
432 // qDebug("Symlink detected "+symLink); 433 // qDebug("Symlink detected "+symLink);
433 QFileInfo sym( symLink); 434 QFileInfo sym( symLink);
434 fileS.sprintf( "%10li", sym.size() ); 435 fileS.sprintf( "%10i", sym.size() );
435 fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() ); 436 fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() );
436 fileDate = sym.lastModified().toString(); 437 fileDate = sym.lastModified().toString();
437 } else { 438 } else {
438 // qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 439 // qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
439 fileS.sprintf( "%10li", fi->size() ); 440 fileS.sprintf( "%10i", fi->size() );
440 fileL.sprintf( "%s",fi->fileName().data() ); 441 fileL.sprintf( "%s",fi->fileName().data() );
441 fileDate= fi->lastModified().toString(); 442 fileDate= fi->lastModified().toString();
442 if( QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+fileL)).exists() ) { 443 if( QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+fileL)).exists() ) {
443 fileL+="/"; 444 fileL+="/";
444 isDir=TRUE; 445 isDir=TRUE;
445 // qDebug( fileL); 446 // qDebug( fileL);
446 } 447 }
447 } 448 }
448 QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+fileL); 449 QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+fileL);
449 if(fileL !="./" && fi->exists()) { 450 if(fileL !="./" && fi->exists()) {
450 item= new QListViewItem( Remote_View, fileL, fileS, fileDate); 451 item= new QListViewItem( Remote_View, fileL, fileS, fileDate);
451 QPixmap pm; 452 QPixmap pm;
452 453
453 if(isDir || fileL.find("/",0,TRUE) != -1) { 454 if(isDir || fileL.find("/",0,TRUE) != -1) {
454 if( !QDir( fi->filePath() ).isReadable()) 455 if( !QDir( fi->filePath() ).isReadable())
455 pm = Resource::loadPixmap( "lockedfolder" ); 456 pm = Resource::loadPixmap( "lockedfolder" );
456 else 457 else
457 pm= Resource::loadPixmap( "folder" ); 458 pm= Resource::loadPixmap( "folder" );
458 } else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) { 459 } else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
459 pm = Resource::loadPixmap( "exec"); 460 pm = Resource::loadPixmap( "exec");
460 } else if( (fileInfo.permission( QFileInfo::ExeUser) 461 } else if( (fileInfo.permission( QFileInfo::ExeUser)
461 | fileInfo.permission( QFileInfo::ExeGroup) 462 | fileInfo.permission( QFileInfo::ExeGroup)
462 | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) { 463 | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) {
463 pm = Resource::loadPixmap( "exec"); 464 pm = Resource::loadPixmap( "exec");
464 } else if( !fi->isReadable() ) { 465 } else if( !fi->isReadable() ) {
465 pm = Resource::loadPixmap( "locked" ); 466 pm = Resource::loadPixmap( "locked" );
466 } else { 467 } else {
467 MimeType mt(fi->filePath()); 468 MimeType mt(fi->filePath());
468 pm=mt.pixmap(); //sets the correct pixmap for mimetype 469 pm=mt.pixmap(); //sets the correct pixmap for mimetype
469 if(pm.isNull()) 470 if(pm.isNull())
470 pm = Resource::loadPixmap( "UnknownDocument-14" ); 471 pm = Resource::loadPixmap( "UnknownDocument-14" );
471 } 472 }
472 if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) { 473 if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) {
473 // overlay link image 474 // overlay link image
474 pm= Resource::loadPixmap( "folder" ); 475 pm= Resource::loadPixmap( "folder" );
475 QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); 476 QPixmap lnk = Resource::loadPixmap( "opie/symlink" );
476 QPainter painter( &pm ); 477 QPainter painter( &pm );
477 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); 478 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
478 pm.setMask( pm.createHeuristicMask( FALSE ) ); 479 pm.setMask( pm.createHeuristicMask( FALSE ) );
479 } 480 }
480 item->setPixmap( 0, pm); 481 item->setPixmap( 0, pm);
481 } 482 }
482 isDir=FALSE; 483 isDir=FALSE;
483 ++it; 484 ++it;
484 } 485 }
485 486
486 if(currentRemoteDir.canonicalPath().find("dev",0,TRUE) != -1) { 487 if(currentRemoteDir.canonicalPath().find("dev",0,TRUE) != -1) {
487 struct stat buf; 488 struct stat buf;
488 DIR *dir; 489 DIR *dir;
489 struct dirent *mydirent; 490 struct dirent *mydirent;
490 if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL) 491 if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL)
491 while ((mydirent = readdir(dir)) != NULL) { 492 while ((mydirent = readdir(dir)) != NULL) {
492 lstat( mydirent->d_name, &buf); 493 lstat( mydirent->d_name, &buf);
493 qDebug(mydirent->d_name); 494 qDebug(mydirent->d_name);
494 fileL.sprintf("%s", mydirent->d_name); 495 fileL.sprintf("%s", mydirent->d_name);
495 fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF); 496 fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF);
496 fileDate.sprintf("%s", ctime( &buf.st_mtime)); 497 fileDate.sprintf("%s", ctime( &buf.st_mtime));
497 if( fileL.find(".") == -1 ){ 498 if( fileL.find(".") == -1 ){
498 item= new QListViewItem( Remote_View, fileL, fileS, fileDate); 499 item= new QListViewItem( Remote_View, fileL, fileS, fileDate);
499 pm = Resource::loadPixmap( "UnknownDocument-14" ); 500 pm = Resource::loadPixmap( "UnknownDocument-14" );
500 item->setPixmap( 0,pm); 501 item->setPixmap( 0,pm);
501 } 502 }
502 } 503 }
503 504
@@ -568,142 +569,142 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem)
568 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 569 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
569 currentRemoteDir.cd(strItem,FALSE); 570 currentRemoteDir.cd(strItem,FALSE);
570 populateRemoteView(); 571 populateRemoteView();
571 } else { 572 } else {
572 currentRemoteDir.cdUp(); 573 currentRemoteDir.cdUp();
573 populateRemoteView(); 574 populateRemoteView();
574 } 575 }
575 if(QDir(strItem).exists()){ 576 if(QDir(strItem).exists()){
576 currentRemoteDir.cd(strItem, TRUE); 577 currentRemoteDir.cd(strItem, TRUE);
577 populateRemoteView(); 578 populateRemoteView();
578 } 579 }
579 } else { 580 } else {
580 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 581 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
581 if( QFile::exists(strItem ) ) { 582 if( QFile::exists(strItem ) ) {
582 // qDebug("clicked item "+strItem); 583 // qDebug("clicked item "+strItem);
583 // DocLnk doc( strItem, FALSE ); 584 // DocLnk doc( strItem, FALSE );
584 // doc.execute(); 585 // doc.execute();
585 // Remote_View->clearSelection(); 586 // Remote_View->clearSelection();
586 } 587 }
587 } //end not symlink 588 } //end not symlink
588 chdir(strItem.latin1()); 589 chdir(strItem.latin1());
589 } 590 }
590 } 591 }
591} 592}
592 593
593void AdvancedFm::doLocalCd() 594void AdvancedFm::doLocalCd()
594{ 595{
595 localListClicked( Local_View->currentItem()); 596 localListClicked( Local_View->currentItem());
596} 597}
597 598
598void AdvancedFm::doRemoteCd() 599void AdvancedFm::doRemoteCd()
599{ 600{
600 localListClicked( Remote_View->currentItem()); 601 localListClicked( Remote_View->currentItem());
601} 602}
602 603
603void AdvancedFm::showHidden() 604void AdvancedFm::showHidden()
604{ 605{
605 if (b) { 606 if (b) {
606 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 607 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
607 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 608 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
608 b=FALSE; 609 b=FALSE;
609 610
610 } else { 611 } else {
611 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 612 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
612 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); 613 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
613 b=TRUE; 614 b=TRUE;
614 } 615 }
615 populateLocalView(); 616 populateLocalView();
616 617
617} 618}
618 619
619void AdvancedFm::showRemoteHidden() 620void AdvancedFm::showRemoteHidden()
620{ 621{
621 if (b) { 622 if (b) {
622 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 623 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
623 b=TRUE; 624 b=TRUE;
624 625
625 } else { 626 } else {
626 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 627 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
627 b=FALSE; 628 b=FALSE;
628 } 629 }
629 populateRemoteView(); 630 populateRemoteView();
630} 631}
631 632
632void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 633void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , int )
633{ 634{
634 qDebug("list pressed"); 635 qDebug("list pressed");
635 switch (mouse) { 636 switch (mouse) {
636 case 1: 637 case 1:
637 break; 638 break;
638 case 2: 639 case 2:
639 menuTimer.start( 750, TRUE ); 640 menuTimer.start( 750, TRUE );
640 qDebug("Start menu timer\n"); 641 qDebug("Start menu timer\n");
641 break; 642 break;
642 }; 643 };
643} 644}
644 645
645void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 646void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int )
646{ 647{
647 648
648 switch (mouse) { 649 switch (mouse) {
649 case 1: 650 case 1:
650 break; 651 break;
651 case 2: 652 case 2:
652 menuTimer.start( 750, TRUE ); 653 menuTimer.start( 750, TRUE );
653 qDebug("Start menu timer"); 654 qDebug("Start menu timer");
654 break; 655 break;
655 }; 656 };
656} 657}
657 658
658void AdvancedFm::runThis() { 659void AdvancedFm::runThis() {
659 QString fs; 660 QString fs;
660 if (TabWidget->currentPageIndex() == 0) { 661 if (TabWidget->currentPageIndex() == 0) {
661 QString curFile = Local_View->currentItem()->text(0); 662 QString curFile = Local_View->currentItem()->text(0);
662 if(curFile != "../") { 663 if(curFile != "../") {
663 664
664 fs= getFileSystemType((const QString &) currentDir.canonicalPath()); 665 fs= getFileSystemType((const QString &) currentDir.canonicalPath());
665 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); 666 QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile);
666 qDebug( fileInfo.owner()); 667 qDebug( fileInfo.owner());
667 if( (fileInfo.permission( QFileInfo::ExeUser) 668 if( (fileInfo.permission( QFileInfo::ExeUser)
668 | fileInfo.permission( QFileInfo::ExeGroup) 669 | fileInfo.permission( QFileInfo::ExeGroup)
669 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { 670 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) {
670 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { 671 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
671 QCopEnvelope e("QPE/System", "execute(QString)" ); 672 QCopEnvelope e("QPE/System", "execute(QString)" );
672 e << curFile; 673 e << curFile;
673 } else { 674 } else {
674 curFile = currentDir.canonicalPath()+"/"+curFile; 675 curFile = currentDir.canonicalPath()+"/"+curFile;
675 DocLnk nf(curFile); 676 DocLnk nf(curFile);
676 QString execStr = nf.exec(); 677 QString execStr = nf.exec();
677 qDebug( execStr); 678 qDebug( execStr);
678 if( execStr.isEmpty() ) { 679 if( execStr.isEmpty() ) {
679 } else { 680 } else {
680 nf.execute(); 681 nf.execute();
681 } 682 }
682 } 683 }
683 } 684 }
684 } else { 685 } else {
685 QString curFile = Remote_View->currentItem()->text(0); 686 QString curFile = Remote_View->currentItem()->text(0);
686 if(curFile != "../") { 687 if(curFile != "../") {
687 688
688 fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); 689 fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
689 qDebug("Filesystemtype is "+fs); 690 qDebug("Filesystemtype is "+fs);
690 QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); 691 QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile);
691 if( (fileInfo.permission( QFileInfo::ExeUser) 692 if( (fileInfo.permission( QFileInfo::ExeUser)
692 | fileInfo.permission( QFileInfo::ExeGroup) 693 | fileInfo.permission( QFileInfo::ExeGroup)
693 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { 694 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) {
694 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { 695 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
695 QCopEnvelope e("QPE/System", "execute(QString)" ); 696 QCopEnvelope e("QPE/System", "execute(QString)" );
696 e << curFile; 697 e << curFile;
697 } else { 698 } else {
698 curFile = currentRemoteDir.canonicalPath()+"/"+curFile; 699 curFile = currentRemoteDir.canonicalPath()+"/"+curFile;
699 DocLnk nf(curFile); 700 DocLnk nf(curFile);
700 QString execStr = nf.exec(); 701 QString execStr = nf.exec();
701 qDebug(execStr); 702 qDebug(execStr);
702 if( execStr.isEmpty() ) { 703 if( execStr.isEmpty() ) {
703 } else { 704 } else {
704 nf.execute(); 705 nf.execute();
705 } 706 }
706 } 707 }
707 } 708 }
708 } 709 }
709} 710}
@@ -1238,129 +1239,129 @@ void AdvancedFm::copyAs() {
1238 1239
1239 QString destFile; 1240 QString destFile;
1240 fileDlg->setInputText((const QString &) destFile); 1241 fileDlg->setInputText((const QString &) destFile);
1241 fileDlg->exec(); 1242 fileDlg->exec();
1242 1243
1243 if( fileDlg->result() == 1 ) { 1244 if( fileDlg->result() == 1 ) {
1244 QString filename = fileDlg->LineEdit1->text(); 1245 QString filename = fileDlg->LineEdit1->text();
1245 destFile = currentDir.canonicalPath()+"/"+filename; 1246 destFile = currentDir.canonicalPath()+"/"+filename;
1246 1247
1247 QFile f( destFile); 1248 QFile f( destFile);
1248 if( f.exists()) { 1249 if( f.exists()) {
1249 switch ( QMessageBox::warning(this,tr("Delete"), 1250 switch ( QMessageBox::warning(this,tr("Delete"),
1250 destFile+tr(" already exists\nDo you really want to delete it?"), 1251 destFile+tr(" already exists\nDo you really want to delete it?"),
1251 tr("Yes"),tr("No"),0,0,1) ) { 1252 tr("Yes"),tr("No"),0,0,1) ) {
1252 case 0: 1253 case 0:
1253 f.remove(); 1254 f.remove();
1254 break; 1255 break;
1255 case 1: 1256 case 1:
1256 return; 1257 return;
1257 break; 1258 break;
1258 }; 1259 };
1259 } 1260 }
1260 if(!copyFile(destFile, curFile) ) { 1261 if(!copyFile(destFile, curFile) ) {
1261 QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); 1262 QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile);
1262 qWarning("nothin doing"); 1263 qWarning("nothin doing");
1263 } 1264 }
1264 1265
1265 } 1266 }
1266 delete fileDlg; 1267 delete fileDlg;
1267 1268
1268 } 1269 }
1269 populateLocalView(); 1270 populateLocalView();
1270 TabWidget->setCurrentPage(0); 1271 TabWidget->setCurrentPage(0);
1271 } 1272 }
1272} 1273}
1273 1274
1274void AdvancedFm::copySameDir() { 1275void AdvancedFm::copySameDir() {
1275 qApp->processEvents(); 1276 qApp->processEvents();
1276 QStringList curFileList = getPath(); 1277 QStringList curFileList = getPath();
1277 QString curFile; 1278 QString curFile;
1278 InputDialog *fileDlg; 1279 InputDialog *fileDlg;
1279 1280
1280 if (TabWidget->currentPageIndex() == 0) { 1281 if (TabWidget->currentPageIndex() == 0) {
1281 1282
1282 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1283 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1283 1284
1284 QString destFile; 1285 QString destFile;
1285 curFile = currentDir.canonicalPath()+"/"+(*it); 1286 curFile = currentDir.canonicalPath()+"/"+(*it);
1286 1287
1287 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); 1288 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0);
1288 fileDlg->setInputText((const QString &) destFile ); 1289 fileDlg->setInputText((const QString &) destFile );
1289 fileDlg->exec(); 1290 fileDlg->exec();
1290 1291
1291 if( fileDlg->result() == 1 ) { 1292 if( fileDlg->result() == 1 ) {
1292 1293
1293 QString filename = fileDlg->LineEdit1->text(); 1294 QString filename = fileDlg->LineEdit1->text();
1294 destFile = currentDir.canonicalPath()+"/"+filename; 1295 destFile = currentDir.canonicalPath()+"/"+filename;
1295 1296
1296 QFile f(destFile); 1297 QFile f(destFile);
1297 if( f.exists()) { 1298 if( f.exists()) {
1298 switch (QMessageBox::warning(this,tr("Delete"), 1299 switch (QMessageBox::warning(this,tr("Delete"),
1299 destFile+tr(" already exists\nDo you really want to delete it?"), 1300 destFile+tr(" already exists\nDo you really want to delete it?"),
1300 tr("Yes"),tr("No"),0,0,1) ) { 1301 tr("Yes"),tr("No"),0,0,1) ) {
1301 case 0: 1302 case 0:
1302 qDebug(""); 1303
1303 f.remove(); 1304 f.remove();
1304 break; 1305 break;
1305 case 1: 1306 case 1:
1306 return; 1307 return;
1307 break; 1308 break;
1308 }; 1309 };
1309 } 1310 }
1310 if(!copyFile(destFile, curFile) ) { 1311 if(!copyFile(destFile, curFile) ) {
1311 QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); 1312 QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile);
1312 qWarning("nothin doing"); 1313 qWarning("nothin doing");
1313 } 1314 }
1314 1315
1315 qDebug("copy "+curFile+" as "+destFile); 1316 qDebug("copy "+curFile+" as "+destFile);
1316 } 1317 }
1317 delete fileDlg; 1318 delete fileDlg;
1318 } 1319 }
1319 populateLocalView(); 1320 populateLocalView();
1320 1321
1321 } else { 1322 } else {
1322 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1323 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1323 1324
1324 curFile = currentRemoteDir.canonicalPath()+"/"+(*it); 1325 curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
1325 1326
1326 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); 1327 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0);
1327 QString destFile; 1328 QString destFile;
1328 fileDlg->setInputText((const QString &) destFile); 1329 fileDlg->setInputText((const QString &) destFile);
1329 fileDlg->exec(); 1330 fileDlg->exec();
1330 if( fileDlg->result() == 1 ) { 1331 if( fileDlg->result() == 1 ) {
1331 QString filename = fileDlg->LineEdit1->text(); 1332 QString filename = fileDlg->LineEdit1->text();
1332 1333
1333 destFile = currentRemoteDir.canonicalPath()+"/"+filename; 1334 destFile = currentRemoteDir.canonicalPath()+"/"+filename;
1334 1335
1335 QFile f(destFile); 1336 QFile f(destFile);
1336 if( f.exists()) { 1337 if( f.exists()) {
1337 switch ( QMessageBox::warning(this,tr("Delete"), 1338 switch ( QMessageBox::warning(this,tr("Delete"),
1338 destFile+tr(" already exists\nDo you really want to delete it?"), 1339 destFile+tr(" already exists\nDo you really want to delete it?"),
1339 tr("Yes"),tr("No"),0,0,1) ) { 1340 tr("Yes"),tr("No"),0,0,1) ) {
1340 case 0: 1341 case 0:
1341 f.remove(); 1342 f.remove();
1342 break; 1343 break;
1343 case 1: 1344 case 1:
1344 return; 1345 return;
1345 break; 1346 break;
1346 }; 1347 };
1347 } 1348 }
1348 if(!copyFile(destFile, curFile) ) { 1349 if(!copyFile(destFile, curFile) ) {
1349 QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile); 1350 QMessageBox::message("AdvancedFm",tr("Could not copy\n")+curFile +tr("to\n")+destFile);
1350 qWarning("nothin doing"); 1351 qWarning("nothin doing");
1351 } 1352 }
1352 qDebug("copy "+curFile+" as "+destFile); 1353 qDebug("copy "+curFile+" as "+destFile);
1353 } 1354 }
1354 delete fileDlg; 1355 delete fileDlg;
1355 } 1356 }
1356 populateRemoteView(); 1357 populateRemoteView();
1357 } 1358 }
1358} 1359}
1359 1360
1360void AdvancedFm::move() { 1361void AdvancedFm::move() {
1361 qApp->processEvents(); 1362 qApp->processEvents();
1362 1363
1363 QStringList curFileList = getPath(); 1364 QStringList curFileList = getPath();
1364 if( curFileList.count() > 0) { 1365 if( curFileList.count() > 0) {
1365 QString curFile; 1366 QString curFile;
1366 QString destFile; 1367 QString destFile;
@@ -1739,179 +1740,209 @@ QString AdvancedFm::getFileSystemType(const QString &currentText) {
1739 QString baseFs; 1740 QString baseFs;
1740 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) { 1741 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) {
1741 QString temp = (*it); 1742 QString temp = (*it);
1742 QString path = temp.left(temp.find("::",0,TRUE) ); 1743 QString path = temp.left(temp.find("::",0,TRUE) );
1743 path = path.right( path.length()-1); 1744 path = path.right( path.length()-1);
1744 if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 1745 if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
1745 if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) { 1746 if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) {
1746 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 1747 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
1747 } 1748 }
1748 } 1749 }
1749 return baseFs; 1750 return baseFs;
1750} 1751}
1751 1752
1752QString AdvancedFm::getDiskSpace( const QString &path) { 1753QString AdvancedFm::getDiskSpace( const QString &path) {
1753 struct statfs fss; 1754 struct statfs fss;
1754 if ( !statfs( path.latin1(), &fss ) ) { 1755 if ( !statfs( path.latin1(), &fss ) ) {
1755 int blkSize = fss.f_bsize; 1756 int blkSize = fss.f_bsize;
1756 // int totalBlks = fs.f_blocks; 1757 // int totalBlks = fs.f_blocks;
1757 int availBlks = fss.f_bavail; 1758 int availBlks = fss.f_bavail;
1758 1759
1759 long mult = blkSize / 1024; 1760 long mult = blkSize / 1024;
1760 long div = 1024 / blkSize; 1761 long div = 1024 / blkSize;
1761 if ( !mult ) mult = 1; 1762 if ( !mult ) mult = 1;
1762 if ( !div ) div = 1; 1763 if ( !div ) div = 1;
1763 1764
1764 return QString::number(availBlks * mult / div); 1765 return QString::number(availBlks * mult / div);
1765 } 1766 }
1766 return ""; 1767 return "";
1767} 1768}
1768 1769
1769void AdvancedFm::doBeam() { 1770void AdvancedFm::doBeam() {
1770 Ir ir; 1771 Ir ir;
1771 if(!ir.supported()){ 1772 if(!ir.supported()){
1772 } else { 1773 } else {
1773 1774
1774 QStringList curFileList = getPath(); 1775 QStringList curFileList = getPath();
1775 if( curFileList.count() > 0) { 1776 if( curFileList.count() > 0) {
1776 1777
1777 if (TabWidget->currentPageIndex() == 0) { 1778 if (TabWidget->currentPageIndex() == 0) {
1778 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1779 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1779 1780
1780 QString curFile = currentDir.canonicalPath()+"/"+(*it); 1781 QString curFile = currentDir.canonicalPath()+"/"+(*it);
1781 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1); 1782 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
1782 Ir *file = new Ir(this, "IR"); 1783 Ir *file = new Ir(this, "IR");
1783 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * ))); 1784 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
1784 file->send( curFile, curFile ); 1785 file->send( curFile, curFile );
1785 } 1786 }
1786 1787
1787 } else { 1788 } else {
1788 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1789 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1789 1790
1790 QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it); 1791 QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
1791 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1); 1792 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
1792 Ir *file = new Ir(this, "IR"); 1793 Ir *file = new Ir(this, "IR");
1793 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * ))); 1794 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
1794 file->send( curFile, curFile ); 1795 file->send( curFile, curFile );
1795 1796
1796 } 1797 }
1797 } 1798 }
1798 } 1799 }
1799 } 1800 }
1800 1801
1801} 1802}
1802 1803
1803void AdvancedFm::fileBeamFinished( Ir *ir) { 1804void AdvancedFm::fileBeamFinished( Ir *) {
1804 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 1805 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
1805 1806
1806} 1807}
1807 1808
1808void AdvancedFm::showFileMenu() { 1809void AdvancedFm::showFileMenu() {
1809 1810
1810 QString curApp; 1811 QString curApp;
1811 bool isLocalView = false; 1812 bool isLocalView = false;
1812 if (TabWidget->currentPageIndex() == 0) { 1813 if (TabWidget->currentPageIndex() == 0) {
1813 isLocalView = TRUE; 1814 isLocalView = TRUE;
1814 curApp = Local_View->currentItem()->text(0); 1815 curApp = Local_View->currentItem()->text(0);
1815 } else { 1816 } else {
1816 curApp = Remote_View->currentItem()->text(0); 1817 curApp = Remote_View->currentItem()->text(0);
1817 } 1818 }
1818 1819
1819 MimeType mt( curApp ); 1820 MimeType mt( curApp );
1820 const AppLnk* app = mt.application(); 1821 const AppLnk* app = mt.application();
1821 QFile fi(curApp); 1822 QFile fi(curApp);
1822 1823
1823 QPopupMenu *m = new QPopupMenu(0); 1824 QPopupMenu *m = new QPopupMenu(0);
1824 1825
1825 m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 1826 m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
1826 m->insertSeparator(); 1827 m->insertSeparator();
1827 if ( QFileInfo(fi).isDir() ) { 1828 if ( QFileInfo(fi).isDir() ) {
1828 m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); 1829 m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
1829 } else { 1830 } else {
1830 1831
1831 if ( app ) 1832 if ( app )
1832 m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) ); 1833 m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) );
1833 else if( QFileInfo(fi).isExecutable() ) 1834 else if( QFileInfo(fi).isExecutable() )
1834 m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); 1835 m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) );
1835 1836
1836 m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) ); 1837 m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) );
1837 } 1838 }
1838 m->insertSeparator(); 1839 m->insertSeparator();
1839 1840
1840 1841
1841 if(isLocalView) 1842 if(isLocalView)
1842 m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 1843 m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
1843 else 1844 else
1844 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 1845 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
1845 1846
1846 m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 1847 m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
1847 m->insertSeparator(); 1848 m->insertSeparator();
1848 1849
1849 if(isLocalView) 1850 if(isLocalView)
1850 m->insertItem( tr( "Rename" ), this, SLOT( localRename() )); 1851 m->insertItem( tr( "Rename" ), this, SLOT( localRename() ));
1851 else 1852 else
1852 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 1853 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
1853 1854
1854 m->insertItem( tr( "Copy" ), this, SLOT( copy() )); 1855 m->insertItem( tr( "Copy" ), this, SLOT( copy() ));
1855 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 1856 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
1856 m->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() )); 1857 m->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() ));
1857 m->insertItem( tr( "Move" ), this, SLOT( move() )); 1858 m->insertItem( tr( "Move" ), this, SLOT( move() ));
1858 m->insertSeparator(); 1859 m->insertSeparator();
1860 m->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
1859 1861
1860 if(isLocalView) 1862// if(isLocalView)
1861 m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() )); 1863// m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() ));
1862 else 1864// else
1863 m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() )); 1865// m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
1864 1866
1865 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 1867 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
1866 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 1868 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
1867 m->insertSeparator(); 1869 m->insertSeparator();
1868 1870
1869 if(isLocalView) 1871 if(isLocalView)
1870 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 1872 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
1871 else 1873 else
1872 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 1874 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
1873 1875
1874 m->insertSeparator(); 1876 m->insertSeparator();
1875 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 1877 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
1876 1878
1877 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings 1879 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
1878 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 1880 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
1879 m->setCheckable(TRUE); 1881 m->setCheckable(TRUE);
1880 if (!b) 1882 if (!b)
1881 m->setItemChecked(m->idAt(0),TRUE); 1883 m->setItemChecked(m->idAt(0),TRUE);
1882 else 1884 else
1883 m->setItemChecked(m->idAt(0),FALSE); 1885 m->setItemChecked(m->idAt(0),FALSE);
1886
1884 if(Ir::supported()) 1887 if(Ir::supported())
1885 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); 1888 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
1886 m->setFocus(); 1889 m->setFocus();
1887 m->exec( QCursor::pos() ); 1890 m->exec( QCursor::pos() );
1888 sleep(1); 1891 sleep(1);
1889 if(m) delete m; 1892 if(m) delete m;
1890} 1893}
1891 1894
1892 1895
1893void AdvancedFm::cancelMenuTimer() { 1896void AdvancedFm::cancelMenuTimer() {
1894 1897
1895 qDebug("selectionChanged: cancel menu timer"); 1898 qDebug("selectionChanged: cancel menu timer");
1896 if( menuTimer.isActive() ) 1899 if( menuTimer.isActive() )
1897 menuTimer.stop(); 1900 menuTimer.stop();
1898} 1901}
1899 1902
1900QString AdvancedFm::checkDiskSpace(const QString &path) { 1903QString AdvancedFm::checkDiskSpace(const QString &path) {
1901 struct statfs fss; 1904 struct statfs fss;
1902 if ( !statfs( path.latin1(), &fss ) ) { 1905 if ( !statfs( path.latin1(), &fss ) ) {
1903 int blkSize = fss.f_bsize; 1906 int blkSize = fss.f_bsize;
1904// int totalBlks = fs.f_blocks; 1907// int totalBlks = fs.f_blocks;
1905 int availBlks = fss.f_bavail; 1908 int availBlks = fss.f_bavail;
1906 1909
1907 long mult = blkSize / 1024; 1910 long mult = blkSize / 1024;
1908 long div = 1024 / blkSize; 1911 long div = 1024 / blkSize;
1909 if ( !mult ) mult = 1; 1912 if ( !mult ) mult = 1;
1910 if ( !div ) div = 1; 1913 if ( !div ) div = 1;
1911 1914
1912 1915
1913 return QString::number(availBlks * mult / div); 1916 return QString::number(availBlks * mult / div);
1914 } 1917 }
1915 return ""; 1918 return "";
1916} 1919}
1917 1920
1921void AdvancedFm::addToDocs() {
1922 QStringList strListPaths = getPath();
1923 if( strListPaths.count() > 0) {
1924 QString curFile;
1925 if (TabWidget->currentPageIndex() == 0) {
1926 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) {
1927 curFile = currentDir.canonicalPath()+"/"+(*it);
1928 qDebug(curFile);
1929 DocLnk f;
1930// curFile.replace(QRegExp("\\..*"),"");
1931 f.setName((*it));
1932 f.setFile( curFile);
1933 f.writeLink();
1934 }
1935 } else {
1936 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) {
1937 curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
1938 qDebug(curFile);
1939
1940 DocLnk f;
1941// curFile.replace(QRegExp("\\..*"),"");
1942 f.setName((*it));
1943 f.setFile( curFile);
1944 f.writeLink();
1945 }
1946 }
1947 }
1948}
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 5b714ae..53dad50 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -6,128 +6,129 @@
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#ifndef ADVANCEDFM_H 12#ifndef ADVANCEDFM_H
13#define ADVANCEDFM_H 13#define ADVANCEDFM_H
14 14
15#include <qpe/ir.h> 15#include <qpe/ir.h>
16 16
17#include <qvariant.h> 17#include <qvariant.h>
18#include <qdialog.h> 18#include <qdialog.h>
19#include <qmainwindow.h> 19#include <qmainwindow.h>
20#include <qstringlist.h> 20#include <qstringlist.h>
21#include <qdir.h> 21#include <qdir.h>
22#include <qstring.h> 22#include <qstring.h>
23#include <qpoint.h> 23#include <qpoint.h>
24#include <qtimer.h> 24#include <qtimer.h>
25 25
26class QVBoxLayout; 26class QVBoxLayout;
27class QHBoxLayout; 27class QHBoxLayout;
28class QGridLayout; 28class QGridLayout;
29class QComboBox; 29class QComboBox;
30class QListView; 30class QListView;
31class QListviewItem; 31class QListviewItem;
32class QLabel; 32class QLabel;
33class QProgressBar; 33class QProgressBar;
34class QSpinBox; 34class QSpinBox;
35class QTabWidget; 35class QTabWidget;
36class QWidget; 36class QWidget;
37class QPEToolBar; 37class QPEToolBar;
38class QPEMenuBar; 38class QPEMenuBar;
39class QPopupMenu; 39class QPopupMenu;
40class QFile; 40class QFile;
41class QListViewItem; 41class QListViewItem;
42class QLineEdit; 42class QLineEdit;
43//class QPushButton; 43//class QPushButton;
44class QToolButton; 44class QToolButton;
45class Ir; 45class Ir;
46 46
47class AdvancedFm : public QMainWindow 47class AdvancedFm : public QMainWindow
48{ 48{
49 Q_OBJECT 49 Q_OBJECT
50public: 50public:
51 AdvancedFm(); 51 AdvancedFm();
52 ~AdvancedFm(); 52 ~AdvancedFm();
53 53
54 QTabWidget *TabWidget; 54 QTabWidget *TabWidget;
55 QWidget *tab, *tab_2, *tab_3; 55 QWidget *tab, *tab_2, *tab_3;
56 QListView *Local_View, *Remote_View; 56 QListView *Local_View, *Remote_View;
57 57
58 QLineEdit *currentPathEdit; 58 QLineEdit *currentPathEdit;
59 QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu; 59 QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu;
60 QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; 60 QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
61// QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; 61// QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
62 QDir currentDir, currentRemoteDir; 62 QDir currentDir, currentRemoteDir;
63 QComboBox *currentPathCombo; 63 QComboBox *currentPathCombo;
64 QString filterStr; 64 QString filterStr;
65 QListViewItem * item; 65 QListViewItem * item;
66 bool b; 66 bool b;
67 QStringList fileSystemTypeList, fsList; 67 QStringList fileSystemTypeList, fsList;
68 int currentServerConfig; 68 int currentServerConfig;
69protected slots: 69protected slots:
70 void addToDocs();
70 void doLocalCd(); 71 void doLocalCd();
71 void doRemoteCd(); 72 void doRemoteCd();
72// void copy(); 73// void copy();
73 void mkDir(); 74 void mkDir();
74 void del(); 75 void del();
75 void rn(); 76 void rn();
76 void populateLocalView(); 77 void populateLocalView();
77 void populateRemoteView(); 78 void populateRemoteView();
78 void showHidden(); 79 void showHidden();
79 void showRemoteHidden(); 80 void showRemoteHidden();
80 void writeConfig(); 81 void writeConfig();
81 void readConfig(); 82 void readConfig();
82 void localListClicked(QListViewItem *); 83 void localListClicked(QListViewItem *);
83 void remoteListClicked(QListViewItem *); 84 void remoteListClicked(QListViewItem *);
84 void localListPressed( int, QListViewItem *, const QPoint&, int); 85 void localListPressed( int, QListViewItem *, const QPoint&, int);
85 void remoteListPressed( int, QListViewItem *, const QPoint&, int); 86 void remoteListPressed( int, QListViewItem *, const QPoint&, int);
86 void localMakDir(); 87 void localMakDir();
87 void localDelete(); 88 void localDelete();
88 void remoteMakDir(); 89 void remoteMakDir();
89 void remoteDelete(); 90 void remoteDelete();
90/* bool remoteDirList(const QString &); */ 91/* bool remoteDirList(const QString &); */
91/* bool remoteChDir(const QString &); */ 92/* bool remoteChDir(const QString &); */
92 void tabChanged(QWidget*); 93 void tabChanged(QWidget*);
93 void cleanUp(); 94 void cleanUp();
94 void remoteRename(); 95 void remoteRename();
95 void localRename(); 96 void localRename();
96 void runThis(); 97 void runThis();
97 void runText(); 98 void runText();
98 void filePerms(); 99 void filePerms();
99 void doProperties(); 100 void doProperties();
100 void runCommand(); 101 void runCommand();
101 void runCommandStd(); 102 void runCommandStd();
102 QStringList getPath(); 103 QStringList getPath();
103 void mkSym(); 104 void mkSym();
104 void switchToLocalTab(); 105 void switchToLocalTab();
105 void switchToRemoteTab(); 106 void switchToRemoteTab();
106 107
107protected: 108protected:
108 bool zaurusDevice; 109 bool zaurusDevice;
109 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; 110 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3;
110 QStringList remoteDirPathStringList, localDirPathStringList; 111 QStringList remoteDirPathStringList, localDirPathStringList;
111 112
112 void keyReleaseEvent( QKeyEvent *); 113 void keyReleaseEvent( QKeyEvent *);
113 QString getFileSystemType(const QString &); 114 QString getFileSystemType(const QString &);
114 QString getDiskSpace(const QString &); 115 QString getDiskSpace(const QString &);
115 116
116 void parsetab(const QString &fileName); 117 void parsetab(const QString &fileName);
117QString checkDiskSpace(const QString &); 118QString checkDiskSpace(const QString &);
118protected slots: 119protected slots:
119 void showFileMenu(); 120 void showFileMenu();
120 void cancelMenuTimer(); 121 void cancelMenuTimer();
121 void homeButtonPushed(); 122 void homeButtonPushed();
122 void docButtonPushed(); 123 void docButtonPushed();
123 void SDButtonPushed(); 124 void SDButtonPushed();
124 void CFButtonPushed(); 125 void CFButtonPushed();
125 void QPEButtonPushed(); 126 void QPEButtonPushed();
126 void upDir(); 127 void upDir();
127 void currentPathComboChanged(); 128 void currentPathComboChanged();
128 void copy(); 129 void copy();
129 void copyAs(); 130 void copyAs();
130 void copySameDir(); 131 void copySameDir();
131 void currentPathComboActivated(const QString &); 132 void currentPathComboActivated(const QString &);
132 void fillCombo(const QString &); 133 void fillCombo(const QString &);
133 bool copyFile( const QString & , const QString & ); 134 bool copyFile( const QString & , const QString & );