Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.cpp | 30 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.h | 10 |
2 files changed, 36 insertions, 4 deletions
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp index 30c0707..7e03af9 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp @@ -8,4 +8,7 @@ #include <qt.h> +#include <qpe/config.h> +#include <qpe/qcopenvelope_qws.h> + #include <libetpan/libetpan.h> @@ -24,4 +27,14 @@ SMTPwrapper::SMTPwrapper( Settings *s ) { settings = s; + Config cfg( "mail" ); + cfg.setGroup( "Status" ); + m_queuedMail = cfg.readNumEntry( "outgoing", 0 ); + emit queuedMails( m_queuedMail ); + connect( this, SIGNAL( queuedMails( int ) ), this, SLOT( emitQCop( int ) ) ); +} + +void SMTPwrapper::emitQCop( int queued ) { + QCopEnvelope env( "QPE/Pim", "outgoingMails(int)" ); + env << queued; } @@ -249,5 +262,5 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety file = strdup( filename.latin1() ); // full name with path } - + int disptype = MAILMIME_DISPOSITION_TYPE_ATTACHMENT; int mechanism = MAILMIME_MECHANISM_BASE64; @@ -351,5 +364,5 @@ mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) txtPart = buildTxtPart( mail.getMessage() ); - + if ( txtPart == NULL ) goto err_free_message; @@ -490,5 +503,5 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) } from = data = 0; - + mailmessage * msg = 0; msg = mime_message_init(mail); @@ -508,4 +521,8 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) storeMail((char*)tmp.data(),tmp.length(),"Outgoing"); if (data) free( data ); + Config cfg( "mail" ); + cfg.setGroup( "Status" ); + cfg.writeEntry( "outgoing", ++m_queuedMail ); + emit queuedMails( m_queuedMail ); return; } @@ -654,5 +671,5 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) if (data) { free(data); - } + } if (from) { free(from); @@ -701,4 +718,9 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) sendProgress->setCurrentMails(mailsToRemove.count()); } + Config cfg( "mail" ); + cfg.setGroup( "Status" ); + m_queuedMail = 0; + cfg.writeEntry( "outgoing", m_queuedMail ); + emit queuedMails( m_queuedMail ); sendProgress->hide(); delete sendProgress; diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.h b/noncore/net/mail/libmailwrapper/smtpwrapper.h index 0535983..05becf2 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.h +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.h @@ -32,4 +32,8 @@ public: static progressMailSend*sendProgress; + +signals: + void queuedMails( int ); + protected: mailimf_mailbox *newMailbox(const QString&name,const QString&mail ); @@ -57,4 +61,10 @@ protected: int sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which); + + int m_queuedMail; + +protected slots: + void emitQCop( int queued ); + }; |