Diffstat (limited to 'noncore/apps/opie-console/transferdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/transferdialog.cpp | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/noncore/apps/opie-console/transferdialog.cpp b/noncore/apps/opie-console/transferdialog.cpp index 08fb32b..45522a8 100644 --- a/noncore/apps/opie-console/transferdialog.cpp +++ b/noncore/apps/opie-console/transferdialog.cpp @@ -2,2 +2,5 @@ +#include "filetransfer.h" +#include "io_serial.h" + #include "qlayout.h" @@ -13,3 +16,3 @@ TransferDialog::TransferDialog(QWidget *parent, const char *name) -: QWidget(parent, name) +: QDialog(/*parent, name*/NULL, NULL, true) { @@ -18,3 +21,5 @@ TransferDialog::TransferDialog(QWidget *parent, const char *name) QLabel *file, *mode, *progress, *status; - QPushButton *selector, *ok, *cancel; + QPushButton *selector; + + transfer = NULL; @@ -39,3 +44,3 @@ TransferDialog::TransferDialog(QWidget *parent, const char *name) selector = new QPushButton("...", this); - ok = new QPushButton(QObject::tr("OK"), this); + ok = new QPushButton(QObject::tr("Start transfer"), this); cancel = new QPushButton(QObject::tr("Cancel"), this); @@ -63,3 +68,3 @@ TransferDialog::TransferDialog(QWidget *parent, const char *name) connect(ok, SIGNAL(clicked()), SLOT(slotTransfer())); - connect(cancel, SIGNAL(clicked()), SLOT(close())); + connect(cancel, SIGNAL(clicked()), SLOT(slotCancel())); } @@ -88,4 +93,35 @@ void TransferDialog::slotTransfer() + ok->setEnabled(false); + statusbar->setText(QObject::tr("Sending...")); progressbar->setProgress(1); + + FileTransfer::Type transfermode = FileTransfer::SX; + if(protocol->currentText() == "YModem") transfermode == FileTransfer::SY; + if(protocol->currentText() == "ZModem") transfermode == FileTransfer::SZ; + + // dummy profile + Profile profile("Dummy", "serial", "vt102", Profile::White, Profile::Black, Profile::VT102); + + transfer = new FileTransfer(transfermode, new IOSerial(profile)); + transfer->sendFile(filename->text()); +} + +void TransferDialog::slotCancel() +{ + ok->setEnabled(true); + + if(transfer) + { + transfer->cancel(); + delete transfer; + transfer = NULL; + QMessageBox::information(this, + QObject::tr("Cancelled"), + QObject::tr("The file transfer has been cancelled.")); + } + else + { + close(); + } } |