-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 25 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.h | 2 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfmData.cpp | 15 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 13 |
4 files changed, 51 insertions, 4 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index 6b7fa1f..60558e7 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -897,16 +897,39 @@ void AdvancedFm::qcopReceive(const QCString &msg, const QByteArray &data) { gotoDirectory( file); } void AdvancedFm::gotoDirectory(const QString &file) { QString curDir = file; QDir *thisDir = CurrentDir(); - if(QDir( curDir).exists() ) { thisDir->setPath( curDir ); chdir( curDir.latin1() ); thisDir->cd( curDir, TRUE); populateView(); } + else if(QFileInfo(curDir).exists()) { + QFileInfo fileInfo(curDir); + curDir=fileInfo.dirPath(); + if(QDir( curDir).exists() ) { + thisDir->setPath( curDir ); + chdir( curDir.latin1() ); + thisDir->cd( curDir, TRUE); + populateView(); + } + findFile(file); + } + +} + +void AdvancedFm::findFile(const QString &fileName) { + QFileInfo fi(fileName); + QListView *thisView = CurrentView(); + QListViewItemIterator it( thisView ); + for ( ; it.current(); ++it ) { + if(it.current()->text(0) == fi.fileName()) { + it.current()->setSelected(true); + thisView->ensureItemVisible(it.current()); + } + } } diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h index c9a5525..94d7bd7 100644 --- a/noncore/apps/advancedfm/advancedfm.h +++ b/noncore/apps/advancedfm/advancedfm.h @@ -160,16 +160,18 @@ private: bool eventFilter( QObject * , QEvent * ); void cancelRename(); void doRename(QListView *); void okRename(); void customDirsToMenu(); void addCustomDir(); void removeCustomDir(); void gotoDirectory(const QString &); + void openSearch(); + void findFile(const QString &); private slots: void processEnded(OProcess *); void oprocessStderr(OProcess *, char *, int); void gotoCustomDir(const QString &); void qcopReceive(const QCString&, const QByteArray&); void setDocument(const QString &); diff --git a/noncore/apps/advancedfm/advancedfmData.cpp b/noncore/apps/advancedfm/advancedfmData.cpp index d0de442..a120f35 100644 --- a/noncore/apps/advancedfm/advancedfmData.cpp +++ b/noncore/apps/advancedfm/advancedfmData.cpp @@ -7,16 +7,18 @@ * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #include "advancedfm.h" #include <opie/otabwidget.h> +#include <qpe/storage.h> + #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/menubutton.h> #include <qlayout.h> #include <qhbox.h> #include <qmenubar.h> #include <qcombobox.h> @@ -78,16 +80,18 @@ void AdvancedFm::init() { homeButton = new QToolButton( 0, "homeButton"); homeButton->setPixmap(Resource::loadPixmap("home")); homeButton->setAutoRaise( true ); menuBar->insertItem( homeButton ); fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() )); fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); fileMenu->insertSeparator(); + fileMenu->insertItem( tr( "File Search" ), this, SLOT( openSearch() )); + fileMenu->insertSeparator(); fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() )); fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() )); fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() )); fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() )); fileMenu->insertSeparator(); fileMenu->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); fileMenu->insertItem( tr( "Select All" ), this, SLOT( selectAll() )); fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() )); @@ -193,27 +197,35 @@ void AdvancedFm::init() { tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 ); TabWidget->insertTab( tab_3, tr( "Remote" ) ); */ /////////////// + struct utsname name; /* check for embedix kernel running on the zaurus*/ if (uname(&name) != -1) { QString release=name.release; if(release.find("embedix",0,TRUE) !=-1) { zaurusDevice=TRUE; } else { zaurusDevice=FALSE; - sdButton->hide(); } } + if( !StorageInfo::hasSd() || !StorageInfo::hasMmc()) { + qDebug("not have sd"); + sdButton->hide(); + } + if( !StorageInfo::hasCf() ) { + qDebug("not have cf"); + cfButton->hide(); + } currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); currentDir.setPath( QDir::currentDirPath()); currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); currentRemoteDir.setPath( QDir::currentDirPath()); b = TRUE; @@ -243,16 +255,17 @@ void AdvancedFm::initConnections() connect( currentPathCombo, SIGNAL( activated( const QString & ) ), this, SLOT( currentPathComboActivated( const QString & ) ) ); connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()), this,SLOT(currentPathComboChanged())); connect( Local_View, SIGNAL( clicked( QListViewItem*)), this,SLOT( ListClicked(QListViewItem *)) ); + connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); connect( Remote_View, SIGNAL( clicked( QListViewItem*)), this,SLOT( ListClicked(QListViewItem *)) ); connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index 575833a..2201960 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp @@ -198,17 +198,17 @@ void AdvancedFm::doDelete() myFile = (*it); if( myFile.find(" -> ",0,TRUE) != -1) myFile = myFile.left( myFile.find(" -> ",0,TRUE)); QString f = CurrentDir()->canonicalPath(); if(f.right(1).find("/",0,TRUE) == -1) f += "/"; f += myFile; - if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) + if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) //if file is a directory { switch ( QMessageBox::warning( this, tr("Delete Directory?"), tr("Really delete\n") + f + "\nand all it's contents ?" ,tr("Yes"),tr("No"),0,0,1) ) { case 0: { f=f.left(f.length()-1); @@ -228,21 +228,26 @@ void AdvancedFm::doDelete() +" ?",tr("Yes"),tr("No"),0,0,1) ) { case 1: return; break; }; } QString cmd="rm "+f; QFile file(f); - if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1) + if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1) { + qDebug("remove link files "+f); +// AppLnk lnk(f); +// qDebug(lnk.linkFile()); +// lnk.removeLinkFile(); file.remove(); } } } + } populateView(); } void AdvancedFm::filePerms() { QStringList curFileList = getPath(); QString filePath; @@ -880,8 +885,12 @@ void AdvancedFm::okRename() QMessageBox::message(tr("Note"),tr("Could not rename")); else oldName = ""; view->takeItem( view->currentItem() ); delete view->currentItem(); populateView(); } + +void AdvancedFm::openSearch() { + +} |