author | llornkcor <llornkcor> | 2003-05-12 14:03:37 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-05-12 14:03:37 (UTC) |
commit | 3c19dcc0e905d3142acc9c1ab0ce8349740afe76 (patch) (side-by-side diff) | |
tree | 2fe7fd08d98045e85bd398c19aa835678a005f6d | |
parent | 9659016253efa1e81b782e6fd787225522602428 (diff) | |
download | opie-3c19dcc0e905d3142acc9c1ab0ce8349740afe76.zip opie-3c19dcc0e905d3142acc9c1ab0ce8349740afe76.tar.gz opie-3c19dcc0e905d3142acc9c1ab0ce8349740afe76.tar.bz2 |
added setDocument(QString) and openDirectory(QString) qcop messages to show open directory. use setDocument if you are unsure if advancedfm is executed already.
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 55 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.h | 7 |
2 files changed, 51 insertions, 11 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index d4351b0..6b7fa1f 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -45,32 +45,35 @@ #include <dirent.h> #include <fcntl.h> #include <sys/vfs.h> #include <mntent.h> AdvancedFm::AdvancedFm( ) : QMainWindow( ) { init(); renameBox = 0; unknownXpm = Resource::loadImage( "UnknownDocument" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); initConnections(); whichTab=1; rePopulate(); currentPathCombo->setFocus(); + channel = new QCopChannel( "QPE/Application/advancedfm", this ); + connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), + this, SLOT( qcopReceive(const QCString&, const QByteArray&)) ); } AdvancedFm::~AdvancedFm() { } void AdvancedFm::cleanUp() { QString sfile=QDir::homeDirPath(); if(sfile.right(1) != "/") sfile+="/._temp"; else sfile+="._temp"; QFile file( sfile); if(file.exists()) file.remove(); @@ -793,53 +796,54 @@ void AdvancedFm::removeCustomDir() } ramble++; // ramble--; } cfg.writeEntry("CustomDir", list2, ','); cfg.write(); } // customDirsToMenu(); } void AdvancedFm::gotoCustomDir(const QString &dir) { // qDebug("gotoCustomDir(const QString &dir) " +dir ); - QString curDir = dir; - QDir *thisDir = CurrentDir(); +// QString curDir = dir; +// QDir *thisDir = CurrentDir(); // if( curDir.isEmpty()) { // } - if( curDir == s_addBookmark) + if( dir == s_addBookmark) { addCustomDir(); } - if( curDir == s_removeBookmark) + if( dir == s_removeBookmark) { removeCustomDir( ); } else { - if(QDir( curDir).exists() ) - { - thisDir->setPath( curDir ); - chdir( curDir.latin1() ); - thisDir->cd( curDir, TRUE); - populateView(); - } + gotoDirectory( dir); +// if(QDir( curDir).exists() ) +// { +// thisDir->setPath( curDir ); +// chdir( curDir.latin1() ); +// thisDir->cd( curDir, TRUE); +// populateView(); +// } } } QDir *AdvancedFm::CurrentDir() { if ( whichTab == 1) { return ¤tDir; } else { return ¤tRemoteDir; } } QDir *AdvancedFm::OtherDir() @@ -864,16 +868,45 @@ QListView * AdvancedFm::CurrentView() QListView * AdvancedFm::OtherView() { if ( whichTab == 1) return Remote_View; else return Local_View; } void AdvancedFm::setOtherTabCurrent() { if ( whichTab == 1) TabWidget->setCurrentTab(1); else TabWidget->setCurrentTab(0); } + +void AdvancedFm::qcopReceive(const QCString &msg, const QByteArray &data) { + qDebug("qcop message "+msg ); + QDataStream stream ( data, IO_ReadOnly ); + if ( msg == "openDirectory(QString)" ) { + qDebug("received"); + QString file; + stream >> file; + gotoDirectory( (const QString &) file); + } +} + + void AdvancedFm::setDocument(const QString &file) { + 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(); + } +} diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h index 4480051..c9a5525 100644 --- a/noncore/apps/advancedfm/advancedfm.h +++ b/noncore/apps/advancedfm/advancedfm.h @@ -3,33 +3,35 @@ ------------------- ** Created: Sat Mar 9 23:33:09 2002 copyright : (C) 2002 by ljp 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. * ***************************************************************************/ #ifndef ADVANCEDFM_H #define ADVANCEDFM_H #define QTOPIA_INTERNAL_FSLP // to get access to fileproperties #define QT_QWS_OPIE //#include <opie/otabwidget.h> #include <opie/oprocess.h> + #include <qpe/ir.h> +#include <qpe/qcopenvelope_qws.h> #include <qvariant.h> #include <qdialog.h> #include <qmainwindow.h> #include <qstringlist.h> #include <qdir.h> #include <qstring.h> #include <qpoint.h> #include <qtimer.h> #include <qpixmap.h> class OTabWidget; class QVBoxLayout; class QHBoxLayout; class QGridLayout; class QComboBox; @@ -76,32 +78,33 @@ protected slots: void cleanUp(); void renameIt(); void runThis(); void runText(); void filePerms(); void doProperties(); void runCommand(); void runCommandStd(); QStringList getPath(); void mkSym(); void switchToLocalTab(); void switchToRemoteTab(); protected: OTabWidget *TabWidget; + QCopChannel * channel; QPixmap unknownXpm; int whichTab; // QTabWidget *TabWidget; QWidget *tab, *tab_2, *tab_3; QListView *Local_View, *Remote_View; QLineEdit *currentPathEdit; QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu /*, *customDirMenu*/; QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; // QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; QDir currentDir, currentRemoteDir; QComboBox *currentPathCombo; QString filterStr, s_addBookmark, s_removeBookmark; QListViewItem * item; bool b; QStringList fileSystemTypeList, fsList; @@ -148,24 +151,28 @@ protected slots: void doAbout(); void doBeam(); void fileBeamFinished( Ir *); private: MenuButton *menuButton; QString oldName; QTimer menuTimer; void startProcess(const QString &); bool eventFilter( QObject * , QEvent * ); void cancelRename(); void doRename(QListView *); void okRename(); void customDirsToMenu(); void addCustomDir(); void removeCustomDir(); + void gotoDirectory(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 &); + }; #endif // ADVANCEDFM_H |