summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/composer.cpp150
-rw-r--r--noncore/unsupported/mail2/composer.h7
-rw-r--r--noncore/unsupported/mail2/composerbase.cpp3
-rw-r--r--noncore/unsupported/mail2/composerbase.h2
-rw-r--r--noncore/unsupported/mail2/mainwindow.cpp10
-rw-r--r--noncore/unsupported/mail2/mainwindow.h1
-rw-r--r--noncore/unsupported/mail2/mainwindowbase.cpp3
-rw-r--r--noncore/unsupported/mail2/mainwindowbase.h2
8 files changed, 173 insertions, 5 deletions
diff --git a/noncore/unsupported/mail2/composer.cpp b/noncore/unsupported/mail2/composer.cpp
index c36d973..cabffe5 100644
--- a/noncore/unsupported/mail2/composer.cpp
+++ b/noncore/unsupported/mail2/composer.cpp
@@ -11,2 +11,3 @@
11#include <qpe/resource.h> 11#include <qpe/resource.h>
12#include <qpe/config.h>
12 13
@@ -27,5 +28,6 @@ AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment)
27 28
28Composer::Composer(QWidget *parent, const char *name, WFlags fl) 29Composer::Composer(QWidget *parent, const char *name, WFlags fl, bool sendQueue)
29 : ComposerBase(parent, name, fl), _inLoop(false) 30 : ComposerBase(parent, name, fl), _inLoop(false)
30{ 31{
32 _sendQueued = sendQueue;
31 abort->setEnabled(false); 33 abort->setEnabled(false);
@@ -34,2 +36,3 @@ Composer::Composer(QWidget *parent, const char *name, WFlags fl)
34 connect(sendmail, SIGNAL(activated()), SLOT(slotSendMail())); 36 connect(sendmail, SIGNAL(activated()), SLOT(slotSendMail()));
37 connect(queuemail, SIGNAL(activated()), SLOT(slotQueueMail()));
35 connect(addressbook, SIGNAL(activated()), SLOT(slotOpenAddressPicker())); 38 connect(addressbook, SIGNAL(activated()), SLOT(slotOpenAddressPicker()));
@@ -44,2 +47,3 @@ Composer::Composer(QWidget *parent, const char *name, WFlags fl)
44 QTimer::singleShot(0, this, SLOT(slotResizing())); 47 QTimer::singleShot(0, this, SLOT(slotResizing()));
48
45} 49}
@@ -92,2 +96,7 @@ void Composer::slotResizing()
92 from->resize(width() - fromBox->width(), y()); 96 from->resize(width() - fromBox->width(), y());
97 if (_sendQueued)
98 {
99 slotSendQueued();
100 close();
101 }
93} 102}
@@ -158,2 +167,140 @@ void Composer::slotSendMail()
158 167
168void Composer::slotSendQueued()
169{
170
171 qDebug("Sending queued messages");
172 Config cfg( "mailqueue", Config::User );
173 cfg.setGroup( "Settings" );
174 int count = cfg.readNumEntry( "count", 0 );
175 // tille: should not be here
176 // but no error checking for the moment
177 cfg.writeEntry( "count", 0 );
178
179
180 qDebug("%i messages to send", count);
181 QString str;
182 for (int i=1;i<=count;i++)
183 {
184 qDebug("sending message %i",i);
185 cfg.setGroup( "Mail_" + QString::number(i) );
186 SendMail smail;
187 str = cfg.readEntry("from");
188 qDebug("setFrom %s",str.latin1());
189 smail.setFrom( str );
190 str = cfg.readEntry("reply");
191 qDebug("setReplyTo %s",str.latin1());
192 smail.setReplyTo( str );
193 QString toAdr = cfg.readEntry("to");
194 qDebug("to %s",toAdr.latin1());
195 smail.setTo( toAdr ); //to->text());
196 str = cfg.readEntry("cc");
197 qDebug("setCc %s",str.latin1());
198 smail.setCc( str ); //cc->text());
199 smail.setBcc( cfg.readEntry("bcc") ); //bcc->text());
200 str = cfg.readEntry("subject");
201 qDebug("setSubject %s",str.latin1());
202 smail.setSubject( str ); //subject->text());
203 str = cfg.readEntryCrypt("message");
204 qDebug("setMessage %s",str.latin1());
205 smail.setMessage( str ); //message->text());
206 smail.setNeedsMime( cfg.readBoolEntry("mime") ); //attachView->childCount() == 0 ? false : true);
207
208 qDebug("setting account [%i]",cfg.readNumEntry("account"));
209 Account accnt = accountsLoaded[ cfg.readNumEntry("account") ];
210 smail.setAccount( accnt ); //accountsLoaded[from->currentItem()]);
211
212
213 int prio = cfg.readNumEntry( "priority" );
214 qDebug("setting priority %i",prio);
215 if (prio == POPUP_PRIO_LOW) {
216 smail.setPriority("Low");// No i18n on purpose
217 } else if (prio == POPUP_PRIO_NORMAL) {
218 smail.setPriority("Normal");// No i18n on purpose
219 } else if (prio == POPUP_PRIO_HIGH) {
220 smail.setPriority("High");// No i18n on purpose
221 }
222
223 QValueList<Attachment> attachments;
224 Attachment a;
225 QString an;
226
227 int ac = cfg.readNumEntry( "attachments", 0 );
228 qDebug("%i Attachments",ac);
229 for (int j = 0; i < ac; ac++) {
230 an = "Attachment_" + QString::number( j );
231 qDebug(an.latin1());
232 a.setFileName(cfg.readEntry( an + "fileName" ));
233 a.setNewName(cfg.readEntry( an + "newName" ));
234 a.setDescription(cfg.readEntry( an + "description" ));
235 a.setDocLnk( DocLnk( cfg.readEntry( an + "docLnk" )) );
236 attachments.append( a );
237 }
238
239 smail.setAttachments(attachments);
240
241 qDebug("putting mail together");
242
243 QString header, message;
244 MailFactory::genMail(header, message, smail, this);
245 if (header.isNull() || message.isNull()) continue;//return;// Aborted.
246
247 // abort->setEnabled(true);
248
249 qDebug("Sending to %s",toAdr.latin1());
250 SmtpHandler *handler = new SmtpHandler(header, message, accnt ,toAdr);
251
252 connect(handler, SIGNAL(finished()), SLOT(slotSendFinished()));
253 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendError(const QString &)));
254 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setText(const QString &)));
255
256 qDebug("remove mail %i", i);
257 cfg.clearGroup();
258 cfg.removeEntry( "Mail_" + QString::number(i) );
259 }
260}
261
262void Composer::slotQueueMail()
263{
264 if (to->text().find(QRegExp(".*\\@.*\\..*")) == -1) {
265 QMessageBox::information(this, tr("Error"), tr("<p>You have to specify a recipient.<br>(eg: foo@bar.org)</p>"), tr("Ok"));
266 return;
267 }
268
269 Config cfg( "mailqueue", Config::User );
270
271 cfg.setGroup( "Settings" );
272 int count = cfg.readNumEntry( "count", 0 );
273 count++;
274 cfg.writeEntry( "count", count );
275 qDebug("queueing mail %i",count);
276
277 cfg.setGroup( "Mail_" + QString::number( count ));
278 cfg.writeEntry( "from", from->currentText() );
279 cfg.writeEntry( "reply", replyto->text());
280 cfg.writeEntry( "to", to->text());
281 cfg.writeEntry( "cc", cc->text());
282 cfg.writeEntry( "bcc", bcc->text());
283 cfg.writeEntry( "subject", subject->text());
284 cfg.writeEntryCrypt( "message", message->text());
285 cfg.writeEntry( "mime", attachView->childCount() == 0 );
286 cfg.writeEntry( "account", from->currentItem());
287 cfg.writeEntry( "priority", priority->currentItem() );
288 cfg.writeEntry( "attachments", attachView->childCount() );
289
290 Attachment a;
291 QListViewItem *item;
292 QString an;
293 int i = 0;
294 for (item = attachView->firstChild(); item != 0; item = item->itemBelow()) {
295 a = ((AttachViewItem *)item)->attachment();
296 an = "Attachment_" + QString::number( i++ );
297 cfg.writeEntry( an + "fileName", a.fileName() );
298 cfg.writeEntry( an + "newName", a.newName() );
299 cfg.writeEntry( an + "description", a.description() );
300 cfg.writeEntry( an + "docLnk", a.docLnk().file() );
301 }
302
303 //cfg.close();
304}
305
159void Composer::slotSendError(const QString &error) 306void Composer::slotSendError(const QString &error)
@@ -243,2 +390 @@ void Composer::slotDelAttach()
243} }
244
diff --git a/noncore/unsupported/mail2/composer.h b/noncore/unsupported/mail2/composer.h
index 2640d7e..00235bf 100644
--- a/noncore/unsupported/mail2/composer.h
+++ b/noncore/unsupported/mail2/composer.h
@@ -27,3 +27,3 @@ class Composer : public ComposerBase
27public: 27public:
28 Composer(QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); 28 Composer(QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal, bool sendQueue = false);
29 ~Composer(); 29 ~Composer();
@@ -35,2 +35,5 @@ public:
35 35
36public slots:
37 void slotSendQueued();
38
36protected slots: 39protected slots:
@@ -38,2 +41,3 @@ protected slots:
38 void slotSendMail(); 41 void slotSendMail();
42 void slotQueueMail();
39 void slotSendError(const QString &); 43 void slotSendError(const QString &);
@@ -51,2 +55,3 @@ protected:
51private: 55private:
56 bool _sendQueued;
52 bool _inLoop; 57 bool _inLoop;
diff --git a/noncore/unsupported/mail2/composerbase.cpp b/noncore/unsupported/mail2/composerbase.cpp
index 10d567d..6627701 100644
--- a/noncore/unsupported/mail2/composerbase.cpp
+++ b/noncore/unsupported/mail2/composerbase.cpp
@@ -28,2 +28,5 @@ ComposerBase::ComposerBase(QWidget *parent, const char *name, WFlags fl)
28 28
29 queuemail = new QAction(tr("Queue the mail"), QIconSet(Resource::loadPixmap("mail/sendall")), 0, 0, this);
30 queuemail->addTo(toolbar);
31
29 attachfile = new QAction(tr("Attach a file"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true); 32 attachfile = new QAction(tr("Attach a file"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true);
diff --git a/noncore/unsupported/mail2/composerbase.h b/noncore/unsupported/mail2/composerbase.h
index 75b77f4..9d3e4fc 100644
--- a/noncore/unsupported/mail2/composerbase.h
+++ b/noncore/unsupported/mail2/composerbase.h
@@ -43,3 +43,3 @@ protected:
43 QLineEdit *replyto, *to, *cc, *bcc, *subject; 43 QLineEdit *replyto, *to, *cc, *bcc, *subject;
44 QAction *sendmail, *attachfile, *addressbook, *abort, *addattach, *delattach; 44 QAction *sendmail, *queuemail, *attachfile, *addressbook, *abort, *addattach, *delattach;
45 QLabel *fromLabel, *status; 45 QLabel *fromLabel, *status;
diff --git a/noncore/unsupported/mail2/mainwindow.cpp b/noncore/unsupported/mail2/mainwindow.cpp
index 2230dc0..652db94 100644
--- a/noncore/unsupported/mail2/mainwindow.cpp
+++ b/noncore/unsupported/mail2/mainwindow.cpp
@@ -32,2 +32,3 @@ MainWindow::MainWindow(QWidget *parent, const char *name, WFlags fl)
32 connect(compose, SIGNAL(activated()), SLOT(slotCompose())); 32 connect(compose, SIGNAL(activated()), SLOT(slotCompose()));
33 connect(sendQueue, SIGNAL(activated()), SLOT(slotSendQueued()));
33 connect(findmails, SIGNAL(activated()), SLOT(slotSearch())); 34 connect(findmails, SIGNAL(activated()), SLOT(slotSearch()));
@@ -43,2 +44,11 @@ void MainWindow::slotCompose()
43 44
45void MainWindow::slotSendQueued()
46{
47 Composer composer(this, 0, true, true);
48 // composer.sendQueue();
49 composer.showMaximized();
50 composer.exec();
51 //composer.close();
52}
53
44void MainWindow::slotSearch() 54void MainWindow::slotSearch()
diff --git a/noncore/unsupported/mail2/mainwindow.h b/noncore/unsupported/mail2/mainwindow.h
index 1edf10b..27b527d 100644
--- a/noncore/unsupported/mail2/mainwindow.h
+++ b/noncore/unsupported/mail2/mainwindow.h
@@ -17,2 +17,3 @@ protected slots:
17 void slotCompose(); 17 void slotCompose();
18 void slotSendQueued();
18 void slotSearch(); 19 void slotSearch();
diff --git a/noncore/unsupported/mail2/mainwindowbase.cpp b/noncore/unsupported/mail2/mainwindowbase.cpp
index c55bd90..24f030f 100644
--- a/noncore/unsupported/mail2/mainwindowbase.cpp
+++ b/noncore/unsupported/mail2/mainwindowbase.cpp
@@ -28,2 +28,5 @@ MainWindowBase::MainWindowBase(QWidget *parent, const char *name, WFlags fl)
28 28
29 sendQueue = new QAction(tr("Send queued mails"), QIconSet(Resource::loadPixmap("mail/sendqueue")), 0, 0, this);
30 sendQueue->addTo(toolbar);
31
29 folders = new QAction(tr("Show/hide folders"), QIconSet(Resource::loadPixmap("mail/folder")), 0, 0, this, 0, true); 32 folders = new QAction(tr("Show/hide folders"), QIconSet(Resource::loadPixmap("mail/folder")), 0, 0, this, 0, true);
diff --git a/noncore/unsupported/mail2/mainwindowbase.h b/noncore/unsupported/mail2/mainwindowbase.h
index 0776f02..232d656 100644
--- a/noncore/unsupported/mail2/mainwindowbase.h
+++ b/noncore/unsupported/mail2/mainwindowbase.h
@@ -29,3 +29,3 @@ protected:
29 MailTable *mailView; 29 MailTable *mailView;
30 QAction *compose, *folders, *findmails, *configure, *stop; 30 QAction *compose, *sendQueue, *folders, *findmails, *configure, *stop;
31 QLabel *statusLabel; 31 QLabel *statusLabel;