summaryrefslogtreecommitdiff
path: root/noncore/apps/advancedfm/advancedfm.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/advancedfm/advancedfm.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp55
1 files changed, 44 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
@@ -37,48 +37,51 @@
#include <qwidget.h>
#include <qlayout.h>
#include <qimage.h>
#include <qmessagebox.h>
#include <qlineedit.h>
#include <sys/stat.h>
#include <time.h>
#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();
}
void AdvancedFm::tabChanged(QWidget *w)
{
if( w == tab)
whichTab = 1;
else
whichTab = 2;
@@ -785,69 +788,70 @@ void AdvancedFm::removeCustomDir()
if((*it) != dir)//current item is not our current dir, so add it to temp list
{
list2 <<(*it);
}
else
{
// customDirMenu->removeItem( ramble);
menuButton->remove( ramble);
}
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 &currentDir;
}
else
{
return &currentRemoteDir;
}
}
QDir *AdvancedFm::OtherDir()
{
if ( whichTab == 1)
{
return &currentRemoteDir;
}
else
{
return &currentDir;
@@ -856,24 +860,53 @@ QDir *AdvancedFm::OtherDir()
QListView * AdvancedFm::CurrentView()
{
if ( whichTab == 1)
return Local_View;
else
return Remote_View;
}
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();
+ }
+}