summaryrefslogtreecommitdiff
authortille <tille>2002-06-18 23:53:27 (UTC)
committer tille <tille>2002-06-18 23:53:27 (UTC)
commit14881bb4baf3ac470a135bdde6ffb115c91ea124 (patch) (unidiff)
tree6d088cdacd769076e64496abe6b9043168b75928
parentf2ecc05c1156ae0f99ea0528646609d63eaa84c0 (diff)
downloadopie-14881bb4baf3ac470a135bdde6ffb115c91ea124.zip
opie-14881bb4baf3ac470a135bdde6ffb115c91ea124.tar.gz
opie-14881bb4baf3ac470a135bdde6ffb115c91ea124.tar.bz2
added menu and fix send queued
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/composer.cpp55
-rw-r--r--noncore/unsupported/mail2/composer.h3
-rw-r--r--noncore/unsupported/mail2/composerbase.cpp9
-rw-r--r--noncore/unsupported/mail2/composerbase.h4
-rw-r--r--noncore/unsupported/mail2/libmail/libmail.pro3
-rw-r--r--noncore/unsupported/mail2/mail.pro3
-rw-r--r--noncore/unsupported/mail2/mainwindowbase.cpp12
-rw-r--r--noncore/unsupported/mail2/mainwindowbase.h4
8 files changed, 74 insertions, 19 deletions
diff --git a/noncore/unsupported/mail2/composer.cpp b/noncore/unsupported/mail2/composer.cpp
index 1d793ee..72a7242 100644
--- a/noncore/unsupported/mail2/composer.cpp
+++ b/noncore/unsupported/mail2/composer.cpp
@@ -65,9 +65,8 @@ void Composer::hide()
65 65
66void Composer::exec() 66void Composer::exec()
67{ 67{
68 show(); 68 show();
69
70 if (!_inLoop) { 69 if (!_inLoop) {
71 _inLoop = true; 70 _inLoop = true;
72 qApp->enter_loop(); 71 qApp->enter_loop();
73 } 72 }
@@ -93,13 +92,9 @@ void Composer::setSendMail(SendMail &sendMail)
93void Composer::slotResizing() 92void Composer::slotResizing()
94{ 93{
95 from->setMaximumWidth(width() - fromBox->width()); 94 from->setMaximumWidth(width() - fromBox->width());
96 from->resize(width() - fromBox->width(), y()); 95 from->resize(width() - fromBox->width(), y());
97 if (_sendQueued) 96 if (_sendQueued) slotSendQueued();
98 {
99 slotSendQueued();
100 close();
101 }
102} 97}
103 98
104void Composer::slotPopupHandler(int itemid) 99void Composer::slotPopupHandler(int itemid)
105{ 100{
@@ -170,17 +165,17 @@ void Composer::slotSendQueued()
170 165
171 qDebug("Sending queued messages"); 166 qDebug("Sending queued messages");
172 Config cfg( "mailqueue", Config::User ); 167 Config cfg( "mailqueue", Config::User );
173 cfg.setGroup( "Settings" ); 168 cfg.setGroup( "Settings" );
174 int count = cfg.readNumEntry( "count", 0 ); 169 _sendCount = 0;
175 // tille: should not be here 170 _sendError = 0;
176 // but no error checking for the moment 171 _toSend = cfg.readNumEntry( "count", 0 );
177 cfg.writeEntry( "count", 0 );
178 172
173 if (_toSend == 0) close();
179 174
180 qDebug("%i messages to send", count); 175 qDebug("%i messages to send", _toSend);
181 QString str; 176 QString str;
182 for (int i=1;i<=count;i++) 177 for (int i=1;i<=_toSend;i++)
183 { 178 {
184 qDebug("sending message %i",i); 179 qDebug("sending message %i",i);
185 cfg.setGroup( "Mail_" + QString::number(i) ); 180 cfg.setGroup( "Mail_" + QString::number(i) );
186 SendMail smail; 181 SendMail smail;
@@ -248,15 +243,12 @@ void Composer::slotSendQueued()
248 243
249 qDebug("Sending to %s",toAdr.latin1()); 244 qDebug("Sending to %s",toAdr.latin1());
250 SmtpHandler *handler = new SmtpHandler(header, message, accnt ,toAdr); 245 SmtpHandler *handler = new SmtpHandler(header, message, accnt ,toAdr);
251 246
252 connect(handler, SIGNAL(finished()), SLOT(slotSendFinished())); 247 connect(handler, SIGNAL(finished()), SLOT(slotSendQueuedFinished()));
253 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendError(const QString &))); 248 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendQueuedError(const QString &)));
254 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setText(const QString &))); 249 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setText(const QString &)));
255 250
256 qDebug("remove mail %i", i);
257 cfg.clearGroup();
258 cfg.removeEntry( "Mail_" + QString::number(i) );
259 } 251 }
260} 252}
261 253
262void Composer::slotQueueMail() 254void Composer::slotQueueMail()
@@ -309,16 +301,45 @@ void Composer::slotSendError(const QString &error)
309 status->setText(tr("<font color=#ff0000>Error occoured during sending.</font>")); 301 status->setText(tr("<font color=#ff0000>Error occoured during sending.</font>"));
310 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok")); 302 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok"));
311} 303}
312 304
305void Composer::slotSendQueuedError(const QString &error)
306{
307 _sendError++;
308 qDebug("error send mail %i",_sendCount);
309 status->setText(tr("<font color=#ff0000>Error occoured during sending.</font>"));
310 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok"));
311}
312
313void Composer::slotSendFinished() 313void Composer::slotSendFinished()
314{ 314{
315 QMessageBox::information(this, tr("Success"), tr("<p>The mail was sent successfully.</p>"), tr("Ok")); 315 QMessageBox::information(this, tr("Success"), tr("<p>The mail was sent successfully.</p>"), tr("Ok"));
316 316
317 status->setText(QString(0)); 317 status->setText(QString(0));
318 abort->setEnabled(false); 318 abort->setEnabled(false);
319} 319}
320 320
321void Composer::slotSendQueuedFinished()
322{
323
324 _sendCount++;
325 qDebug("finished send mail %i of %i (error %i)",_sendCount,_toSend,_sendError);
326 if (_sendCount < _toSend) return;
327 if (_sendError == _toSend) close();
328 QMessageBox::information(this, tr("Success"), tr("<p>The queued mails ")+QString::number(_toSend-_sendError)+tr(" of ")+QString::number(_toSend)+(" were sent successfully.</p>"), tr("Ok"));
329 Config cfg( "mailqueue", Config::User );
330 cfg.setGroup( "Settings" );
331 cfg.writeEntry( "count", 0 );
332 for (int i=1;i<=_sendCount;i++)
333 {
334 cfg.setGroup( "Mail_" + QString::number(i) );
335 qDebug("remove mail %i", i);
336 cfg.clearGroup();
337 cfg.removeEntry( "Mail_" + QString::number(i) );
338 }
339 close();
340}
341
321void Composer::slotFillStuff() 342void Composer::slotFillStuff()
322{ 343{
323 QValueList<Account> accounts = ConfigFile::getAccounts(); 344 QValueList<Account> accounts = ConfigFile::getAccounts();
324 int i = 0; 345 int i = 0;
diff --git a/noncore/unsupported/mail2/composer.h b/noncore/unsupported/mail2/composer.h
index 00235bf..0b2a54c 100644
--- a/noncore/unsupported/mail2/composer.h
+++ b/noncore/unsupported/mail2/composer.h
@@ -41,8 +41,10 @@ protected slots:
41 void slotSendMail(); 41 void slotSendMail();
42 void slotQueueMail(); 42 void slotQueueMail();
43 void slotSendError(const QString &); 43 void slotSendError(const QString &);
44 void slotSendFinished(); 44 void slotSendFinished();
45 void slotSendQueuedError(const QString &);
46 void slotSendQueuedFinished();
45 void slotResizing(); 47 void slotResizing();
46 void slotFillStuff(); 48 void slotFillStuff();
47 void slotFromChanged(int id); 49 void slotFromChanged(int id);
48 void slotOpenAddressPicker(); 50 void slotOpenAddressPicker();
@@ -53,8 +55,9 @@ protected:
53 QValueList<Account> accountsLoaded; 55 QValueList<Account> accountsLoaded;
54 56
55private: 57private:
56 bool _sendQueued; 58 bool _sendQueued;
59 int _toSend, _sendCount, _sendError;
57 bool _inLoop; 60 bool _inLoop;
58 QString _inReplyTo; 61 QString _inReplyTo;
59 62
60}; 63};
diff --git a/noncore/unsupported/mail2/composerbase.cpp b/noncore/unsupported/mail2/composerbase.cpp
index 6627701..ff00a73 100644
--- a/noncore/unsupported/mail2/composerbase.cpp
+++ b/noncore/unsupported/mail2/composerbase.cpp
@@ -7,8 +7,9 @@
7#include <qlabel.h> 7#include <qlabel.h>
8#include <qvbox.h> 8#include <qvbox.h>
9 9
10#include <qpe/qpetoolbar.h> 10#include <qpe/qpetoolbar.h>
11#include <qpe/qpemenubar.h>
11#include <qpe/resource.h> 12#include <qpe/resource.h>
12 13
13#include "listviewplus.h" 14#include "listviewplus.h"
14#include "composerbase.h" 15#include "composerbase.h"
@@ -19,30 +20,38 @@ ComposerBase::ComposerBase(QWidget *parent, const char *name, WFlags fl)
19 setCaption(tr("Compose Message")); 20 setCaption(tr("Compose Message"));
20 setToolBarsMovable(false); 21 setToolBarsMovable(false);
21 22
22 toolbar = new QPEToolBar(this); 23 toolbar = new QPEToolBar(this);
24 menubar = new QPEMenuBar( toolbar );
25 mailmenu = new QPopupMenu( menubar );
26 menubar->insertItem( tr( "Mail" ), mailmenu );
23 addToolBar(toolbar); 27 addToolBar(toolbar);
24 toolbar->setHorizontalStretchable(true); 28 toolbar->setHorizontalStretchable(true);
25 29
26 sendmail = new QAction(tr("Send the mail"), QIconSet(Resource::loadPixmap("mail/sendmail")), 0, 0, this); 30 sendmail = new QAction(tr("Send the mail"), QIconSet(Resource::loadPixmap("mail/sendmail")), 0, 0, this);
27 sendmail->addTo(toolbar); 31 sendmail->addTo(toolbar);
32 sendmail->addTo(mailmenu);
28 33
29 queuemail = new QAction(tr("Queue the mail"), QIconSet(Resource::loadPixmap("mail/sendall")), 0, 0, this); 34 queuemail = new QAction(tr("Queue the mail"), QIconSet(Resource::loadPixmap("mail/sendall")), 0, 0, this);
30 queuemail->addTo(toolbar); 35 queuemail->addTo(toolbar);
36 queuemail->addTo(mailmenu);
31 37
32 attachfile = new QAction(tr("Attach a file"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true); 38 attachfile = new QAction(tr("Attach a file"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true);
33 attachfile->addTo(toolbar); 39 attachfile->addTo(toolbar);
40 attachfile->addTo(mailmenu);
34 connect(attachfile, SIGNAL(toggled(bool)), SLOT(slotAttachfileChanged(bool))); 41 connect(attachfile, SIGNAL(toggled(bool)), SLOT(slotAttachfileChanged(bool)));
35 42
36 addressbook = new QAction(tr("Addressbook"), QIconSet(Resource::loadPixmap("mail/addbook")), 0, 0, this); 43 addressbook = new QAction(tr("Addressbook"), QIconSet(Resource::loadPixmap("mail/addbook")), 0, 0, this);
37 addressbook->addTo(toolbar); 44 addressbook->addTo(toolbar);
45 addressbook->addTo(mailmenu);
38 46
39 QLabel *spacer = new QLabel(toolbar); 47 QLabel *spacer = new QLabel(toolbar);
40 spacer->setBackgroundMode(QWidget::PaletteButton); 48 spacer->setBackgroundMode(QWidget::PaletteButton);
41 toolbar->setStretchableWidget(spacer); 49 toolbar->setStretchableWidget(spacer);
42 50
43 abort = new QAction(tr("Abort sending"), QIconSet(Resource::loadPixmap("mail/abort")), 0, 0, this); 51 abort = new QAction(tr("Abort sending"), QIconSet(Resource::loadPixmap("mail/abort")), 0, 0, this);
44 abort->addTo(toolbar); 52 abort->addTo(toolbar);
53 abort->addTo(mailmenu);
45 54
46 QWidget *main = new QWidget(this); 55 QWidget *main = new QWidget(this);
47 setCentralWidget(main); 56 setCentralWidget(main);
48 57
diff --git a/noncore/unsupported/mail2/composerbase.h b/noncore/unsupported/mail2/composerbase.h
index 9d3e4fc..d832623 100644
--- a/noncore/unsupported/mail2/composerbase.h
+++ b/noncore/unsupported/mail2/composerbase.h
@@ -6,8 +6,10 @@
6class QMultiLineEdit; 6class QMultiLineEdit;
7class ListViewPlus; 7class ListViewPlus;
8class QPopupMenu; 8class QPopupMenu;
9class QPEToolBar; 9class QPEToolBar;
10class QPEMenuBar;
11class QPopupMenu;
10class QComboBox; 12class QComboBox;
11class QLineEdit; 13class QLineEdit;
12class QAction; 14class QAction;
13class QLabel; 15class QLabel;
@@ -38,8 +40,10 @@ protected:
38 ListViewPlus *attachView; 40 ListViewPlus *attachView;
39 QMainWindow *attachWindow; 41 QMainWindow *attachWindow;
40 QPopupMenu *attachPopup; 42 QPopupMenu *attachPopup;
41 QPEToolBar *toolbar, *attachToolbar; 43 QPEToolBar *toolbar, *attachToolbar;
44 QPEMenuBar *menubar;
45 QPopupMenu *mailmenu;
42 QComboBox *fromBox, *from, *receiversBox, *subjectBox, *priority; 46 QComboBox *fromBox, *from, *receiversBox, *subjectBox, *priority;
43 QLineEdit *replyto, *to, *cc, *bcc, *subject; 47 QLineEdit *replyto, *to, *cc, *bcc, *subject;
44 QAction *sendmail, *queuemail, *attachfile, *addressbook, *abort, *addattach, *delattach; 48 QAction *sendmail, *queuemail, *attachfile, *addressbook, *abort, *addattach, *delattach;
45 QLabel *fromLabel, *status; 49 QLabel *fromLabel, *status;
diff --git a/noncore/unsupported/mail2/libmail/libmail.pro b/noncore/unsupported/mail2/libmail/libmail.pro
index 662af90..ddabd07 100644
--- a/noncore/unsupported/mail2/libmail/libmail.pro
+++ b/noncore/unsupported/mail2/libmail/libmail.pro
@@ -1,6 +1,7 @@
1 TEMPLATE =lib 1 TEMPLATE =lib
2 CONFIG =qt warn_on release 2 CONFIG =qt warn_on debug
3 #CONFIG =qt warn_on release
3 HEADERS =configfile.h \ 4 HEADERS =configfile.h \
4 defines.h \ 5 defines.h \
5 imapbase.h \ 6 imapbase.h \
6 imaphandler.h \ 7 imaphandler.h \
diff --git a/noncore/unsupported/mail2/mail.pro b/noncore/unsupported/mail2/mail.pro
index 50d7c68..76b7996 100644
--- a/noncore/unsupported/mail2/mail.pro
+++ b/noncore/unsupported/mail2/mail.pro
@@ -1,6 +1,7 @@
1 TEMPLATE = app 1 TEMPLATE = app
2 CONFIG = qt warn_on release 2 CONFIG = qt warn_on debug
3 #CONFIG = qt warn_on release
3 HEADERS = accounteditor.h \ 4 HEADERS = accounteditor.h \
4 addresspicker.h \ 5 addresspicker.h \
5 attachdiag.h \ 6 attachdiag.h \
6 composer.h \ 7 composer.h \
diff --git a/noncore/unsupported/mail2/mainwindowbase.cpp b/noncore/unsupported/mail2/mainwindowbase.cpp
index 24f030f..9ffe6f0 100644
--- a/noncore/unsupported/mail2/mainwindowbase.cpp
+++ b/noncore/unsupported/mail2/mainwindowbase.cpp
@@ -6,8 +6,9 @@
6#include <qlabel.h> 6#include <qlabel.h>
7#include <qvbox.h> 7#include <qvbox.h>
8 8
9#include <qpe/qpetoolbar.h> 9#include <qpe/qpetoolbar.h>
10#include <qpe/qpemenubar.h>
10#include <qpe/resource.h> 11#include <qpe/resource.h>
11 12
12#include "mainwindowbase.h" 13#include "mainwindowbase.h"
13#include "folderwidget.h" 14#include "folderwidget.h"
@@ -19,26 +20,37 @@ MainWindowBase::MainWindowBase(QWidget *parent, const char *name, WFlags fl)
19 setCaption(tr("E-Mail")); 20 setCaption(tr("E-Mail"));
20 setToolBarsMovable(false); 21 setToolBarsMovable(false);
21 22
22 toolbar = new QPEToolBar(this); 23 toolbar = new QPEToolBar(this);
24 menubar = new QPEMenuBar( toolbar );
25 mailmenu = new QPopupMenu( menubar );
26 servermenu = new QPopupMenu( menubar );
27 menubar->insertItem( tr( "Mail" ), mailmenu );
28 menubar->insertItem( tr( "Servers" ), servermenu );
29
23 addToolBar(toolbar); 30 addToolBar(toolbar);
24 toolbar->setHorizontalStretchable(true); 31 toolbar->setHorizontalStretchable(true);
25 32
26 compose = new QAction(tr("Compose new mail"), QIconSet(Resource::loadPixmap("mail/newmail")), 0, 0, this); 33 compose = new QAction(tr("Compose new mail"), QIconSet(Resource::loadPixmap("mail/newmail")), 0, 0, this);
27 compose->addTo(toolbar); 34 compose->addTo(toolbar);
35 compose->addTo(mailmenu);
28 36
29 sendQueue = new QAction(tr("Send queued mails"), QIconSet(Resource::loadPixmap("mail/sendqueue")), 0, 0, this); 37 sendQueue = new QAction(tr("Send queued mails"), QIconSet(Resource::loadPixmap("mail/sendqueue")), 0, 0, this);
30 sendQueue->addTo(toolbar); 38 sendQueue->addTo(toolbar);
39 sendQueue->addTo(mailmenu);
31 40
32 folders = new QAction(tr("Show/hide folders"), QIconSet(Resource::loadPixmap("mail/folder")), 0, 0, this, 0, true); 41 folders = new QAction(tr("Show/hide folders"), QIconSet(Resource::loadPixmap("mail/folder")), 0, 0, this, 0, true);
33 folders->addTo(toolbar); 42 folders->addTo(toolbar);
43 folders->addTo(servermenu);
34 connect(folders, SIGNAL(toggled(bool)), SLOT(slotFoldersToggled(bool))); 44 connect(folders, SIGNAL(toggled(bool)), SLOT(slotFoldersToggled(bool)));
35 45
36 findmails = new QAction(tr("Search mails"), QIconSet(Resource::loadPixmap("mail/find")), 0, 0, this); 46 findmails = new QAction(tr("Search mails"), QIconSet(Resource::loadPixmap("mail/find")), 0, 0, this);
37 findmails->addTo(toolbar); 47 findmails->addTo(toolbar);
48 findmails->addTo(mailmenu);
38 49
39 configure = new QAction(tr("Configuration"), QIconSet(Resource::loadPixmap("mail/configure")), 0, 0, this); 50 configure = new QAction(tr("Configuration"), QIconSet(Resource::loadPixmap("mail/configure")), 0, 0, this);
40 configure->addTo(toolbar); 51 configure->addTo(toolbar);
52 configure->addTo(servermenu);
41 53
42 QLabel *spacer = new QLabel(toolbar); 54 QLabel *spacer = new QLabel(toolbar);
43 spacer->setBackgroundMode(QWidget::PaletteButton); 55 spacer->setBackgroundMode(QWidget::PaletteButton);
44 toolbar->setStretchableWidget(spacer); 56 toolbar->setStretchableWidget(spacer);
diff --git a/noncore/unsupported/mail2/mainwindowbase.h b/noncore/unsupported/mail2/mainwindowbase.h
index 232d656..d8faeba 100644
--- a/noncore/unsupported/mail2/mainwindowbase.h
+++ b/noncore/unsupported/mail2/mainwindowbase.h
@@ -6,8 +6,10 @@
6class ServerConnection; 6class ServerConnection;
7class QProgressBar; 7class QProgressBar;
8class FolderWidget; 8class FolderWidget;
9class QPEToolBar; 9class QPEToolBar;
10class QPEMenuBar;
11class QPopupMenu;
10class MailTable; 12class MailTable;
11class QAction; 13class QAction;
12class QLabel; 14class QLabel;
13 15
@@ -25,8 +27,10 @@ protected:
25 ServerConnection *serverConnection; 27 ServerConnection *serverConnection;
26 QProgressBar *statusProgress; 28 QProgressBar *statusProgress;
27 FolderWidget *folderView; 29 FolderWidget *folderView;
28 QPEToolBar *toolbar; 30 QPEToolBar *toolbar;
31 QPEMenuBar *menubar;
32 QPopupMenu *mailmenu, *servermenu;
29 MailTable *mailView; 33 MailTable *mailView;
30 QAction *compose, *sendQueue, *folders, *findmails, *configure, *stop; 34 QAction *compose, *sendQueue, *folders, *findmails, *configure, *stop;
31 QLabel *statusLabel; 35 QLabel *statusLabel;
32 36