summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp245
-rw-r--r--noncore/apps/advancedfm/advancedfm.h16
2 files changed, 155 insertions, 106 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index f32031b..869a433 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -68,12 +68,13 @@
#include <errno.h>
AdvancedFm::AdvancedFm( )
: QMainWindow( )
{
setCaption( tr( "AdvancedFm" ) );
+// menuTimer( this );
QGridLayout *layout = new QGridLayout( this );
layout->setSpacing( 2);
layout->setMargin( 2);
connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
@@ -141,14 +142,31 @@ AdvancedFm::AdvancedFm( )
viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
viewMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
viewMenu->insertSeparator();
viewMenu->insertItem( tr( "About" ), this, SLOT( doAbout() ));
viewMenu->setCheckable(TRUE);
+
+ currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
+ currentPathCombo->setEditable(TRUE);
+ layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
+ currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
+
+ connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
+ this, SLOT( currentPathComboActivated( const QString & ) ) );
+
+ connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
+ this,SLOT(currentPathComboChanged()));
+
+ currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
+
+ layout->addMultiCellWidget( currentPathCombo, 1, 1, 0, 7);
+
+
TabWidget = new QTabWidget( this, "TabWidget" );
- layout->addMultiCellWidget( TabWidget, 1, 1, 0, 7);
+ layout->addMultiCellWidget( TabWidget, 2, 2, 0, 7);
tab = new QWidget( TabWidget, "tab" );
tabLayout = new QGridLayout( tab );
tabLayout->setSpacing( 2);
tabLayout->setMargin( 2);
@@ -162,18 +180,21 @@ AdvancedFm::AdvancedFm( )
Local_View->setAllColumnsShowFocus(TRUE);
Local_View->setMultiSelection( TRUE );
Local_View->setSelectionMode(QListView::Extended);
QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold);
+
+
tabLayout->addWidget( Local_View, 0, 0 );
connect( Local_View, SIGNAL( clicked( QListViewItem*)),
this,SLOT( localListClicked(QListViewItem *)) );
connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) );
+ connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
TabWidget->insertTab( tab, tr("1"));
tab_2 = new QWidget( TabWidget, "tab_2" );
tabLayout_2 = new QGridLayout( tab_2 );
tabLayout_2->setSpacing( 2);
@@ -192,12 +213,13 @@ AdvancedFm::AdvancedFm( )
QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
this,SLOT( remoteListClicked(QListViewItem *)) );
connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) );
+ connect( Remote_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
tabLayout_2->addWidget( Remote_View, 0, 0 );
TabWidget->insertTab( tab_2, tr( "2"));
connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
@@ -218,29 +240,18 @@ AdvancedFm::AdvancedFm( )
currentDir.setPath( QDir::currentDirPath());
currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
currentRemoteDir.setPath( QDir::currentDirPath());
b = TRUE;
- currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
- currentPathCombo->setEditable(TRUE);
- layout->addMultiCellWidget( currentPathCombo, 3, 3, 0, 7);
- currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
-
- connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
- this, SLOT( currentPathComboActivated( const QString & ) ) );
-
- connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
- this,SLOT(currentPathComboChanged()));
-
- currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
-
- layout->addMultiCellWidget( currentPathCombo, 3, 3, 0, 7);
filterStr="*";
b=FALSE;
+
+ connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
+
populateLocalView();
populateRemoteView();
}
AdvancedFm::~AdvancedFm()
{
@@ -638,113 +649,35 @@ void AdvancedFm::showRemoteHidden()
void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
{
switch (mouse) {
case 1:
break;
case 2:
- showLocalMenu(item);
- Local_View->clearSelection();
+ menuTimer.start( 500, TRUE );
break;
};
}
void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
{
+
switch (mouse) {
case 1:
break;
case 2:
- showRemoteMenu(item);
- Remote_View->clearSelection();
+ menuTimer.start( 500, TRUE );
break;
};
}
-void AdvancedFm::showLocalMenu(QListViewItem * item)
-{
- if(item) {
- QPopupMenu m;
- m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
- m.insertSeparator();
- if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) !=-1)
- m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
- else
- m.insertItem( tr( "Open / Execute" ), this, SLOT( runThis() ));
- m.insertItem( tr( "Open as Text" ), this, SLOT( runText() ));
- m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
- m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
- m.insertSeparator();
- m.insertItem( tr( "Rename" ), this, SLOT( localRename() ));
- m.insertItem( tr( "Copy" ), this, SLOT( copy() ));
- m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
- m.insertItem( tr( "Move" ), this, SLOT( move() ));
- m.insertSeparator();
- m.insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() ));
- m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
- m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
- m.insertSeparator();
- m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
- m.insertSeparator();
- m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
- if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
- m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
- m.setCheckable(TRUE);
- if (!b)
- m.setItemChecked(m.idAt(0),TRUE);
- else
- m.setItemChecked(m.idAt(0),FALSE);
- if(Ir::supported())
- m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
- m.exec( QCursor::pos() );
- }
-}
-
-void AdvancedFm::showRemoteMenu(QListViewItem * item)
-{
- if(item) {
- QPopupMenu m;
- m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showRemoteHidden() ));
- m.insertSeparator();
- if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) !=-1)
- m.insertItem( tr( "Change Directory" ), this, SLOT( doRemoteCd() ));
- else
- m.insertItem( tr( "Open / Execute" ), this, SLOT( runThis() ));
- m.insertItem( tr( "Open as Text" ), this, SLOT( runText() ));
- m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
- m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
- m.insertSeparator();
- m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
- m.insertItem( tr( "Copy" ), this, SLOT( copy() ));
- m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
- m.insertItem( tr( "Move" ), this, SLOT( move() ));
- m.insertSeparator();
- m.insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
- m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
- m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
- m.insertSeparator();
- m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
- m.insertSeparator();
- m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
- if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
- m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
- m.setCheckable(TRUE);
- if (!b)
- m.setItemChecked(m.idAt(0),TRUE);
- else
- m.setItemChecked(m.idAt(0),FALSE);
- if(Ir::supported())
- m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
- m.exec( QCursor::pos() );
- }
-}
-
void AdvancedFm::runThis() {
// QFileInfo *fi;
QString fs;
if (TabWidget->currentPageIndex() == 0) {
QString curFile = Local_View->currentItem()->text(0);
+ if(curFile != "../") {
fs= getFileSystemType((const QString &) currentDir.canonicalPath());
QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile);
qDebug( fileInfo.owner());
if( (fileInfo.permission( QFileInfo::ExeUser)
| fileInfo.permission( QFileInfo::ExeGroup)
@@ -760,15 +693,18 @@ QString fs;
qDebug( execStr);
if( execStr.isEmpty() ) {
} else {
nf.execute();
}
}
+ }
// MimeType mt( curFile);
} else {
QString curFile = Remote_View->currentItem()->text(0);
+ if(curFile != "../") {
+
fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
qDebug("Filesystemtype is "+fs);
QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile);
if( (fileInfo.permission( QFileInfo::ExeUser)
| fileInfo.permission( QFileInfo::ExeGroup)
| fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) {
@@ -782,30 +718,35 @@ QString fs;
qDebug(execStr);
if( execStr.isEmpty() ) {
} else {
nf.execute();
}
}
+ }
// MimeType mt( curFile);
}
}
void AdvancedFm::runText() {
if (TabWidget->currentPageIndex() == 0) {
QString curFile = Local_View->currentItem()->text(0);
+ if(curFile != "../") {
curFile = currentDir.canonicalPath()+"/"+curFile;
QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
e << curFile;
+ }
} else {
QString curFile = Remote_View->currentItem()->text(0);
+ if(curFile != "../") {
curFile = currentRemoteDir.canonicalPath()+"/"+curFile;
DocLnk nf(curFile);
QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
e << curFile;
}
}
+}
void AdvancedFm::localMakDir()
{
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
fileDlg->exec();
@@ -828,12 +769,13 @@ void AdvancedFm::remoteMakDir()
populateRemoteView();
}
void AdvancedFm::localDelete()
{
QStringList curFileList = getPath();
+ if(curFileList.count() > 0) {
QString myFile;
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
myFile = (*it);
if( myFile.find(" -> ",0,TRUE) != -1)
myFile = myFile.left( myFile.find(" -> ",0,TRUE));
@@ -872,16 +814,18 @@ void AdvancedFm::localDelete()
// exit
break;
};
}
}
}
+}
void AdvancedFm::remoteDelete()
{
QStringList curFileList = getPath();
+ if( curFileList.count() > 0) {
QString myFile;
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
myFile = (*it);
if(myFile.find(" -> ",0,TRUE) != -1)
myFile = myFile.left(myFile.find(" -> ",0,TRUE));
@@ -920,44 +864,50 @@ void AdvancedFm::remoteDelete()
// exit
break;
};
}
}
}
+}
void AdvancedFm::localRename()
{
QString curFile = Local_View->currentItem()->text(0);
+ qDebug("currentItem "+curFile);
+ if( curFile !="../") {
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
fileDlg->setInputText((const QString &)curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString oldname = currentDir.canonicalPath() + "/" + curFile;
QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
if( rename(oldname.latin1(), newName.latin1())== -1)
QMessageBox::message(tr("Note"),tr("Could not rename"));
}
populateLocalView();
}
+}
void AdvancedFm::remoteRename()
{
- QString curFile = Local_View->currentItem()->text(0);
+ QString curFile = Remote_View->currentItem()->text(0);
+ if( curFile !="../") {
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
fileDlg->setInputText((const QString &)curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString oldname = currentRemoteDir.canonicalPath() + "/" + curFile;
QString newName = currentRemoteDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
if( rename(oldname.latin1(), newName.latin1())== -1)
QMessageBox::message(tr("Note"),tr("Could not rename"));
}
populateRemoteView();
}
+}
void AdvancedFm::switchToLocalTab()
{
TabWidget->setCurrentPage(0);
Local_View->setFocus();
}
@@ -1052,21 +1002,18 @@ void AdvancedFm::filePerms() {
}
if (TabWidget->currentPageIndex() == 0) {
populateLocalView();
} else {
populateRemoteView();
}
-
-
}
void AdvancedFm::doProperties() {
QStringList curFileList = getPath();
QString filePath;
if (TabWidget->currentPageIndex() == 0) {
-
filePath = currentDir.canonicalPath()+"/";
} else {
filePath= currentRemoteDir.canonicalPath()+"/";
}
// qDebug("%d",curFileList.count());
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
@@ -1181,12 +1128,13 @@ void AdvancedFm::upDir()
}
}
void AdvancedFm::copy()
{
QStringList curFileList = getPath();
+ if( curFileList.count() > 0) {
QString curFile;
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
QString destFile = currentRemoteDir.canonicalPath()+"/"+(*it);
// if(destFile.right(1).find("/",0,TRUE) == -1)
@@ -1225,16 +1173,18 @@ void AdvancedFm::copy()
}
}
populateLocalView();
TabWidget->setCurrentPage(0);
}
}
+}
void AdvancedFm::copyAs()
{
QStringList curFileList = getPath();
+ if( curFileList.count() > 0) {
QString curFile;
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Copy As"),TRUE, 0);
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
@@ -1283,16 +1233,18 @@ void AdvancedFm::copyAs()
}
populateLocalView();
TabWidget->setCurrentPage(0);
}
}
}
+}
void AdvancedFm::move() {
QStringList curFileList = getPath();
+ if( curFileList.count() > 0) {
QString curFile;
// qDebug(curFile);
QString destFile;
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
@@ -1339,12 +1291,13 @@ void AdvancedFm::move() {
TabWidget->setCurrentPage(0);
}
}
populateRemoteView();
populateLocalView();
}
+ }
bool AdvancedFm::copyFile( const QString & dest, const QString & src )
{
char bf[ 50000 ];
int bytesRead;
bool success = TRUE;
@@ -1571,12 +1524,13 @@ void AdvancedFm::keyReleaseEvent( QKeyEvent *e)
}
}
void AdvancedFm::mkSym() {
QString cmd;
QStringList curFileList = getPath();
+ if( curFileList.count() > 0) {
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
QString destName = currentRemoteDir.canonicalPath()+"/"+(*it);
if(destName.right(1) == "/") destName = destName.left( destName.length() -1);
@@ -1601,12 +1555,13 @@ void AdvancedFm::mkSym() {
system(cmd.latin1() );
}
populateLocalView();
TabWidget->setCurrentPage(0);
}
}
+}
void AdvancedFm::QPEButtonPushed() {
QString current = QPEApplication::qpeDir();
chdir( current.latin1() );
if (TabWidget->currentPageIndex() == 0) {
currentDir.cd( current, TRUE);
@@ -1665,12 +1620,13 @@ QString AdvancedFm::getFileSystemType(const QString &currentText) {
void AdvancedFm::doBeam() {
Ir ir;
if(!ir.supported()){
} else {
QStringList curFileList = getPath();
+ if( curFileList.count() > 0) {
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
QString curFile = currentDir.canonicalPath()+"/"+(*it);
if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
@@ -1690,12 +1646,14 @@ void AdvancedFm::doBeam() {
}
}
}
}
+}
+
void AdvancedFm::fileBeamFinished( Ir *ir) {
QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
}
@@ -1705,6 +1663,91 @@ void AdvancedFm::fileBeamFinished( Ir *ir) {
// if ( it.current()->isSelected() ) {
// QString strItem = it.current()->text(0);
// QString localFile = currentDir.canonicalPath()+"/"+strItem;
// QFileInfo fi(localFile);
// }
// }
+
+void AdvancedFm::showFileMenu() {
+ QString curApp;
+ bool isLocalView = false;
+ if (TabWidget->currentPageIndex() == 0) {
+ isLocalView = TRUE;
+ curApp = Local_View->currentItem()->text(0);
+ } else {
+ curApp = Remote_View->currentItem()->text(0);
+ }
+
+ MimeType mt( curApp );
+ const AppLnk* app = mt.application();
+ QFile fi(curApp);
+
+ QPopupMenu m;
+ m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
+ m.insertSeparator();
+ if ( QFileInfo(fi).isDir() ) {
+ m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
+ } else {
+
+ if ( app )
+ m.insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( run() ) );
+ else if( QFileInfo(fi).isExecutable() )
+ m.insertItem( tr( "Execute" ), this, SLOT( run() ) );
+
+ m.insertItem( /*Resource::loadPixmap( "txt" ),*/ tr( "Open as text" ),this, SLOT( runText() ) );
+ }
+ m.insertSeparator();
+
+
+ if(isLocalView)
+ m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
+ else
+ m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
+
+ m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
+ m.insertSeparator();
+
+ if(isLocalView)
+ m.insertItem( tr( "Rename" ), this, SLOT( localRename() ));
+ else
+ m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
+
+ m.insertItem( tr( "Copy" ), this, SLOT( copy() ));
+ m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
+ m.insertItem( tr( "Move" ), this, SLOT( move() ));
+ m.insertSeparator();
+
+ if(isLocalView)
+ m.insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() ));
+ else
+ m.insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
+
+ m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
+ m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
+ m.insertSeparator();
+
+ if(isLocalView)
+ m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
+ else
+ m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
+
+ m.insertSeparator();
+ m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
+ if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
+ m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
+ m.setCheckable(TRUE);
+ if (!b)
+ m.setItemChecked(m.idAt(0),TRUE);
+ else
+ m.setItemChecked(m.idAt(0),FALSE);
+ if(Ir::supported())
+ m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
+ m.exec( QCursor::pos() );
+}
+
+
+void AdvancedFm::cancelMenuTimer()
+{
+qDebug("cancel menu timer");
+ if( menuTimer.isActive() )
+ menuTimer.stop();
+}
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 5817fca..0cf94c6 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -9,20 +9,22 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef ADVANCEDFM_H
#define ADVANCEDFM_H
+#include <qpe/ir.h>
+
#include <qvariant.h>
#include <qdialog.h>
#include <qmainwindow.h>
+#include <qstringlist.h>
#include <qdir.h>
#include <qstring.h>
#include <qpoint.h>
-#include <qstringlist.h>
-#include <qpe/ir.h>
+#include <qtimer.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QComboBox;
class QListView;
@@ -36,12 +38,13 @@ class QPEToolBar;
class QPEMenuBar;
class QPopupMenu;
class QFile;
class QListViewItem;
class QLineEdit;
class QPushButton;
+class Ir;
class AdvancedFm : public QMainWindow
{
Q_OBJECT
public:
AdvancedFm();
@@ -59,14 +62,12 @@ public:
QString filterStr;
QListViewItem * item;
bool b;
QStringList fileSystemTypeList, fsList;
int currentServerConfig;
protected slots:
- void showLocalMenu( QListViewItem *);
- void showRemoteMenu( QListViewItem *);
void doLocalCd();
void doRemoteCd();
// void copy();
void mkDir();
void del();
void rn();
@@ -101,17 +102,20 @@ protected slots:
void switchToLocalTab();
void switchToRemoteTab();
protected:
QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3;
QStringList remoteDirPathStringList, localDirPathStringList;
+
void keyReleaseEvent( QKeyEvent *);
QString getFileSystemType(const QString &);
void parsetab(const QString &fileName);
protected slots:
+ void showFileMenu();
+ void cancelMenuTimer();
void homeButtonPushed();
void docButtonPushed();
void SDButtonPushed();
void CFButtonPushed();
void QPEButtonPushed();
void upDir();
@@ -122,10 +126,12 @@ protected slots:
void fillCombo(const QString &);
bool copyFile( const QString & , const QString & );
void move();
void fileStatus();
void doAbout();
void doBeam();
- void fileBeamFinished( Ir *ir);
+ void fileBeamFinished( Ir *);
+private:
+ QTimer menuTimer;
};
#endif // ADVANCEDFM_H