-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 8 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.h | 1 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 34 |
3 files changed, 30 insertions, 13 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index 92804b2..c653b90 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -316,5 +316,6 @@ void AdvancedFm::localListClicked(QListViewItem *selectedItem) { strSize=strSize.stripWhiteSpace(); if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink - QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); + QString strItem2 = dealWithSymName((const QString&)strItem); +// QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); if(QDir(strItem2).exists() ) { currentDir.cd(strItem2, TRUE); @@ -362,5 +363,6 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) { strSize=strSize.stripWhiteSpace(); if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink - QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); + QString strItem2 = dealWithSymName((const QString&)strItem); +// QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); currentRemoteDir.cd(strItem2, TRUE); populateRemoteView(); @@ -462,5 +464,5 @@ void AdvancedFm::currentPathComboChanged() { void AdvancedFm::fillCombo(const QString ¤tPath) { - + qDebug("%d",TabWidget->getCurrentTab()); if (TabWidget->getCurrentTab() == 0) { // if (TabWidget->currentPageIndex() == 0) { diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h index 9948255..7ced056 100644 --- a/noncore/apps/advancedfm/advancedfm.h +++ b/noncore/apps/advancedfm/advancedfm.h @@ -125,4 +125,5 @@ protected: void parsetab(const QString &fileName); QString checkDiskSpace(const QString &); + QString dealWithSymName(const QString &); protected slots: diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index 0a9f921..f77554a 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp @@ -104,11 +104,19 @@ void AdvancedFm::showRemoteHidden() { } +QString AdvancedFm::dealWithSymName(const QString &fileName) { + QString strItem = fileName; + return strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); +} + void AdvancedFm::runThis() { QString fs; if (TabWidget->getCurrentTab() == 0) { QString curFile = Local_View->currentItem()->text(0); + if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink + curFile = dealWithSymName((const QString&)curFile); + if(curFile != "../") { - fs= getFileSystemType((const QString &) currentDir.canonicalPath()); + fs = getFileSystemType((const QString &) currentDir.canonicalPath()); QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); qDebug( fileInfo.owner()); @@ -133,4 +141,6 @@ void AdvancedFm::runThis() { QString curFile = Remote_View->currentItem()->text(0); if(curFile != "../") { + if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink + curFile = dealWithSymName((const QString&)curFile); fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); @@ -161,4 +171,6 @@ void AdvancedFm::runText() { QString curFile = Local_View->currentItem()->text(0); if(curFile != "../") { + if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink + curFile = dealWithSymName((const QString&)curFile); curFile = currentDir.canonicalPath()+"/"+curFile; QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); @@ -169,4 +181,6 @@ void AdvancedFm::runText() { if(curFile != "../") { curFile = currentRemoteDir.canonicalPath()+"/"+curFile; + if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink + curFile = dealWithSymName((const QString&)curFile); DocLnk nf(curFile); QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); @@ -483,5 +497,5 @@ void AdvancedFm::copy() { f.remove(); } - if(!copyFile(destFile, curFile) ) { + if(!copyFile( curFile, destFile) ) { QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); return; @@ -514,5 +528,5 @@ void AdvancedFm::copy() { f.remove(); } - if(!copyFile(destFile, curFile) ) { + if(!copyFile( curFile, destFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n") +curFile +tr("to\n")+destFile); @@ -562,5 +576,5 @@ void AdvancedFm::copyAs() { }; } - if(!copyFile(destFile, curFile) ) { + if(!copyFile( curFile,destFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n") +curFile +tr("to\n")+destFile); @@ -602,5 +616,5 @@ void AdvancedFm::copyAs() { }; } - if(!copyFile(destFile, curFile) ) { + if(!copyFile( curFile,destFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n") +curFile +tr("to\n")+destFile); @@ -652,5 +666,5 @@ void AdvancedFm::copySameDir() { }; } - if(!copyFile(destFile, curFile) ) { + if(!copyFile( curFile,destFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n") +curFile +tr("to\n")+destFile); @@ -690,5 +704,5 @@ void AdvancedFm::copySameDir() { }; } - if(!copyFile(destFile, curFile) ) { + if(!copyFile( curFile,destFile) ) { QMessageBox::message("AdvancedFm",tr("Could not copy\n") +curFile +tr("to\n")+destFile); @@ -731,5 +745,5 @@ void AdvancedFm::move() { QFile f( curFile); if( f.exists()) { - if(!copyFile( destFile, curFile) ) { + if(!copyFile( curFile,destFile) ) { QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile); return; @@ -763,5 +777,5 @@ void AdvancedFm::move() { QFile f( curFile); if( f.exists()) { - if(!copyFile( destFile, curFile) ) { + if(!copyFile( curFile, destFile) ) { QMessageBox::message(tr("Note"),tr("Could not move\n") + curFile); return; @@ -777,5 +791,5 @@ void AdvancedFm::move() { } -bool AdvancedFm::copyFile( const QString & dest, const QString & src ) { +bool AdvancedFm::copyFile( const QString & src, const QString & dest ) { char bf[ 50000 ]; int bytesRead; |