-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 133 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.pro | 2 |
2 files changed, 82 insertions, 53 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index a000e9b..ebd7fc3 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -12,16 +12,20 @@ #define DEVELOPERS_VERSION #define QTOPIA_INTERNAL_FSLP // to get access to fileproperties #include "advancedfm.h" #include "inputDialog.h" #include "filePermissions.h" #include "output.h" +#include <opie/ofileselector.h> +#include <opie/ofiledialog.h> + + #include <qpe/lnkproperties.h> #include <qpe/filemanager.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/qpemenubar.h> #include <qpe/qpetoolbar.h> #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> @@ -84,17 +88,17 @@ AdvancedFm::AdvancedFm( ) fileMenu = new QPopupMenu( this ); viewMenu = new QPopupMenu( this ); layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 ); menuBar->insertItem( tr( "File" ), fileMenu); menuBar->insertItem( tr( "View" ), viewMenu); - qpeDirButton= new QPushButton(Resource::loadIconSet("go"),"",this,"QPEButton"); + qpeDirButton= new QPushButton(Resource::loadIconSet("launcher/opielogo16x16"),"",this,"QPEButton"); qpeDirButton ->setFixedSize( QSize( 20, 20 ) ); connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) ); qpeDirButton->setFlat(TRUE); layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2); cfButton = new QPushButton(Resource::loadIconSet("cardmon/pcmcia"),"",this,"CFButton"); cfButton ->setFixedSize( QSize( 20, 20 ) ); connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) ); @@ -186,16 +190,17 @@ AdvancedFm::AdvancedFm( ) 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); tabLayout_2->setMargin( 2); @@ -211,51 +216,65 @@ AdvancedFm::AdvancedFm( ) Remote_View->setSelectionMode(QListView::Extended); 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() ) ); +// 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 *)), this,SLOT(tabChanged(QWidget*))); -// tab_3 = new QWidget( TabWidget, "tab_3" ); -// tabLayout_3 = new QGridLayout( tab_3 ); -// tabLayout_3->setSpacing( 2); -// tabLayout_3->setMargin( 2); + tab_3 = new QWidget( TabWidget, "tab_3" ); + tabLayout_3 = new QGridLayout( tab_3 ); + tabLayout_3->setSpacing( 2); + tabLayout_3->setMargin( 2); + + +// OFileDialog fileDialog; +// fileDialog; +// fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy +// fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow"); +// OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/"); + +QListView *fileTree; + fileTree = new QListView( tab_3, "tree" ); -// OFileSelector *fileSelector; -// fileSelector = new OFileSelector(tab_3,0,0,"/","","*"); -// tabLayout_3->addMultiCellWidget( fileSelector, 0, 0, 0, 3 ); -// TabWidget->insertTab( tab_3, tr( "Files" ) ); + tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 ); + + TabWidget->insertTab( tab_3, tr( "Remote" ) ); +/////////////// + +//////////////////// + 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; filterStr="*"; b=FALSE; connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) ); populateLocalView(); populateRemoteView(); + currentPathCombo->setFocus(); } AdvancedFm::~AdvancedFm() { } void AdvancedFm::cleanUp() { @@ -542,19 +561,19 @@ void AdvancedFm::localListClicked(QListViewItem *selectedItem) } if(QDir(strItem).exists()){ currentDir.cd(strItem, TRUE); populateLocalView(); } } else { strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); if( QFile::exists(strItem ) ) { - qDebug("clicked item "+strItem); - DocLnk doc( strItem, FALSE ); - doc.execute(); +// qDebug("clicked item "+strItem); +// DocLnk doc( strItem, FALSE ); +// doc.execute(); // Local_View->clearSelection(); } } //end not symlink chdir(strItem.latin1()); } } } @@ -583,19 +602,19 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) } if(QDir(strItem).exists()){ currentRemoteDir.cd(strItem, TRUE); populateRemoteView(); } } else { strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); if( QFile::exists(strItem ) ) { - qDebug("clicked item "+strItem); - DocLnk doc( strItem, FALSE ); - doc.execute(); +// qDebug("clicked item "+strItem); +// DocLnk doc( strItem, FALSE ); +// doc.execute(); // Remote_View->clearSelection(); } } //end not symlink chdir(strItem.latin1()); } } } @@ -643,33 +662,36 @@ void AdvancedFm::showRemoteHidden() // currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); b=FALSE; } populateRemoteView(); } void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) { +qDebug("list pressed"); switch (mouse) { case 1: break; case 2: - menuTimer.start( 500, TRUE ); + menuTimer.start( 750, TRUE ); + qDebug("Start menu timer\n"); break; }; } void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) { switch (mouse) { case 1: break; case 2: - menuTimer.start( 500, TRUE ); + menuTimer.start( 750, TRUE ); + qDebug("Start menu timer"); break; }; } void AdvancedFm::runThis() { // QFileInfo *fi; QString fs; if (TabWidget->currentPageIndex() == 0) { @@ -1456,16 +1478,17 @@ void AdvancedFm::doAbout() { QMessageBox::message("AdvancedFm","Advanced FileManager\n" "is copyright 2002 by\n" "L.J.Potter<llornkcor@handhelds.org>\n" "and is licensed by the GPL"); } void AdvancedFm::keyReleaseEvent( QKeyEvent *e) { + if( TabWidget->hasFocus()) switch ( e->key() ) { case Key_Delete: del(); break; case Key_H: showHidden(); break; case Key_E: @@ -1663,91 +1686,97 @@ 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(); +// QPopupMenu m; + QPopupMenu *m = new QPopupMenu(0); + + m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); + m->insertSeparator(); if ( QFileInfo(fi).isDir() ) { - m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); + m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); } else { if ( app ) - m.insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) ); + m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) ); else if( QFileInfo(fi).isExecutable() ) - m.insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); + m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); - m.insertItem( /*Resource::loadPixmap( "txt" ),*/ tr( "Open as text" ),this, SLOT( runText() ) ); + m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) ); } - m.insertSeparator(); + m->insertSeparator(); if(isLocalView) - m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); + m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); else - m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); + m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); - m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); - m.insertSeparator(); + m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); + m->insertSeparator(); if(isLocalView) - m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); + m->insertItem( tr( "Rename" ), this, SLOT( localRename() )); else - m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); + 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( "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() )); + m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() )); else - m.insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() )); + 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( "Run Command" ), this, SLOT( runCommand() )); + m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); + m->insertSeparator(); if(isLocalView) - m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); + m->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); else - m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); + m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); - m.insertSeparator(); - m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); + 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); + m->insertItem( tr( "Properties" ), this, SLOT( doProperties() )); + m->setCheckable(TRUE); if (!b) - m.setItemChecked(m.idAt(0),TRUE); + m->setItemChecked(m->idAt(0),TRUE); else - m.setItemChecked(m.idAt(0),FALSE); + m->setItemChecked(m->idAt(0),FALSE); if(Ir::supported()) - m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); - m.exec( QCursor::pos() ); + m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); + m->setFocus(); + m->exec( QCursor::pos() ); + if(m) delete m; } void AdvancedFm::cancelMenuTimer() { -qDebug("cancel menu timer"); + + qDebug("selectionChanged: cancel menu timer"); if( menuTimer.isActive() ) menuTimer.stop(); } diff --git a/noncore/apps/advancedfm/advancedfm.pro b/noncore/apps/advancedfm/advancedfm.pro index 25fb782..299f870 100644 --- a/noncore/apps/advancedfm/advancedfm.pro +++ b/noncore/apps/advancedfm/advancedfm.pro @@ -2,10 +2,10 @@ TEMPLATE = app CONFIG += qt warn_on release HEADERS = advancedfm.h inputDialog.h filePermissions.h output.h SOURCES = advancedfm.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp TARGET = advancedfm REQUIRES=medium-config INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include DESTDIR = $(OPIEDIR)/bin -LIBS += -lqpe +LIBS += -lqpe -lopie |