summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index ab31c91..faa03dc 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -753,146 +753,156 @@ void AdvancedFm::runThis() {
void AdvancedFm::runText() {
if (TabWidget->currentPageIndex() == 0) {
QString curFile = Local_View->currentItem()->text(0);
curFile = currentDir.canonicalPath()+"/"+curFile;
QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
e << curFile;
} else {
QString curFile = Remote_View->currentItem()->text(0);
curFile = currentRemoteDir.canonicalPath()+"/"+curFile;
DocLnk nf(curFile);
QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
e << curFile;
}
}
void AdvancedFm::localMakDir()
{
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString filename = fileDlg->LineEdit1->text();
currentDir.mkdir( currentDir.canonicalPath()+"/"+filename);
}
populateLocalView();
}
void AdvancedFm::remoteMakDir()
{
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString filename = fileDlg->LineEdit1->text();
currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename);
}
populateRemoteView();
}
void AdvancedFm::localDelete()
{
QStringList curFileList = getPath();
QString myFile;
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
myFile = (*it);
if( myFile.find(" -> ",0,TRUE) != -1)
myFile = myFile.left( myFile.find(" -> ",0,TRUE));
- QString f = currentDir.canonicalPath()+"/"+myFile;
+ QString f = currentDir.canonicalPath();
+ if(f.right(1).find("/",0,TRUE) == -1)
+ f+="/";
+ f+=myFile;
if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
- switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+" ?"
+ switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+
+ "\nand all it's contents ?"
,tr("Yes"),tr("No"),0,0,1) ) {
case 0: {
- QString cmd="rmdir -rf "+f;
+ f=f.left(f.length()-1);
+ QString cmd="rm -rf "+f;
system( cmd.latin1());
populateLocalView();
}
break;
case 1:
// exit
break;
};
} else {
switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f
+" ?",tr("Yes"),tr("No"),0,0,1) ) {
case 0: {
QString cmd="rm "+f;
QFile file(f);
file.remove();
// system( cmd.latin1());
populateLocalView();
}
break;
case 1:
// exit
break;
};
}
}
}
void AdvancedFm::remoteDelete()
{
QStringList curFileList = getPath();
QString myFile;
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
myFile = (*it);
if(myFile.find(" -> ",0,TRUE) != -1)
myFile = myFile.left(myFile.find(" -> ",0,TRUE));
- QString f = currentRemoteDir.canonicalPath()+"/"+myFile;
+ QString f = currentDir.canonicalPath();
+ if(f.right(1).find("/",0,TRUE) == -1)
+ f+="/";
+ f+=myFile;
if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
- switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+" ?",
+ switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+
+ "\nand all it's contents ?",
tr("Yes"),tr("No"),0,0,1) ) {
case 0: {
- QString cmd="rmdir -rf "+f;
+ f=f.left(f.length()-1);
+ QString cmd="rm -rf "+f;
system( cmd.latin1());
populateRemoteView();
}
break;
case 1:
// exit
break;
};
} else {
switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f
+" ?",tr("Yes"),tr("No"),0,0,1) ) {
case 0: {
QString cmd="rm "+f;
QFile file(f);
file.remove();
// system( cmd.latin1());
populateRemoteView();
}
break;
case 1:
// exit
break;
};
}
}
}
void AdvancedFm::localRename()
{
QString curFile = Local_View->currentItem()->text(0);
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
fileDlg->setInputText((const QString &)curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString oldname = currentDir.canonicalPath() + "/" + curFile;
QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
if( rename(oldname.latin1(), newName.latin1())== -1)
QMessageBox::message(tr("Note"),tr("Could not rename"));
}
populateLocalView();
}
void AdvancedFm::remoteRename()
{
QString curFile = Local_View->currentItem()->text(0);
InputDialog *fileDlg;