Diffstat (limited to 'noncore/net/mail/libmailwrapper/smtpwrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.cpp | 22 |
1 files changed, 22 insertions, 0 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 @@ -7,6 +7,9 @@ #include <qdir.h> #include <qt.h> +#include <qpe/config.h> +#include <qpe/qcopenvelope_qws.h> + #include <libetpan/libetpan.h> #include "smtpwrapper.h" @@ -23,6 +26,16 @@ SMTPwrapper::SMTPwrapper( Settings *s ) : QObject() { 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; } QString SMTPwrapper::mailsmtpError( int errnum ) @@ -507,6 +520,10 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) if (later) { 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; } from = getFrom( mail ); @@ -700,6 +717,11 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) mailsToSend.removeFirst(); 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; sendProgress = 0; |