summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/sendmailprogress.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/sendmailprogressui.ui4
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.cpp15
3 files changed, 16 insertions, 7 deletions
diff --git a/noncore/net/mail/libmailwrapper/sendmailprogress.cpp b/noncore/net/mail/libmailwrapper/sendmailprogress.cpp
index 13ddd37..ef22750 100644
--- a/noncore/net/mail/libmailwrapper/sendmailprogress.cpp
+++ b/noncore/net/mail/libmailwrapper/sendmailprogress.cpp
@@ -1,13 +1,13 @@
#include "sendmailprogress.h"
#include <qprogressbar.h>
#include <qlabel.h>
#include <qstring.h>
progressMailSend::progressMailSend(QWidget*parent, const char * name)
- :progressMailSendUI(parent,name,false),m_current_mail(0),m_current_single(0),m_max_mail(0),m_max_single(0)
+ :progressMailSendUI(parent,name,true),m_current_mail(0),m_current_single(0),m_max_mail(0),m_max_single(0)
{
}
progressMailSend::~progressMailSend()
{
}
@@ -40,9 +40,9 @@ void progressMailSend::setSingle()
singleMailProgressBar->setTotalSteps(m_max_single);
singleMailProgressBar->setProgress(m_current_single);
}
void progressMailSend::setMails()
{
- QString text = QString(tr("Sending mail %1 of %2")).arg(m_current_single+1).arg(m_max_single);
+ QString text = QString(tr("Sending mail %1 of %2")).arg(m_current_mail+1).arg(m_max_mail);
allMailLabel->setText(text);
}
diff --git a/noncore/net/mail/libmailwrapper/sendmailprogressui.ui b/noncore/net/mail/libmailwrapper/sendmailprogressui.ui
index b90b088..287ab5e 100644
--- a/noncore/net/mail/libmailwrapper/sendmailprogressui.ui
+++ b/noncore/net/mail/libmailwrapper/sendmailprogressui.ui
@@ -8,14 +8,14 @@
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>316</width>
- <height>266</height>
+ <width>221</width>
+ <height>127</height>
</rect>
</property>
<property stdset="1">
<name>caption</name>
<string>Sending mail</string>
</property>
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
index 53c0af5..770e2b8 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
@@ -522,13 +522,13 @@ void SMTPwrapper::readFromFile(const QString&file, char **data, size_t *size )
}
void SMTPwrapper::progress( size_t current, size_t maximum )
{
if (SMTPwrapper::sendProgress) {
SMTPwrapper::sendProgress->setSingleMail(current, maximum );
- qDebug("%u of %u",current,maximum);
+ qApp->processEvents();
}
}
void SMTPwrapper::storeMail(char*mail, size_t length, const QString&box)
{
if (!mail) return;
@@ -649,15 +649,15 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later )
mimeMail = createMimeMail(mail );
if ( mimeMail == NULL ) {
qDebug( "sendMail: error creating mime mail" );
} else {
sendProgress = new progressMailSend();
- sendProgress->showMaximized();
+// sendProgress->showMaximized();
sendProgress->show();
- qApp->processEvents(10);
+ sendProgress->setMaxMails(1);
smtpSend( mimeMail,later,smtp);
mailmime_free( mimeMail );
qDebug("Clean up done");
sendProgress->hide();
delete sendProgress;
sendProgress = 0;
@@ -710,19 +710,28 @@ void SMTPwrapper::flushOutbox(SMTPaccount*smtp)
wrap->listMessages(mbox,mailsToSend);
if (mailsToSend.count()==0) {
delete wrap;
return;
}
mailsToSend.setAutoDelete(false);
+ sendProgress = new progressMailSend();
+// sendProgress->showMaximized();
+ sendProgress->show();
+ sendProgress->setMaxMails(mailsToSend.count());
+
while (mailsToSend.count()>0) {
if (sendQueuedMail(wrap,smtp,mailsToSend.at(0))==0) {
QMessageBox::critical(0,tr("Error sending mail"),
tr("Error sending queued mail - breaking"));
break;
}
mailsToRemove.append(mailsToSend.at(0));
mailsToSend.removeFirst();
+ sendProgress->setCurrentMails(mailsToRemove.count());
}
+ sendProgress->hide();
+ delete sendProgress;
+ sendProgress = 0;
wrap->deleteMails(mbox,mailsToRemove);
mailsToSend.setAutoDelete(true);
delete wrap;
}