author | llornkcor <llornkcor> | 2002-04-28 21:59:34 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-04-28 21:59:34 (UTC) |
commit | 726d985ddb6a5c7eb25a48efdadb189eb38b9a2a (patch) (side-by-side diff) | |
tree | e92814b56ee706ccb1d95a0c2e86294aa79ab2c2 | |
parent | d9a38221ea876cae8ef8b015968e14af75e202bb (diff) | |
download | opie-726d985ddb6a5c7eb25a48efdadb189eb38b9a2a.zip opie-726d985ddb6a5c7eb25a48efdadb189eb38b9a2a.tar.gz opie-726d985ddb6a5c7eb25a48efdadb189eb38b9a2a.tar.bz2 |
fixed multi symlink handling
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 133 |
1 files changed, 68 insertions, 65 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index bd513c0..b5fcccf 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -314,21 +314,21 @@ void AdvancedFm::populateLocalView() item= new QListViewItem( Local_View, fileL, fileS , fileDate); 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(fi->isExecutable()) { - pm = Resource::loadPixmap( "exec"); - item->setPixmap( 0,pm); - } - else if( !fi->isReadable() ) { +// if(fi->isExecutable()) { +// pm = Resource::loadPixmap( "exec"); +// item->setPixmap( 0,pm); +// } + 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()) @@ -430,21 +430,21 @@ void AdvancedFm::populateRemoteView() 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(fi->isExecutable()) { - pm = Resource::loadPixmap( "exec"); - item->setPixmap( 0,pm); - } - else if( !fi->isReadable() ) { +// if(fi->isExecutable()) { +// pm = Resource::loadPixmap( "exec"); +// item->setPixmap( 0,pm); +// } + 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); @@ -711,46 +711,46 @@ void AdvancedFm::showRemoteMenu(QListViewItem * item) } } void AdvancedFm::runThis() { // QFileInfo *fi; if (TabWidget->currentPageIndex() == 0) { QString curFile = Local_View->currentItem()->text(0); QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); - if(fileInfo.isExecutable()) { - QCopEnvelope e("QPE/System", "execute(QString)" ); - e << curFile; - } else { +// if(fileInfo.isExecutable()) { +// QCopEnvelope e("QPE/System", "execute(QString)" ); +// e << curFile; +// } else { curFile = currentDir.canonicalPath()+"/"+curFile; DocLnk nf(curFile); QString execStr = nf.exec(); qDebug( execStr); if( execStr.isEmpty() ) { } else { nf.execute(); } - } +// } // MimeType mt( curFile); } else { QString curFile = Remote_View->currentItem()->text(0); QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); - if(fileInfo.isExecutable()) { - QCopEnvelope e("QPE/System", "execute(QString)" ); - e << curFile; - } else { +// if(fileInfo.isExecutable()) { +// QCopEnvelope e("QPE/System", "execute(QString)" ); +// e << curFile; +// } else { curFile = currentRemoteDir.canonicalPath()+"/"+curFile; DocLnk nf(curFile); QString execStr = nf.exec(); qDebug(execStr); if( execStr.isEmpty() ) { } else { nf.execute(); } - } +// } // MimeType mt( curFile); } } void AdvancedFm::runText() { if (TabWidget->currentPageIndex() == 0) { QString curFile = Local_View->currentItem()->text(0); curFile = currentDir.canonicalPath()+"/"+curFile; @@ -1041,17 +1041,17 @@ QStringList AdvancedFm::getPath() { } } return strList; } else { QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); QListViewItemIterator it( Remote_View ); for ( ; it.current(); ++it ) { if ( it.current()->isSelected() ) { - strList << currentDir.canonicalPath()+"/"+ it.current()->text(0); + strList << it.current()->text(0); } } return strList; } return ""; } void AdvancedFm::homeButtonPushed() { @@ -1134,115 +1134,109 @@ void AdvancedFm::upDir() void AdvancedFm::copy() { QStringList curFileList = getPath(); QString curFile; if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentRemoteDir.canonicalPath(); - if(destFile.right(1).find("/",0,TRUE) == -1) - destFile+="/"; - destFile +=(*it); - curFile = currentDir.canonicalPath(); - if(curFile.right(1).find("/",0,TRUE) == -1) - curFile +="/"; - curFile +=(*it); + QString destFile = currentRemoteDir.canonicalPath()+"/"+(*it); +// if(destFile.right(1).find("/",0,TRUE) == -1) +// destFile+="/"; +// destFile +=(*it); + + curFile = currentDir.canonicalPath()+"/"+(*it); +// if(curFile.right(1).find("/",0,TRUE) == -1) +// curFile +="/"; +// curFile +=(*it); + QFile f(destFile); if( f.exists()) f.remove(); - if(!copyFile(destFile, curFile) ) + if(!copyFile(destFile, curFile) ) { + QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); qWarning("nothin doing"); } + } populateRemoteView(); TabWidget->setCurrentPage(1); } else { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - QString destFile = currentDir.canonicalPath(); - if(destFile.right(1).find("/",0,TRUE) == -1) - destFile+="/"; - destFile +=(*it); - curFile = currentRemoteDir.canonicalPath(); - if(curFile.right(1).find("/",0,TRUE) == -1) - curFile +="/"; - curFile +=(*it); + QString destFile = currentDir.canonicalPath()+"/"+(*it); + curFile = currentRemoteDir.canonicalPath()+"/"+(*it); + QFile f(destFile); if( f.exists()) f.remove(); - if(!copyFile(destFile, curFile) ) + if(!copyFile(destFile, curFile) ) { + QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); + qWarning("nothin doing"); } + } populateLocalView(); TabWidget->setCurrentPage(0); } } void AdvancedFm::copyAs() { QStringList curFileList = getPath(); QString curFile; InputDialog *fileDlg; fileDlg = new InputDialog(this,tr("Copy As"),TRUE, 0); if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { QString destFile; - curFile = currentDir.canonicalPath(); - if(curFile.right(1).find("/",0,TRUE) == -1) - curFile +="/"; - curFile+=(*it); + curFile = currentDir.canonicalPath()+"/"+(*it); // InputDialog *fileDlg; // fileDlg = new InputDialog(this,tr("Copy As"),TRUE, 0); fileDlg->setInputText((const QString &) destFile ); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentRemoteDir.canonicalPath(); - if(destFile.right(1).find("/",0,TRUE) == -1) - destFile+="/"; - destFile +=(*it); + destFile = currentRemoteDir.canonicalPath()+"/"+(*it); QFile f(destFile); if( f.exists()) f.remove(); - if(!copyFile(destFile, curFile) ) + if(!copyFile(destFile, curFile) ) { + QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); qWarning("nothin doing"); } } + } populateRemoteView(); TabWidget->setCurrentPage(1); } else { if (TabWidget->currentPageIndex() == 0) { for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { - curFile = currentDir.canonicalPath(); - if(curFile.right(1).find("/",0,TRUE) == -1) - curFile +="/"; - curFile+=(*it); + curFile = currentDir.canonicalPath()+"/"+(*it); QString destFile; fileDlg->setInputText((const QString &) destFile); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); - destFile = currentDir.canonicalPath(); - if(destFile.right(1).find("/",0,TRUE) == -1) - destFile+="/"; - destFile +=(*it); + destFile = currentDir.canonicalPath()+"/"+(*it); QFile f(destFile); if( f.exists()) f.remove(); - if(!copyFile(destFile, curFile) ) + if(!copyFile(destFile, curFile) ) { + QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); qWarning("nothin doing"); } } + } populateLocalView(); TabWidget->setCurrentPage(0); } } } void AdvancedFm::move() { @@ -1529,32 +1523,41 @@ void AdvancedFm::keyReleaseEvent( QKeyEvent *e) } } void AdvancedFm::mkSym() { QString cmd; + QStringList curFileList = getPath(); + if (TabWidget->currentPageIndex() == 0) { - QString curFile = Local_View->currentItem()->text(0); - if(curFile.right(1) == "/") curFile = curFile.left(curFile.length() - 1); - QString destName = currentRemoteDir.canonicalPath()+"/"+curFile; - curFile = currentDir.canonicalPath()+"/"+curFile; + for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { + + QString destName = currentRemoteDir.canonicalPath()+"/"+(*it); + QString curFile = currentDir.canonicalPath()+"/"+(*it); cmd = "ln -s "+curFile+" "+destName; + qDebug(cmd); system(cmd.latin1() ); + } populateRemoteView(); + TabWidget->setCurrentPage(1); } else { - QString curFile = Remote_View->currentItem()->text(0); - if(curFile.right(1) == "/") curFile = curFile.left(curFile.length() - 1); - QString destName = currentDir.canonicalPath()+"/"+curFile; - curFile = currentRemoteDir.canonicalPath()+"/"+curFile; + for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { + + QString destName = currentDir.canonicalPath()+"/"+(*it); + QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it); + cmd = "ln -s "+curFile+" "+destName; + qDebug(cmd); system(cmd.latin1() ); + } populateLocalView(); + TabWidget->setCurrentPage(0); } } void AdvancedFm::QPEButtonPushed() { QString current = QPEApplication::qpeDir(); chdir( current.latin1() ); if (TabWidget->currentPageIndex() == 0) { currentDir.cd( current, TRUE); |