summaryrefslogtreecommitdiff
authorjosef <josef>2002-10-20 19:22:38 (UTC)
committer josef <josef>2002-10-20 19:22:38 (UTC)
commitd5433091ba9741f0fae104d038b906e353065e2d (patch) (side-by-side diff)
tree70def8957a6b38f8b6cfb45fa352b5a77f2298a1
parent557c615b4b07adb798283981f3769dd817a80bf1 (diff)
downloadopie-d5433091ba9741f0fae104d038b906e353065e2d.zip
opie-d5433091ba9741f0fae104d038b906e353065e2d.tar.gz
opie-d5433091ba9741f0fae104d038b906e353065e2d.tar.bz2
Some fixes for receiving files via {x,y,z}modem:
- let transfer dialog reset progress bar when finished - typo: s/Sent/Received in received confirmation dialog - specify filename for xmodem (the man page is not very clear about this, but it doesn't work without filename!) - add --overwrite Here's the big problem: For user security, I'd rather use --rename than --overwrite (or make it configurable). But: * --rename is not supported at all by rx/rz/... * --overwrite is not supported by ymodem * --overwrite is always used by xmodem even if not used I want to kick the authors of rz now... Anybody knows a solution?
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/filereceive.cpp7
-rw-r--r--noncore/apps/opie-console/transferdialog.cpp7
2 files changed, 12 insertions, 2 deletions
diff --git a/noncore/apps/opie-console/filereceive.cpp b/noncore/apps/opie-console/filereceive.cpp
index e517862..e387273 100644
--- a/noncore/apps/opie-console/filereceive.cpp
+++ b/noncore/apps/opie-console/filereceive.cpp
@@ -44,25 +44,30 @@ void FileReceive::receive( const QString& dir ) {
switch(m_type ) {
case SZ:
break;
case SX:
typus = "-X";
break;
case SY:
typus = "--ymodem";
break;
}
/* we should never return from here */
- execlp("rz", "rz", typus, NULL );
+ if( m_type == SX )
+ // FIXME: file name should be configurable - currently we ensure it
+ // doesn't get overwritten by -E (--rename)
+ execlp("rz", "rz", typus, "--overwrite", QObject::tr("SynchronizedFile").latin1(), NULL );
+ else
+ execlp("rz", "rz", typus, "--overwrite", NULL );
char resultByte = 1;
if (m_info[1] )
::write(m_info[1], &resultByte, 1 );
_exit( -1 );
break;
}
default: {
if ( m_info[1] )
close( m_info[1] );
diff --git a/noncore/apps/opie-console/transferdialog.cpp b/noncore/apps/opie-console/transferdialog.cpp
index ac5b1d0..f89723c 100644
--- a/noncore/apps/opie-console/transferdialog.cpp
+++ b/noncore/apps/opie-console/transferdialog.cpp
@@ -221,34 +221,39 @@ void TransferDialog::slotError(int error, const QString& message)
default:
QMessageBox::critical(this,
QObject::tr("Error"),
QObject::tr("Unknown error occured."));
break;
}
m_autocleanup = 1;
}
void TransferDialog::slotSent()
{
+ progressbar->setProgress(100);
QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been sent."));
ok->setEnabled(true);
+ progressbar->setProgress(0);
statusbar->setText(QObject::tr("Ready"));
m_autocleanup = 1;
}
void TransferDialog::slotReceived(const QString& file)
{
- QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been received as %1.").arg(file));
+ progressbar->setProgress(100);
+ QMessageBox::information(this, QObject::tr("Received"), QObject::tr("File has been received."));
+ //QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been received as %1.").arg(file));
ok->setEnabled(true);
+ progressbar->setProgress(0);
statusbar->setText(QObject::tr("Ready"));
m_autocleanup = 1;
}
void TransferDialog::slotMode(int id)
{
if(id == id_send)
{
selector->setEnabled(true);
filename->setEnabled(true);
}
else