summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp27
-rw-r--r--noncore/apps/advancedfm/advancedfm.h2
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp15
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp17
4 files changed, 54 insertions, 7 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
@@ -899,14 +899,37 @@ void AdvancedFm::qcopReceive(const QCString &msg, const QByteArray &data) {
}
void AdvancedFm::gotoDirectory(const QString &file) {
QString curDir = file;
QDir *thisDir = CurrentDir();
-
- if(QDir( curDir).exists() ) {
+ 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
@@ -162,12 +162,14 @@ private:
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&);
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
@@ -9,12 +9,14 @@
* 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>
@@ -80,12 +82,14 @@ void AdvancedFm::init() {
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() ));
@@ -195,23 +199,31 @@ void AdvancedFm::init() {
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());
@@ -245,12 +257,13 @@ void AdvancedFm::initConnections()
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*)),
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
@@ -1,12 +1,12 @@
/***************************************************************************
AdvancedFm.cpp
-------------------
** Created: Sat Mar 9 23:33:09 2002
copyright : (C) 2002 by ljp
- email : ljp@llornkcor.com
+ email : ljp@llornkcor.com
* 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"
@@ -200,13 +200,13 @@ void AdvancedFm::doDelete()
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:
@@ -230,14 +230,19 @@ void AdvancedFm::doDelete()
return;
break;
};
}
QString cmd="rm "+f;
QFile file(f);
- if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1)
- file.remove();
+ if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1) {
+ qDebug("remove link files "+f);
+// AppLnk lnk(f);
+// qDebug(lnk.linkFile());
+// lnk.removeLinkFile();
+ file.remove();
+ }
}
}
}
populateView();
}
@@ -882,6 +887,10 @@ void AdvancedFm::okRename()
oldName = "";
view->takeItem( view->currentItem() );
delete view->currentItem();
populateView();
}
+
+void AdvancedFm::openSearch() {
+
+}