summaryrefslogtreecommitdiffabout
path: root/kmicromail/libmailwrapper/pop3wrapper.cpp
Unidiff
Diffstat (limited to 'kmicromail/libmailwrapper/pop3wrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libmailwrapper/pop3wrapper.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/kmicromail/libmailwrapper/pop3wrapper.cpp b/kmicromail/libmailwrapper/pop3wrapper.cpp
index e5d083a..7a84b30 100644
--- a/kmicromail/libmailwrapper/pop3wrapper.cpp
+++ b/kmicromail/libmailwrapper/pop3wrapper.cpp
@@ -1,8 +1,9 @@
1// CHANGED 2004-09-31 Lutz Rogowski
1#include <stdlib.h> 2#include <stdlib.h>
2#include "pop3wrapper.h" 3#include "pop3wrapper.h"
3#include "mailtypes.h" 4#include "mailtypes.h"
4#include "logindialog.h" 5#include "logindialog.h"
5#include <libetpan/libetpan.h> 6#include <libetpan/libetpan.h>
6 7
7 8
8#include <qpe/global.h> 9#include <qpe/global.h>
@@ -91,24 +92,24 @@ RecBodyP POP3wrapper::fetchBody( const RecMailP &mail ) {
91 if (mailmsg) 92 if (mailmsg)
92 mailmessage_free(mailmsg); 93 mailmessage_free(mailmsg);
93 if (message) 94 if (message)
94 free(message); 95 free(message);
95 96
96 return body; 97 return body;
97} 98}
98 99
99void POP3wrapper::listMessages(const QString &, QValueList<Opie::Core::OSmartPointer<RecMail> > &target ) 100void POP3wrapper::listMessages(const QString &, QValueList<Opie::Core::OSmartPointer<RecMail> > &target, int maxSizeInKb )
100{ 101{
101 login(); 102 login();
102 if (!m_pop3) 103 if (!m_pop3)
103 return; 104 return;
104 uint32_t res_messages,res_recent,res_unseen; 105 uint32_t res_messages,res_recent,res_unseen;
105 mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen); 106 mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen);
106 parseList(target,m_pop3->sto_session,"INBOX"); 107 parseList(target,m_pop3->sto_session,"INBOX", false, maxSizeInKb);
107 Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages)); 108 Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages));
108} 109}
109 110
110void POP3wrapper::login() 111void POP3wrapper::login()
111{ 112{
112 if (account->getOffline()) 113 if (account->getOffline())
113 return; 114 return;
114 /* we'll hold the line */ 115 /* we'll hold the line */
@@ -187,16 +188,32 @@ void POP3wrapper::logout()
187 188
188QValueList<Opie::Core::OSmartPointer<Folder> >* POP3wrapper::listFolders() { 189QValueList<Opie::Core::OSmartPointer<Folder> >* POP3wrapper::listFolders() {
189 QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<FolderP>(); 190 QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<FolderP>();
190 FolderP inb=new Folder("INBOX","/"); 191 FolderP inb=new Folder("INBOX","/");
191 folders->append(inb); 192 folders->append(inb);
192 return folders; 193 return folders;
193} 194}
194 195
196void POP3wrapper::deleteMailList(QValueList<RecMailP>&target)
197{
198 login();
199 if (!m_pop3)
200 return;
201 int iii = 0;
202 int count = target.count();
203 while (iii < count ) {
204 RecMailP mail = (*target.at( iii ));
205 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber());
206 if (err != MAIL_NO_ERROR) {
207 Global::statusMessage(tr("error deleting mail"));
208 }
209 ++iii;
210 }
211}
195void POP3wrapper::deleteMail(const RecMailP&mail) { 212void POP3wrapper::deleteMail(const RecMailP&mail) {
196 login(); 213 login();
197 if (!m_pop3) 214 if (!m_pop3)
198 return; 215 return;
199 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber()); 216 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber());
200 if (err != MAIL_NO_ERROR) { 217 if (err != MAIL_NO_ERROR) {
201 Global::statusMessage(tr("error deleting mail")); 218 Global::statusMessage(tr("error deleting mail"));
202 } 219 }