summaryrefslogtreecommitdiff
authorharlekin <harlekin>2004-01-03 20:49:34 (UTC)
committer harlekin <harlekin>2004-01-03 20:49:34 (UTC)
commit02b7e56d865847ce8f4a35b7075f7b3bb7b0de76 (patch) (side-by-side diff)
treef8e0272523f9080ef2dee6901545febf854b2122
parenta89470252ffae1670e12ef5d81db08d0e27af265 (diff)
downloadopie-02b7e56d865847ce8f4a35b7075f7b3bb7b0de76.zip
opie-02b7e56d865847ce8f4a35b7075f7b3bb7b0de76.tar.gz
opie-02b7e56d865847ce8f4a35b7075f7b3bb7b0de76.tar.bz2
communicate outgoing mails status to the QPE/Pim channel ( to which the todayplugin listens for example)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.cpp30
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.h10
-rw-r--r--noncore/net/mail/opiemail.cpp3
-rw-r--r--noncore/net/mail/smtpwrapper.cpp30
-rw-r--r--noncore/net/mail/smtpwrapper.h10
5 files changed, 75 insertions, 8 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 );
+
};
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp
index e35f5b6..54453b7 100644
--- a/noncore/net/mail/opiemail.cpp
+++ b/noncore/net/mail/opiemail.cpp
@@ -26,4 +26,7 @@ OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags )
this, SLOT( appMessage( const QCString&, const QByteArray& ) ) );
#endif
+
+
+
}
diff --git a/noncore/net/mail/smtpwrapper.cpp b/noncore/net/mail/smtpwrapper.cpp
index 30c0707..7e03af9 100644
--- a/noncore/net/mail/smtpwrapper.cpp
+++ b/noncore/net/mail/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/smtpwrapper.h b/noncore/net/mail/smtpwrapper.h
index 0535983..05becf2 100644
--- a/noncore/net/mail/smtpwrapper.h
+++ b/noncore/net/mail/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 );
+
};