summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-04-28 21:59:34 (UTC)
committer llornkcor <llornkcor>2002-04-28 21:59:34 (UTC)
commit726d985ddb6a5c7eb25a48efdadb189eb38b9a2a (patch) (side-by-side diff)
treee92814b56ee706ccb1d95a0c2e86294aa79ab2c2
parentd9a38221ea876cae8ef8b015968e14af75e202bb (diff)
downloadopie-726d985ddb6a5c7eb25a48efdadb189eb38b9a2a.zip
opie-726d985ddb6a5c7eb25a48efdadb189eb38b9a2a.tar.gz
opie-726d985ddb6a5c7eb25a48efdadb189eb38b9a2a.tar.bz2
fixed multi symlink handling
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp133
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);