summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2005-02-06 04:03:25 (UTC)
committer llornkcor <llornkcor>2005-02-06 04:03:25 (UTC)
commite23dd592fc71aa22c449363231eac2f8ebd2a45b (patch) (unidiff)
tree6944284c2632754357578581b564413f0fa09109
parentb09f9ce74d40f47bc336b4647c6c091a4f3bd5b6 (diff)
downloadopie-e23dd592fc71aa22c449363231eac2f8ebd2a45b.zip
opie-e23dd592fc71aa22c449363231eac2f8ebd2a45b.tar.gz
opie-e23dd592fc71aa22c449363231eac2f8ebd2a45b.tar.bz2
fix #1499 - rename working
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp38
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp3
2 files changed, 5 insertions, 36 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index 8cc5d7b..56e3282 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -168,432 +168,400 @@ void AdvancedFm::populateView() {
168// pm.setMask( pm.createHeuristicMask( FALSE ) ); 168// pm.setMask( pm.createHeuristicMask( FALSE ) );
169 } 169 }
170 item->setPixmap( 0,pm); 170 item->setPixmap( 0,pm);
171 171
172 } 172 }
173 isDir=FALSE; 173 isDir=FALSE;
174 ++it; 174 ++it;
175 } 175 }
176 176
177 if( path.find("dev",0,TRUE) != -1) { 177 if( path.find("dev",0,TRUE) != -1) {
178 struct stat buf; 178 struct stat buf;
179 dev_t devT; 179 dev_t devT;
180 DIR *dir; 180 DIR *dir;
181 struct dirent *mydirent; 181 struct dirent *mydirent;
182 182
183 if((dir = opendir( path.latin1())) != NULL) 183 if((dir = opendir( path.latin1())) != NULL)
184 while ((mydirent = readdir(dir)) != NULL) { 184 while ((mydirent = readdir(dir)) != NULL) {
185 lstat( mydirent->d_name, &buf); 185 lstat( mydirent->d_name, &buf);
186// odebug << mydirent->d_name << oendl; 186// odebug << mydirent->d_name << oendl;
187 fileL.sprintf("%s", mydirent->d_name); 187 fileL.sprintf("%s", mydirent->d_name);
188 devT = buf.st_dev; 188 devT = buf.st_dev;
189 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF); 189 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF);
190 fileDate.sprintf("%s", ctime( &buf.st_mtime)); 190 fileDate.sprintf("%s", ctime( &buf.st_mtime));
191 if( fileL.find(".") == -1 ) { 191 if( fileL.find(".") == -1 ) {
192 item= new QListViewItem( thisView, fileL, fileS, fileDate); 192 item= new QListViewItem( thisView, fileL, fileS, fileDate);
193 pm = unknownXpm; 193 pm = unknownXpm;
194 item->setPixmap( 0,pm); 194 item->setPixmap( 0,pm);
195 } 195 }
196 } 196 }
197 197
198 closedir(dir); 198 closedir(dir);
199 } 199 }
200 200
201 thisView->setSorting( 3,FALSE); 201 thisView->setSorting( 3,FALSE);
202 fillCombo( (const QString &) path ); 202 fillCombo( (const QString &) path );
203} 203}
204 204
205void AdvancedFm::rePopulate() { 205void AdvancedFm::rePopulate() {
206 // qDebug("repopulate views"); 206 // qDebug("repopulate views");
207 populateView(); 207 populateView();
208 setOtherTabCurrent(); 208 setOtherTabCurrent();
209 populateView(); 209 populateView();
210} 210}
211 211
212void AdvancedFm::ListClicked(QListViewItem *selectedItem) { 212void AdvancedFm::ListClicked(QListViewItem *selectedItem) {
213 if(selectedItem) { 213 if(selectedItem) {
214 QString strItem=selectedItem->text(0); 214 QString strItem=selectedItem->text(0);
215// owarn << strItem << oendl; 215// owarn << strItem << oendl;
216 QString strSize=selectedItem->text(1); 216 QString strSize=selectedItem->text(1);
217 strSize=strSize.stripWhiteSpace(); 217 strSize=strSize.stripWhiteSpace();
218 bool isDirectory = false; 218 bool isDirectory = false;
219 QString strItem2; 219 QString strItem2;
220 220
221 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) {//if symlink 221 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) {//if symlink
222 strItem2 = dealWithSymName((const QString&)strItem); 222 strItem2 = dealWithSymName((const QString&)strItem);
223 if(QDir(strItem2).exists() ) 223 if(QDir(strItem2).exists() )
224 strItem = strItem2; 224 strItem = strItem2;
225 } 225 }
226 226
227 if( strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 227 if( strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
228 228
229 if(QDir(strItem).exists()) 229 if(QDir(strItem).exists())
230 isDirectory = true; 230 isDirectory = true;
231 } 231 }
232 232
233 if( isDirectory ) { 233 if( isDirectory ) {
234 CurrentDir()->cd( strItem, TRUE); 234 CurrentDir()->cd( strItem, TRUE);
235 populateView(); 235 populateView();
236 CurrentView()->ensureItemVisible( CurrentView()->firstChild()); 236 CurrentView()->ensureItemVisible( CurrentView()->firstChild());
237 } 237 }
238 chdir( strItem.latin1()); 238 chdir( strItem.latin1());
239 } 239 }
240} 240}
241 241
242void AdvancedFm::ListPressed( int mouse, QListViewItem *item, const QPoint& , int ) { 242void AdvancedFm::ListPressed( int mouse, QListViewItem *item, const QPoint& , int ) {
243 Q_UNUSED(item); 243 Q_UNUSED(item);
244 switch (mouse) { 244 switch (mouse) {
245 case 1: 245 case 1:
246 { 246 {
247 if(renameBox != 0 ) { 247 if(renameBox != 0 ) {
248 cancelRename(); 248 cancelRename();
249 } 249 }
250 } 250 }
251 break; 251 break;
252// case 2: 252// case 2:
253// menuTimer.start( 50, TRUE ); 253// menuTimer.start( 50, TRUE );
254// break; 254// break;
255 }; 255 };
256} 256}
257 257
258 258
259void AdvancedFm::refreshCurrentTab() { 259void AdvancedFm::refreshCurrentTab() {
260 populateView(); 260 populateView();
261 // if ( TabWidget->currentWidget() == tab) { 261 // if ( TabWidget->currentWidget() == tab) {
262} 262}
263 263
264void AdvancedFm::switchToLocalTab() { 264void AdvancedFm::switchToLocalTab() {
265 TabWidget->setCurrentWidget(tab); 265 TabWidget->setCurrentWidget(tab);
266 Local_View->setFocus(); 266 Local_View->setFocus();
267 // whichTab = 1; 267 // whichTab = 1;
268} 268}
269 269
270void AdvancedFm::switchToRemoteTab() { 270void AdvancedFm::switchToRemoteTab() {
271 TabWidget->setCurrentWidget(tab_2); 271 TabWidget->setCurrentWidget(tab_2);
272 Remote_View->setFocus(); 272 Remote_View->setFocus();
273 // whichTab = 2; 273 // whichTab = 2;
274} 274}
275 275
276void AdvancedFm::currentPathComboChanged() { 276void AdvancedFm::currentPathComboChanged() {
277 QString pDir = currentPathCombo->lineEdit()->text(); 277 QString pDir = currentPathCombo->lineEdit()->text();
278 if(QDir(pDir).exists()) { 278 if(QDir(pDir).exists()) {
279 CurrentDir()->setPath(pDir ); 279 CurrentDir()->setPath(pDir );
280 populateView(); 280 populateView();
281 } else { 281 } else {
282 QMessageBox::message(tr("Note"),tr("<p>%1 does not exist</p>").arg(pDir)); 282 QMessageBox::message(tr("Note"),tr("<p>%1 does not exist</p>").arg(pDir));
283 } 283 }
284} 284}
285 285
286void AdvancedFm::fillCombo(const QString &currentPath) { 286void AdvancedFm::fillCombo(const QString &currentPath) {
287 287
288 if ( TabWidget->currentWidget() == tab) { 288 if ( TabWidget->currentWidget() == tab) {
289// if ( whichTab == 1) { 289// if ( whichTab == 1) {
290 currentPathCombo->lineEdit()->setText( currentPath); 290 currentPathCombo->lineEdit()->setText( currentPath);
291 if( localDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { 291 if( localDirPathStringList.grep( currentPath,TRUE).isEmpty() ) {
292 currentPathCombo->clear(); 292 currentPathCombo->clear();
293 localDirPathStringList.prepend( currentPath ); 293 localDirPathStringList.prepend( currentPath );
294 currentPathCombo->insertStringList( localDirPathStringList,-1); 294 currentPathCombo->insertStringList( localDirPathStringList,-1);
295 } 295 }
296 } else { 296 } else {
297 currentPathCombo->lineEdit()->setText( currentPath); 297 currentPathCombo->lineEdit()->setText( currentPath);
298 if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { 298 if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) {
299 currentPathCombo->clear(); 299 currentPathCombo->clear();
300 remoteDirPathStringList.prepend( currentPath ); 300 remoteDirPathStringList.prepend( currentPath );
301 currentPathCombo->insertStringList( remoteDirPathStringList,-1); 301 currentPathCombo->insertStringList( remoteDirPathStringList,-1);
302 } 302 }
303 } 303 }
304} 304}
305 305
306QStringList AdvancedFm::getPath() { 306QStringList AdvancedFm::getPath() {
307 QStringList strList; 307 QStringList strList;
308 QListView *thisView=CurrentView(); 308 QListView *thisView=CurrentView();
309 QList<QListViewItem> * getSelectedItems( QListView * thisView ); 309 QList<QListViewItem> * getSelectedItems( QListView * thisView );
310 QListViewItemIterator it( thisView ); 310 QListViewItemIterator it( thisView );
311 for ( ; it.current(); ++it ) { 311 for ( ; it.current(); ++it ) {
312 if ( it.current()->isSelected() ) { 312 if ( it.current()->isSelected() ) {
313 strList << it.current()->text(0); 313 strList << it.current()->text(0);
314// odebug << it.current()->text(0) << oendl; 314// odebug << it.current()->text(0) << oendl;
315 } 315 }
316 } 316 }
317 return strList; 317 return strList;
318} 318}
319 319
320void AdvancedFm::changeTo(const QString &dir) { 320void AdvancedFm::changeTo(const QString &dir) {
321 chdir( dir.latin1()); 321 chdir( dir.latin1());
322 CurrentDir()->cd(dir, TRUE); 322 CurrentDir()->cd(dir, TRUE);
323 populateView(); 323 populateView();
324 update(); 324 update();
325} 325}
326 326
327void AdvancedFm::homeButtonPushed() { 327void AdvancedFm::homeButtonPushed() {
328 changeTo(QDir::homeDirPath()); 328 changeTo(QDir::homeDirPath());
329} 329}
330 330
331void AdvancedFm::docButtonPushed() { 331void AdvancedFm::docButtonPushed() {
332 changeTo(QPEApplication::documentDir()); 332 changeTo(QPEApplication::documentDir());
333} 333}
334 334
335void AdvancedFm::SDButtonPushed() { 335void AdvancedFm::SDButtonPushed() {
336 Opie::Core::OStorageInfo info; 336 Opie::Core::OStorageInfo info;
337 changeTo(info.sdPath()); 337 changeTo(info.sdPath());
338} 338}
339 339
340void AdvancedFm::CFButtonPushed() { 340void AdvancedFm::CFButtonPushed() {
341 Opie::Core::OStorageInfo info; 341 Opie::Core::OStorageInfo info;
342 changeTo(info.cfPath()); 342 changeTo(info.cfPath());
343} 343}
344 344
345void AdvancedFm::QPEButtonPushed() { 345void AdvancedFm::QPEButtonPushed() {
346 changeTo(QPEApplication::qpeDir()); 346 changeTo(QPEApplication::qpeDir());
347} 347}
348 348
349void AdvancedFm::doAbout() { 349void AdvancedFm::doAbout() {
350 QMessageBox::message("AdvancedFm",tr("<P>Advanced FileManager is copyright 2002-2003 by L.J.Potter<llornkcor@handhelds.org> and is licensed by the GPL</P>")); 350 QMessageBox::message("AdvancedFm",tr("<P>Advanced FileManager is copyright 2002-2003 by L.J.Potter<llornkcor@handhelds.org> and is licensed by the GPL</P>"));
351} 351}
352 352
353void AdvancedFm::keyPressEvent( QKeyEvent *e) { 353void AdvancedFm::keyPressEvent( QKeyEvent *e) {
354 Q_UNUSED(e); 354 Q_UNUSED(e);
355} 355}
356 356
357void AdvancedFm::keyReleaseEvent( QKeyEvent *e) { 357void AdvancedFm::keyReleaseEvent( QKeyEvent *e) {
358// if( CurrentView()->hasFocus() ) 358// if( CurrentView()->hasFocus() )
359// e->ignore(); 359// e->ignore();
360 if( currentPathCombo->lineEdit()->hasFocus()) { 360
361 if( currentPathCombo->lineEdit()->hasFocus()) {
361 // qDebug("shout!"); 362 // qDebug("shout!");
362 } 363 }
363 364
364 else if( e->key() == Key_Left ) 365 else if( e->key() == Key_Left )
365 upDir(); 366 upDir();
366 else if( e->key() == Key_Return || e->key() == Key_Enter) 367 else if( e->key() == Key_Return || e->key() == Key_Enter)
367 navigateToSelected(); 368 navigateToSelected();
368 else if( e->key() == Key_Tab) 369 else if( e->key() == Key_Tab)
369 setOtherTabCurrent(); 370 setOtherTabCurrent();
370 else if( e->key() == Key_Delete ) 371 else if( e->key() == Key_Delete )
371 del(); 372 del();
372 else if( e->key() == Key_A)
373 copyAs();
374 else if( e->key() == Key_C)
375 copy();
376 else if( e->key() == Key_E)
377 runThis();
378 else if( e->key() == Key_G)
379 currentPathCombo->lineEdit()->setFocus();
380 else if( e->key() == Key_H )
381 showHidden();
382 else if( e->key() == Key_I)
383 fileStatus();
384 else if( e->key() == Key_M)
385 move();
386 else if( e->key() == Key_N )
387 mkDir();
388 else if( e->key() == Key_P)
389 filePerms();
390 else if( e->key() == Key_R )
391 rn();
392 else if( e->key() == Key_U )
393 upDir();
394 else if( e->key() == Key_1)
395 switchToLocalTab();
396 else if( e->key() == Key_2)
397 switchToRemoteTab();
398 else if( e->key() == Key_3)
399 CFButtonPushed();
400 else if( e->key() == Key_4)
401 SDButtonPushed();
402 else if( e->key() == Key_5 )
403 homeButtonPushed();
404 else if( e->key() == Key_6 )
405 docButtonPushed();
406 else 373 else
407 e->accept(); 374 e->accept();
375
408} 376}
409 377
410 378
411void AdvancedFm::parsetab(const QString &fileName) { 379void AdvancedFm::parsetab(const QString &fileName) {
412 380
413 fileSystemTypeList.clear(); 381 fileSystemTypeList.clear();
414 fsList.clear(); 382 fsList.clear();
415 struct mntent *me; 383 struct mntent *me;
416 FILE *mntfp = setmntent( fileName.latin1(), "r" ); 384 FILE *mntfp = setmntent( fileName.latin1(), "r" );
417 if ( mntfp ) { 385 if ( mntfp ) {
418 while ( (me = getmntent( mntfp )) != 0 ) { 386 while ( (me = getmntent( mntfp )) != 0 ) {
419 QString deviceName = me->mnt_fsname; 387 QString deviceName = me->mnt_fsname;
420 QString filesystemType = me->mnt_type; 388 QString filesystemType = me->mnt_type;
421 QString mountDir = me->mnt_dir; 389 QString mountDir = me->mnt_dir;
422 if(deviceName != "none") { 390 if(deviceName != "none") {
423 if( fsList.contains(filesystemType) == 0 391 if( fsList.contains(filesystemType) == 0
424 & filesystemType.find("proc",0,TRUE) == -1 392 & filesystemType.find("proc",0,TRUE) == -1
425 & filesystemType.find("cramfs",0,TRUE) == -1 393 & filesystemType.find("cramfs",0,TRUE) == -1
426 & filesystemType.find("auto",0,TRUE) == -1) 394 & filesystemType.find("auto",0,TRUE) == -1)
427 fsList << filesystemType; 395 fsList << filesystemType;
428 fileSystemTypeList << mountDir+"::"+filesystemType; 396 fileSystemTypeList << mountDir+"::"+filesystemType;
429 } 397 }
430 } 398 }
431 } 399 }
432 endmntent( mntfp ); 400 endmntent( mntfp );
433} 401}
434 402
435QString AdvancedFm::getFileSystemType(const QString &currentText) { 403QString AdvancedFm::getFileSystemType(const QString &currentText) {
436 parsetab("/etc/mtab"); //why did TT forget filesystem type? 404 parsetab("/etc/mtab"); //why did TT forget filesystem type?
437 QString current = currentText;//.right( currentText.length()-1); 405 QString current = currentText;//.right( currentText.length()-1);
438 QString baseFs; 406 QString baseFs;
439 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) { 407 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) {
440 QString temp = (*it); 408 QString temp = (*it);
441 QString path = temp.left(temp.find("::",0,TRUE) ); 409 QString path = temp.left(temp.find("::",0,TRUE) );
442 path = path.right( path.length()-1); 410 path = path.right( path.length()-1);
443 if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 411 if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
444 if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) { 412 if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) {
445 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 413 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
446 } 414 }
447 } 415 }
448 return baseFs; 416 return baseFs;
449} 417}
450 418
451QString AdvancedFm::getDiskSpace( const QString &path) { 419QString AdvancedFm::getDiskSpace( const QString &path) {
452 struct statfs fss; 420 struct statfs fss;
453 if ( !statfs( path.latin1(), &fss ) ) { 421 if ( !statfs( path.latin1(), &fss ) ) {
454 int blkSize = fss.f_bsize; 422 int blkSize = fss.f_bsize;
455 // int totalBlks = fs.f_blocks; 423 // int totalBlks = fs.f_blocks;
456 int availBlks = fss.f_bavail; 424 int availBlks = fss.f_bavail;
457 425
458 long mult = blkSize / 1024; 426 long mult = blkSize / 1024;
459 long div = 1024 / blkSize; 427 long div = 1024 / blkSize;
460 if ( !mult ) mult = 1; 428 if ( !mult ) mult = 1;
461 if ( !div ) div = 1; 429 if ( !div ) div = 1;
462 430
463 return QString::number(availBlks * mult / div); 431 return QString::number(availBlks * mult / div);
464 } 432 }
465 return ""; 433 return "";
466} 434}
467 435
468 436
469void AdvancedFm::showFileMenu() { 437void AdvancedFm::showFileMenu() {
470 QString curApp; 438 QString curApp;
471 curApp = CurrentView()->currentItem()->text(0); 439 curApp = CurrentView()->currentItem()->text(0);
472 440
473 MimeType mt(curApp); 441 MimeType mt(curApp);
474 const AppLnk* app = mt.application(); 442 const AppLnk* app = mt.application();
475 QFile fi(curApp); 443 QFile fi(curApp);
476 QPopupMenu *m = new QPopupMenu(0); 444 QPopupMenu *m = new QPopupMenu(0);
477 QPopupMenu *n = new QPopupMenu(0); 445 QPopupMenu *n = new QPopupMenu(0);
478 // QPopupMenu *o = new QPopupMenu(0); 446 // QPopupMenu *o = new QPopupMenu(0);
479 m->insertItem(tr("Show Hidden Files"),this,SLOT(showHidden())); 447 m->insertItem(tr("Show Hidden Files"),this,SLOT(showHidden()));
480 448
481 if ( QFileInfo(fi).isDir()) { 449 if ( QFileInfo(fi).isDir()) {
482 m->insertSeparator(); 450 m->insertSeparator();
483 m->insertItem(tr("Change Directory"),this,SLOT(doDirChange())); 451 m->insertItem(tr("Change Directory"),this,SLOT(doDirChange()));
484 } else { 452 } else {
485 453
486 if (app) 454 if (app)
487 m->insertItem(app->pixmap(),tr("Open in " + app->name()),this,SLOT(runThis())); 455 m->insertItem(app->pixmap(),tr("Open in " + app->name()),this,SLOT(runThis()));
488 else if(QFileInfo(fi).isExecutable() ) //damn opie doesnt like this 456 else if(QFileInfo(fi).isExecutable() ) //damn opie doesnt like this
489 m->insertItem(tr("Execute"),this,SLOT(runThis())); 457 m->insertItem(tr("Execute"),this,SLOT(runThis()));
490 m->insertItem(Resource::loadPixmap("txt"),tr("Open as text"),this,SLOT(runText())); 458 m->insertItem(Resource::loadPixmap("txt"),tr("Open as text"),this,SLOT(runText()));
491 } 459 }
492 460
493 m->insertItem(tr("Actions"),n); 461 m->insertItem(tr("Actions"),n);
494 n->insertItem(tr("Make Directory"),this,SLOT(makeDir())); 462 n->insertItem(tr("Make Directory"),this,SLOT(makeDir()));
495 463
496 n->insertItem(tr("Make Symlink"),this,SLOT(mkSym())); 464 n->insertItem(tr("Make Symlink"),this,SLOT(mkSym()));
497 465
498 n->insertSeparator(); 466 n->insertSeparator();
499 n->insertItem(tr("Rename"),this,SLOT(renameIt())); 467 n->insertItem(tr("Rename"),this,SLOT(renameIt()));
500 468
501 n->insertItem(tr("Copy"),this,SLOT(copyTimer())); 469 n->insertItem(tr("Copy"),this,SLOT(copyTimer()));
502 n->insertItem(tr("Copy As"),this,SLOT(copyAsTimer())); 470 n->insertItem(tr("Copy As"),this,SLOT(copyAsTimer()));
503 n->insertItem(tr("Copy Same Dir"),this,SLOT(copySameDirTimer())); 471 n->insertItem(tr("Copy Same Dir"),this,SLOT(copySameDirTimer()));
504 n->insertItem(tr("Move"),this,SLOT(moveTimer())); 472 n->insertItem(tr("Move"),this,SLOT(moveTimer()));
505 473
506 n->insertSeparator(); 474 n->insertSeparator();
507 n->insertItem(tr("Delete"),this,SLOT(doDelete())); 475 n->insertItem(tr("Delete"),this,SLOT(doDelete()));
508 m->insertItem(tr("Add To Documents"),this,SLOT(addToDocs())); 476 m->insertItem(tr("Add To Documents"),this,SLOT(addToDocs()));
509 477
510 m->insertItem(tr("Run Command"),this,SLOT(runCommand())); 478 m->insertItem(tr("Run Command"),this,SLOT(runCommand()));
511 m->insertItem(tr("File Info"),this,SLOT(fileStatus())); 479 m->insertItem(tr("File Info"),this,SLOT(fileStatus()));
512 480
513 m->insertSeparator(); 481 m->insertSeparator();
514 m->insertItem(tr("Set Permissions"),this,SLOT(filePerms())); 482 m->insertItem(tr("Set Permissions"),this,SLOT(filePerms()));
515 483
516#if defined(QT_QWS_OPIE) 484#if defined(QT_QWS_OPIE)
517 m->insertItem(tr("Properties"),this,SLOT(doProperties())); 485 m->insertItem(tr("Properties"),this,SLOT(doProperties()));
518#endif 486#endif
519 m->setCheckable(TRUE); 487 m->setCheckable(TRUE);
520 if (!b) 488 if (!b)
521 m->setItemChecked(m->idAt(0),TRUE); 489 m->setItemChecked(m->idAt(0),TRUE);
522 else 490 else
523 m->setItemChecked(m->idAt(0),FALSE); 491 m->setItemChecked(m->idAt(0),FALSE);
524 492
525 if(Ir::supported()) 493 if(Ir::supported())
526 m->insertItem(tr("Beam File"),this,SLOT(doBeam())); 494 m->insertItem(tr("Beam File"),this,SLOT(doBeam()));
527 m->setFocus(); 495 m->setFocus();
528 496
529 m->exec(QPoint(QCursor::pos().x(),QCursor::pos().y())); 497 m->exec(QPoint(QCursor::pos().x(),QCursor::pos().y()));
530 498
531 if(m) delete m; 499 if(m) delete m;
532} 500}
533 501
534 502
535QString AdvancedFm::checkDiskSpace(const QString &path) { 503QString AdvancedFm::checkDiskSpace(const QString &path) {
536 struct statfs fss; 504 struct statfs fss;
537 if ( !statfs( path.latin1(), &fss ) ) { 505 if ( !statfs( path.latin1(), &fss ) ) {
538 int blkSize = fss.f_bsize; 506 int blkSize = fss.f_bsize;
539// int totalBlks = fs.f_blocks; 507// int totalBlks = fs.f_blocks;
540 int availBlks = fss.f_bavail; 508 int availBlks = fss.f_bavail;
541 509
542 long mult = blkSize / 1024; 510 long mult = blkSize / 1024;
543 long div = 1024 / blkSize; 511 long div = 1024 / blkSize;
544 if ( !mult ) mult = 1; 512 if ( !mult ) mult = 1;
545 if ( !div ) div = 1; 513 if ( !div ) div = 1;
546 514
547 515
548 return QString::number(availBlks * mult / div); 516 return QString::number(availBlks * mult / div);
549 } 517 }
550 return ""; 518 return "";
551} 519}
552 520
553void AdvancedFm::addToDocs() { 521void AdvancedFm::addToDocs() {
554 QStringList strListPaths = getPath(); 522 QStringList strListPaths = getPath();
555 QDir *thisDir = CurrentDir(); 523 QDir *thisDir = CurrentDir();
556 524
557 if( strListPaths.count() > 0) { 525 if( strListPaths.count() > 0) {
558 QString curFile; 526 QString curFile;
559 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) { 527 for ( QStringList::Iterator it = strListPaths.begin(); it != strListPaths.end(); ++it ) {
560 curFile = thisDir->canonicalPath()+"/"+(*it); 528 curFile = thisDir->canonicalPath()+"/"+(*it);
561// odebug << curFile << oendl; 529// odebug << curFile << oendl;
562 QFileInfo fi(curFile); 530 QFileInfo fi(curFile);
563 DocLnk f; 531 DocLnk f;
564// curFile.replace(QRegExp("\\..*"),""); 532// curFile.replace(QRegExp("\\..*"),"");
565 f.setName(fi.baseName() ); 533 f.setName(fi.baseName() );
566 f.setFile( curFile); 534 f.setFile( curFile);
567 f.writeLink(); 535 f.writeLink();
568 } 536 }
569 } 537 }
570} 538}
571 539
572 540
573void AdvancedFm::customDirsToMenu() { 541void AdvancedFm::customDirsToMenu() {
574 542
575 Config cfg("AdvancedFm"); 543 Config cfg("AdvancedFm");
576 cfg.setGroup("Menu"); 544 cfg.setGroup("Menu");
577 545
578 QStringList list = cfg.readListEntry( "CustomDir", ','); 546 QStringList list = cfg.readListEntry( "CustomDir", ',');
579 menuButton->insertItems(list ); 547 menuButton->insertItems(list );
580 548
581// for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) 549// for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
582// { 550// {
583// customDirMenu->insertItem(*it ); 551// customDirMenu->insertItem(*it );
584// } 552// }
585} 553}
586 554
587void AdvancedFm::dirMenuSelected(int item) { 555void AdvancedFm::dirMenuSelected(int item) {
588 switch(item) 556 switch(item)
589 { 557 {
590 558
591 case -21: 559 case -21:
592 case 0: 560 case 0:
593 addCustomDir(); 561 addCustomDir();
594 break; 562 break;
595 case -22: 563 case -22:
596 case 1: 564 case 1:
597 removeCustomDir(); 565 removeCustomDir();
598 break; 566 break;
599 default: 567 default:
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 6abdc85..80324eb 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -676,198 +676,199 @@ void AdvancedFm::mkDir() {
676void AdvancedFm::rn() { 676void AdvancedFm::rn() {
677 renameIt(); 677 renameIt();
678} 678}
679 679
680void AdvancedFm::del() { 680void AdvancedFm::del() {
681 doDelete(); 681 doDelete();
682} 682}
683 683
684void AdvancedFm::mkSym() { 684void AdvancedFm::mkSym() {
685 QString cmd; 685 QString cmd;
686 QStringList curFileList = getPath(); 686 QStringList curFileList = getPath();
687 if( curFileList.count() > 0) { 687 if( curFileList.count() > 0) {
688 QDir *thisDir = CurrentDir(); 688 QDir *thisDir = CurrentDir();
689 QDir * thatDir = OtherDir(); 689 QDir * thatDir = OtherDir();
690 690
691 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 691 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
692 692
693 QString destName = thatDir->canonicalPath()+"/"+(*it); 693 QString destName = thatDir->canonicalPath()+"/"+(*it);
694 if(destName.right(1) == "/") { 694 if(destName.right(1) == "/") {
695 destName = destName.left( destName.length() -1); 695 destName = destName.left( destName.length() -1);
696 } 696 }
697 697
698 QString curFile = thisDir->canonicalPath()+"/"+(*it); 698 QString curFile = thisDir->canonicalPath()+"/"+(*it);
699 699
700 if( curFile.right(1) == "/") { 700 if( curFile.right(1) == "/") {
701 curFile = curFile.left( curFile.length() -1); 701 curFile = curFile.left( curFile.length() -1);
702 } 702 }
703 703
704 cmd = "ln -s "+curFile+" "+destName; 704 cmd = "ln -s "+curFile+" "+destName;
705// odebug << cmd << oendl; 705// odebug << cmd << oendl;
706 startProcess( (const QString)cmd ); 706 startProcess( (const QString)cmd );
707 } 707 }
708 rePopulate(); 708 rePopulate();
709 setOtherTabCurrent(); 709 setOtherTabCurrent();
710 } 710 }
711} 711}
712 712
713void AdvancedFm::doBeam() { 713void AdvancedFm::doBeam() {
714 Ir ir; 714 Ir ir;
715 if(!ir.supported()) { 715 if(!ir.supported()) {
716 } else { 716 } else {
717 QStringList curFileList = getPath(); 717 QStringList curFileList = getPath();
718 if( curFileList.count() > 0) { 718 if( curFileList.count() > 0) {
719 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 719 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
720 QString curFile = (*it); 720 QString curFile = (*it);
721 QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile; 721 QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile;
722 if( curFilePath.right(1) == "/") { 722 if( curFilePath.right(1) == "/") {
723 curFilePath = curFilePath.left( curFilePath.length() -1); 723 curFilePath = curFilePath.left( curFilePath.length() -1);
724 } 724 }
725 Ir *file = new Ir(this, "IR"); 725 Ir *file = new Ir(this, "IR");
726 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished(Ir*))); 726 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished(Ir*)));
727 file->send( curFilePath, curFile ); 727 file->send( curFilePath, curFile );
728 } 728 }
729 } 729 }
730 } 730 }
731} 731}
732 732
733void AdvancedFm::fileBeamFinished( Ir *) { 733void AdvancedFm::fileBeamFinished( Ir *) {
734 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 734 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
735} 735}
736 736
737void AdvancedFm::selectAll() { 737void AdvancedFm::selectAll() {
738 QListView *thisView = CurrentView(); 738 QListView *thisView = CurrentView();
739 thisView->selectAll(true); 739 thisView->selectAll(true);
740 thisView->setSelected( thisView->firstChild(),false); 740 thisView->setSelected( thisView->firstChild(),false);
741} 741}
742 742
743void AdvancedFm::startProcess(const QString & cmd) { 743void AdvancedFm::startProcess(const QString & cmd) {
744 QStringList command; 744 QStringList command;
745 OProcess *process; 745 OProcess *process;
746 process = new OProcess(); 746 process = new OProcess();
747 connect(process,SIGNAL(processExited(Opie::Core::OProcess*)),this,SLOT(processEnded(Opie::Core::OProcess*))); 747 connect(process,SIGNAL(processExited(Opie::Core::OProcess*)),this,SLOT(processEnded(Opie::Core::OProcess*)));
748 connect(process,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(oprocessStderr(Opie::Core::OProcess*,char*,int))); 748 connect(process,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(oprocessStderr(Opie::Core::OProcess*,char*,int)));
749 749
750 command << "/bin/sh"; 750 command << "/bin/sh";
751 command << "-c"; 751 command << "-c";
752 command << cmd.latin1(); 752 command << cmd.latin1();
753 *process << command; 753 *process << command;
754 if(!process->start(OProcess::NotifyOnExit, OProcess::All) ) 754 if(!process->start(OProcess::NotifyOnExit, OProcess::All) )
755 odebug << "could not start process" << oendl; 755 odebug << "could not start process" << oendl;
756} 756}
757 757
758void AdvancedFm::processEnded(OProcess *) { 758void AdvancedFm::processEnded(OProcess *) {
759 rePopulate(); 759 rePopulate();
760} 760}
761 761
762void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) { 762void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) {
763// owarn << "received stderrt " << buflen << " bytes" << oendl; 763// owarn << "received stderrt " << buflen << " bytes" << oendl;
764 764
765 QString lineStr = buffer; 765 QString lineStr = buffer;
766 QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") ); 766 QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") );
767} 767}
768 768
769bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) { 769bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) {
770 if ( o->inherits( "QLineEdit" ) ) { 770 if ( o->inherits( "QLineEdit" ) ) {
771 if ( e->type() == QEvent::KeyPress ) { 771 if ( e->type() == QEvent::KeyPress ) {
772 QKeyEvent *ke = (QKeyEvent*)e; 772 QKeyEvent *ke = (QKeyEvent*)e;
773 if ( ke->key() == Key_Return || 773 if ( ke->key() == Key_Return ||
774 ke->key() == Key_Enter ) { 774 ke->key() == Key_Enter ) {
775 okRename(); 775 okRename();
776 return true; 776 return true;
777 } 777 }
778 else if ( ke->key() == Key_Escape ) { 778 else if ( ke->key() == Key_Escape ) {
779 cancelRename(); 779 cancelRename();
780 return true; 780 return true;
781 } 781 }
782 } 782 }
783 else if ( e->type() == QEvent::FocusOut ) { 783 else if ( e->type() == QEvent::FocusOut ) {
784 cancelRename(); 784 cancelRename();
785 return true; 785 return true;
786 } 786 }
787 } 787 }
788 if ( o->inherits( "QListView" ) ) { 788 if ( o->inherits( "QListView" ) ) {
789 if ( e->type() == QEvent::FocusIn ) { 789 if ( e->type() == QEvent::FocusIn ) {
790 if( o == Local_View) { //keep track of which view 790 if( o == Local_View) { //keep track of which view
791 whichTab = 1; 791 whichTab = 1;
792 viewMenu->setItemChecked(viewMenu->idAt(0), true); 792 viewMenu->setItemChecked(viewMenu->idAt(0), true);
793 viewMenu->setItemChecked(viewMenu->idAt(1), false); 793 viewMenu->setItemChecked(viewMenu->idAt(1), false);
794 } else { 794 } else {
795 whichTab = 2; 795 whichTab = 2;
796 viewMenu->setItemChecked(viewMenu->idAt(0), false); 796 viewMenu->setItemChecked(viewMenu->idAt(0), false);
797 viewMenu->setItemChecked(viewMenu->idAt(1), true); 797 viewMenu->setItemChecked(viewMenu->idAt(1), true);
798 } 798 }
799 } 799 }
800 OtherView()->setSelected( OtherView()->currentItem(), FALSE );//make sure there's correct selection 800 OtherView()->setSelected( OtherView()->currentItem(), FALSE );//make sure there's correct selection
801 } 801 }
802 802
803 return QWidget::eventFilter( o, e ); 803 return QWidget::eventFilter( o, e );
804} 804}
805 805
806 806
807void AdvancedFm::cancelRename() { 807void AdvancedFm::cancelRename() {
808// odebug << "cancel rename" << oendl; 808// odebug << "cancel rename" << oendl;
809 QListView * view; 809 QListView * view;
810 view = CurrentView(); 810 view = CurrentView();
811 811
812 bool resetFocus = view->viewport()->focusProxy() == renameBox; 812 bool resetFocus = view->viewport()->focusProxy() == renameBox;
813 delete renameBox; 813 delete renameBox;
814 renameBox = 0; 814 renameBox = 0;
815 if ( resetFocus ) { 815 if ( resetFocus ) {
816 view->viewport()->setFocusProxy( view); 816 view->viewport()->setFocusProxy( view);
817 view->setFocus(); 817 view->setFocus();
818 } 818 }
819} 819}
820 820
821void AdvancedFm::doRename(QListView * view) { 821void AdvancedFm::doRename(QListView * view) {
822 if( !CurrentView()->currentItem()) return; 822 if( !CurrentView()->currentItem()) return;
823 823
824 QRect r = view->itemRect( view->currentItem( )); 824 QRect r = view->itemRect( view->currentItem( ));
825 r = QRect( view->viewportToContents( r.topLeft() ), r.size() ); 825 r = QRect( view->viewportToContents( r.topLeft() ), r.size() );
826 r.setX( view->contentsX() ); 826 r.setX( view->contentsX() );
827 if ( r.width() > view->visibleWidth() ) 827 if ( r.width() > view->visibleWidth() )
828 r.setWidth( view->visibleWidth() ); 828 r.setWidth( view->visibleWidth() );
829 829
830 renameBox = new QLineEdit( view->viewport(), "qt_renamebox" ); 830 renameBox = new QLineEdit( view->viewport(), "qt_renamebox" );
831 renameBox->setFrame(true); 831 renameBox->setFrame(true);
832 renameBox->setText( view->currentItem()->text(0) ); 832 renameBox->setText( view->currentItem()->text(0) );
833 renameBox->selectAll(); 833 renameBox->selectAll();
834 renameBox->installEventFilter( this ); 834 renameBox->installEventFilter( this );
835 view->addChild( renameBox, r.x(), r.y() ); 835 view->addChild( renameBox, r.x(), r.y() );
836 renameBox->resize( r.size() ); 836 renameBox->resize( r.size() );
837 view->viewport()->setFocusProxy( renameBox ); 837 view->viewport()->setFocusProxy( renameBox );
838 renameBox->setFocus(); 838 renameBox->setFocus();
839 renameBox->show(); 839 renameBox->show();
840} 840}
841 841
842 842
843void AdvancedFm::renameIt() { 843void AdvancedFm::renameIt() {
844 if( !CurrentView()->currentItem()) return; 844 if( !CurrentView()->currentItem()) return;
845 845
846 QListView *thisView = CurrentView(); 846 QListView *thisView = CurrentView();
847 oldName = thisView->currentItem()->text(0); 847 oldName = thisView->currentItem()->text(0);
848 doRename( thisView ); 848 doRename( thisView );
849} 849}
850 850
851void AdvancedFm::okRename() { 851void AdvancedFm::okRename() {
852 qDebug("okrename"); 852 qDebug("okrename");
853 if( !renameBox) return; 853 if( !renameBox) return;
854 854
855 QString newName = renameBox->text(); 855 QString newName = renameBox->text();
856 cancelRename(); 856 cancelRename();
857 QListView * view = CurrentView(); 857 QListView * view = CurrentView();
858 QString path = CurrentDir()->canonicalPath() + "/"; 858 QString path = CurrentDir()->canonicalPath() + "/";
859 oldName = path + oldName; 859 oldName = path + oldName;
860 newName = path + newName; 860 newName = path + newName;
861 if( rename( oldName.latin1(), newName.latin1())== -1) 861 if( rename( oldName.latin1(), newName.latin1())== -1)
862 QMessageBox::message(tr("Note"),tr("Could not rename")); 862 QMessageBox::message(tr("Note"),tr("Could not rename"));
863 else 863 else
864 oldName = ""; 864 oldName = "";
865 QListViewItem *item = view->currentItem(); 865 QListViewItem *item = view->currentItem();
866 view->takeItem( item ); 866 view->takeItem( item );
867 delete item; 867 delete item;
868 rePopulate(); 868 populateView();
869
869} 870}
870 871
871void AdvancedFm::openSearch() { 872void AdvancedFm::openSearch() {
872 QMessageBox::message(tr("Note"),tr("Not Yet Implemented")); 873 QMessageBox::message(tr("Note"),tr("Not Yet Implemented"));
873} 874}