summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/transferdialog.cpp44
-rw-r--r--noncore/apps/opie-console/transferdialog.h3
2 files changed, 34 insertions, 13 deletions
diff --git a/noncore/apps/opie-console/transferdialog.cpp b/noncore/apps/opie-console/transferdialog.cpp
index 0083cc1..f9a0b87 100644
--- a/noncore/apps/opie-console/transferdialog.cpp
+++ b/noncore/apps/opie-console/transferdialog.cpp
@@ -28,6 +28,8 @@ TransferDialog::TransferDialog(MainWindow *parent, const char *name)
28 QButtonGroup *group; 28 QButtonGroup *group;
29 QRadioButton *mode_send, *mode_receive; 29 QRadioButton *mode_send, *mode_receive;
30 30
31 m_autocleanup = 0;
32
31 group = new QButtonGroup(QObject::tr("Transfer mode"), this); 33 group = new QButtonGroup(QObject::tr("Transfer mode"), this);
32 mode_send = new QRadioButton(QObject::tr("Send"), group); 34 mode_send = new QRadioButton(QObject::tr("Send"), group);
33 mode_receive = new QRadioButton(QObject::tr("Receive"), group); 35 mode_receive = new QRadioButton(QObject::tr("Receive"), group);
@@ -113,6 +115,9 @@ void TransferDialog::slotTransfer()
113 115
114 ok->setEnabled(false); 116 ok->setEnabled(false);
115 117
118 cleanup();
119 m_autocleanup = 0;
120
116 if(m_transfermode == id_send) statusbar->setText(QObject::tr("Sending...")); 121 if(m_transfermode == id_send) statusbar->setText(QObject::tr("Sending..."));
117 else statusbar->setText(QObject::tr("Receiving...")); 122 else statusbar->setText(QObject::tr("Receiving..."));
118 123
@@ -138,6 +143,22 @@ void TransferDialog::slotTransfer()
138 } 143 }
139} 144}
140 145
146void TransferDialog::cleanup()
147{
148 if(m_lay)
149 {
150 m_lay->cancel();
151 delete m_lay;
152 m_lay = 0l;
153 }
154 if(m_recvlay)
155 {
156 m_recvlay->cancel();
157 delete m_recvlay;
158 m_recvlay = 0l;
159 }
160}
161
141void TransferDialog::slotCancel() 162void TransferDialog::slotCancel()
142{ 163{
143 ok->setEnabled(true); 164 ok->setEnabled(true);
@@ -145,21 +166,14 @@ void TransferDialog::slotCancel()
145 166
146 if((m_lay) || (m_recvlay)) 167 if((m_lay) || (m_recvlay))
147 { 168 {
148 if(m_lay) 169 cleanup();
149 { 170 if(m_autocleanup) close();
150 m_lay->cancel(); 171 else
151 delete m_lay;
152 m_lay = 0l;
153 }
154 if(m_recvlay)
155 { 172 {
156 m_recvlay->cancel(); 173 QMessageBox::information(this,
157 delete m_recvlay; 174 QObject::tr("Cancelled"),
158 m_recvlay = 0l; 175 QObject::tr("The file transfer has been cancelled."));
159 } 176 }
160 QMessageBox::information(this,
161 QObject::tr("Cancelled"),
162 QObject::tr("The file transfer has been cancelled."));
163 } 177 }
164 else 178 else
165 { 179 {
@@ -210,6 +224,8 @@ void TransferDialog::slotError(int error, const QString& message)
210 QObject::tr("Unknown error occured.")); 224 QObject::tr("Unknown error occured."));
211 break; 225 break;
212 } 226 }
227
228 m_autocleanup = 1;
213} 229}
214 230
215void TransferDialog::slotSent() 231void TransferDialog::slotSent()
@@ -217,6 +233,7 @@ void TransferDialog::slotSent()
217 QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been sent.")); 233 QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been sent."));
218 ok->setEnabled(true); 234 ok->setEnabled(true);
219 statusbar->setText(QObject::tr("Ready")); 235 statusbar->setText(QObject::tr("Ready"));
236 m_autocleanup = 1;
220} 237}
221 238
222void TransferDialog::slotReceived(const QString& file) 239void TransferDialog::slotReceived(const QString& file)
@@ -224,6 +241,7 @@ void TransferDialog::slotReceived(const QString& file)
224 QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been received as %1.").arg(file)); 241 QMessageBox::information(this, QObject::tr("Sent"), QObject::tr("File has been received as %1.").arg(file));
225 ok->setEnabled(true); 242 ok->setEnabled(true);
226 statusbar->setText(QObject::tr("Ready")); 243 statusbar->setText(QObject::tr("Ready"));
244 m_autocleanup = 1;
227} 245}
228 246
229void TransferDialog::slotMode(int id) 247void TransferDialog::slotMode(int id)
diff --git a/noncore/apps/opie-console/transferdialog.h b/noncore/apps/opie-console/transferdialog.h
index de3a5cf..1b27f16 100644
--- a/noncore/apps/opie-console/transferdialog.h
+++ b/noncore/apps/opie-console/transferdialog.h
@@ -36,6 +36,8 @@ class TransferDialog : public QDialog
36 id_receive 36 id_receive
37 }; 37 };
38 38
39 void cleanup();
40
39 QLineEdit *filename; 41 QLineEdit *filename;
40 QComboBox *protocol; 42 QComboBox *protocol;
41 QProgressBar *progressbar; 43 QProgressBar *progressbar;
@@ -45,6 +47,7 @@ class TransferDialog : public QDialog
45 FileTransferLayer* m_lay; 47 FileTransferLayer* m_lay;
46 ReceiveLayer *m_recvlay; 48 ReceiveLayer *m_recvlay;
47 int m_transfermode; 49 int m_transfermode;
50 int m_autocleanup;
48}; 51};
49 52
50#endif 53#endif