summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp8
-rw-r--r--noncore/apps/advancedfm/advancedfm.h1
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp34
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
@@ -314,9 +314,10 @@ void AdvancedFm::localListClicked(QListViewItem *selectedItem) {
QString strItem=selectedItem->text(0);
QString strSize=selectedItem->text(1);
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);
populateLocalView();
@@ -360,9 +361,10 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) {
QString strItem=selectedItem->text(0);
QString strSize=selectedItem->text(1);
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();
} else { // not a symlink
if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
@@ -460,9 +462,9 @@ void AdvancedFm::currentPathComboChanged() {
}
}
void AdvancedFm::fillCombo(const QString &currentPath) {
-
+ qDebug("%d",TabWidget->getCurrentTab());
if (TabWidget->getCurrentTab() == 0) {
// if (TabWidget->currentPageIndex() == 0) {
currentPathCombo->lineEdit()->setText( currentPath);
if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
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
@@ -123,8 +123,9 @@ protected:
QString getFileSystemType(const QString &);
QString getDiskSpace(const QString &);
void parsetab(const QString &fileName);
QString checkDiskSpace(const QString &);
+ QString dealWithSymName(const QString &);
protected slots:
void showFileMenu();
void cancelMenuTimer();
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
@@ -102,15 +102,23 @@ void AdvancedFm::showRemoteHidden() {
}
populateRemoteView();
}
+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());
if( (fileInfo.permission( QFileInfo::ExeUser)
| fileInfo.permission( QFileInfo::ExeGroup)
@@ -131,8 +139,10 @@ void AdvancedFm::runThis() {
}
} else {
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());
qDebug("Filesystemtype is "+fs);
QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile);
@@ -159,16 +169,20 @@ void AdvancedFm::runThis() {
void AdvancedFm::runText() {
if (TabWidget->getCurrentTab() == 0) {
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)" );
e << curFile;
}
} else {
QString curFile = Remote_View->currentItem()->text(0);
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)" );
e << curFile;
}
@@ -481,9 +495,9 @@ 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;
}
}
@@ -512,9 +526,9 @@ void AdvancedFm::copy() {
break;
};
f.remove();
}
- if(!copyFile(destFile, curFile) ) {
+ if(!copyFile( curFile, destFile) ) {
QMessageBox::message("AdvancedFm",tr("Could not copy\n")
+curFile +tr("to\n")+destFile);
return;
@@ -560,9 +574,9 @@ void AdvancedFm::copyAs() {
return;
break;
};
}
- if(!copyFile(destFile, curFile) ) {
+ if(!copyFile( curFile,destFile) ) {
QMessageBox::message("AdvancedFm",tr("Could not copy\n")
+curFile +tr("to\n")+destFile);
return;
}
@@ -600,9 +614,9 @@ void AdvancedFm::copyAs() {
return;
break;
};
}
- if(!copyFile(destFile, curFile) ) {
+ if(!copyFile( curFile,destFile) ) {
QMessageBox::message("AdvancedFm",tr("Could not copy\n")
+curFile +tr("to\n")+destFile);
return;
}
@@ -650,9 +664,9 @@ void AdvancedFm::copySameDir() {
return;
break;
};
}
- if(!copyFile(destFile, curFile) ) {
+ if(!copyFile( curFile,destFile) ) {
QMessageBox::message("AdvancedFm",tr("Could not copy\n")
+curFile +tr("to\n")+destFile);
return;
}
@@ -688,9 +702,9 @@ void AdvancedFm::copySameDir() {
return;
break;
};
}
- if(!copyFile(destFile, curFile) ) {
+ if(!copyFile( curFile,destFile) ) {
QMessageBox::message("AdvancedFm",tr("Could not copy\n")
+curFile +tr("to\n")+destFile);
return;
}
@@ -729,9 +743,9 @@ void AdvancedFm::move() {
qDebug("CurrentFile file is " + curFile);
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;
} else
QFile::remove(curFile);
@@ -761,9 +775,9 @@ void AdvancedFm::move() {
qDebug("CurrentFile file is " + curFile);
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;
} else
QFile::remove( curFile);
@@ -775,9 +789,9 @@ void AdvancedFm::move() {
populateLocalView();
}
}
-bool AdvancedFm::copyFile( const QString & dest, const QString & src ) {
+bool AdvancedFm::copyFile( const QString & src, const QString & dest ) {
char bf[ 50000 ];
int bytesRead;
bool success = TRUE;
struct stat status;