author | llornkcor <llornkcor> | 2002-05-01 23:22:28 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-05-01 23:22:28 (UTC) |
commit | 21ddb4ef8f53ac003836535708736b91fd2c9f57 (patch) (side-by-side diff) | |
tree | 116dd5b31b95b457c7331000be5d5f2a9624a8ee | |
parent | a3397118d3c384655bedb40210db96ca34adc0c9 (diff) | |
download | opie-21ddb4ef8f53ac003836535708736b91fd2c9f57.zip opie-21ddb4ef8f53ac003836535708736b91fd2c9f57.tar.gz opie-21ddb4ef8f53ac003836535708736b91fd2c9f57.tar.bz2 |
fixed symlink showing linked file instead of name of symlink.
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index a9ba3c2..a378170 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -282,33 +282,33 @@ void AdvancedFm::populateLocalView() QString fileL, fileS, fileDate; // qDebug(currentDir.canonicalPath()); // struct stat buf; // mode_t mode; QString fs= getFileSystemType((const QString &) currentDir.canonicalPath()); setCaption("AdvancedFm :: "+fs); bool isDir=FALSE; const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); QFileInfoListIterator it(*list); QFileInfo *fi; while ( (fi=it.current()) ) { if (fi->isSymLink() ) { QString symLink=fi->readLink(); // qDebug("Symlink detected "+symLink); QFileInfo sym( symLink); fileS.sprintf( "%10li", sym.size() ); - fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); + fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() ); fileDate = sym.lastModified().toString(); } else { fileS.sprintf( "%10li", fi->size() ); fileL.sprintf( "%s",fi->fileName().data() ); fileDate= fi->lastModified().toString(); if( QDir(QDir::cleanDirPath( currentDir.canonicalPath()+"/"+fileL)).exists() ) { fileL+="/"; isDir=TRUE; // qDebug( fileL); } } QFileInfo fileInfo( currentDir.canonicalPath()+"/"+fileL); if(fileL !="./" && fi->exists()) { item= new QListViewItem( Local_View, fileL, fileS , fileDate); if(isDir || fileL.find("/",0,TRUE) != -1) { @@ -403,60 +403,59 @@ void AdvancedFm::populateRemoteView() currentRemoteDir.setMatchAllDirs(TRUE); currentRemoteDir.setNameFilter(filterStr); QString fileL, fileS, fileDate; QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); setCaption("AdvancedFm :: "+fs); bool isDir=FALSE; const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); QFileInfoListIterator it(*list); QFileInfo *fi; while ( (fi=it.current()) ) { if (fi->isSymLink() ){ QString symLink=fi->readLink(); // qDebug("Symlink detected "+symLink); QFileInfo sym( symLink); fileS.sprintf( "%10li", sym.size() ); - fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); + fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() ); fileDate = sym.lastModified().toString(); } else { // qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); fileS.sprintf( "%10li", fi->size() ); fileL.sprintf( "%s",fi->fileName().data() ); fileDate= fi->lastModified().toString(); if( QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+fileL)).exists() ) { fileL+="/"; isDir=TRUE; // qDebug( fileL); } } QFileInfo fileInfo( currentDir.canonicalPath()+"/"+fileL); if(fileL !="./" && fi->exists()) { item= new QListViewItem( Remote_View, fileL, fileS, fileDate); QPixmap pm; if(isDir || fileL.find("/",0,TRUE) != -1) { if( !QDir( fi->filePath() ).isReadable()) pm = Resource::loadPixmap( "lockedfolder" ); else pm= Resource::loadPixmap( "folder" ); // item->setPixmap( 0,pm ); - } else if( (fileInfo.permission( QFileInfo::ExeUser) - | fileInfo.permission( QFileInfo::ExeGroup) - | fileInfo.permission( QFileInfo::ExeOther)) & fs.find("vfat",0,TRUE) == -1) { - pm = Resource::loadPixmap( "exec"); + } else if( (fileInfo.permission( QFileInfo::ExeUser) + | fileInfo.permission( QFileInfo::ExeGroup) + | fileInfo.permission( QFileInfo::ExeOther)) & fs.find("vfat",0,TRUE) == -1) { ///// } else if(fileInfo.isExecutable()){ //is exec <<<< BROKEN!! pm = Resource::loadPixmap( "exec"); // item->setPixmap( 0,pm); } else if( !fi->isReadable() ) { pm = Resource::loadPixmap( "locked" ); // item->setPixmap( 0,pm); } else { MimeType mt(fi->filePath()); pm=mt.pixmap(); //sets the correct pixmap for mimetype if(pm.isNull()) pm = Resource::loadPixmap( "UnknownDocument-14" ); // item->setPixmap( 0,pm); } if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) { // overlay link image pm= Resource::loadPixmap( "folder" ); @@ -1334,36 +1333,36 @@ void AdvancedFm::move() { } else { success = FALSE; } // Set file permissions if( stat( (const char *) src, &status ) == 0 ){ chmod( (const char *) dest, status.st_mode ); } return success; } void AdvancedFm::runCommand() { QString curFile; if (TabWidget->currentPageIndex() == 0) { if( Local_View->currentItem()) - curFile = currentDir.canonicalPath() + Local_View->currentItem()->text(0); + curFile = currentDir.canonicalPath() +"/"+ Local_View->currentItem()->text(0); } else { if(Remote_View->currentItem()) - curFile = currentRemoteDir.canonicalPath() + Remote_View->currentItem()->text(0); + curFile = currentRemoteDir.canonicalPath() + "/"+Remote_View->currentItem()->text(0); } InputDialog *fileDlg; fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); fileDlg->setInputText(curFile); fileDlg->exec(); QString command; if( fileDlg->result() == 1 ) { command = fileDlg->LineEdit1->text(); // int err=0; Output *outDlg; outDlg = new Output(this, tr("AdvancedFm Output"),FALSE); outDlg->showMaximized(); outDlg->show(); qApp->processEvents(); |