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
@@ -296,176 +296,144 @@ void AdvancedFm::fillCombo(const QString &currentPath) {
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);
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
@@ -804,70 +804,71 @@ bool AdvancedFm::eventFilter( QObject * o, QEvent * 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}