author | josef <josef> | 2002-10-20 19:22:38 (UTC) |
---|---|---|
committer | josef <josef> | 2002-10-20 19:22:38 (UTC) |
commit | d5433091ba9741f0fae104d038b906e353065e2d (patch) (side-by-side diff) | |
tree | 70def8957a6b38f8b6cfb45fa352b5a77f2298a1 /noncore | |
parent | 557c615b4b07adb798283981f3769dd817a80bf1 (diff) | |
download | opie-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?
-rw-r--r-- | noncore/apps/opie-console/filereceive.cpp | 7 | ||||
-rw-r--r-- | noncore/apps/opie-console/transferdialog.cpp | 7 |
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 @@ -50,13 +50,18 @@ void FileReceive::receive( const QString& dir ) { 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 ); 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 @@ -227,22 +227,27 @@ void TransferDialog::slotError(int error, const QString& message) 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) { |