summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp55
-rw-r--r--noncore/apps/advancedfm/advancedfm.h7
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
@@ -49,24 +49,27 @@
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
@@ -797,45 +800,46 @@ void AdvancedFm::removeCustomDir()
}
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 &currentDir;
}
else
{
return &currentRemoteDir;
@@ -868,12 +872,41 @@ QListView * AdvancedFm::OtherView()
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
@@ -7,25 +7,27 @@
* 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;
@@ -80,24 +82,25 @@ protected slots:
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;
@@ -152,20 +155,24 @@ protected slots:
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