Diffstat (limited to 'kmicromail/libmailwrapper/pop3wrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/libmailwrapper/pop3wrapper.cpp | 21 |
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 | ||
99 | void POP3wrapper::listMessages(const QString &, QValueList<Opie::Core::OSmartPointer<RecMail> > &target ) | 100 | void 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 | ||
110 | void POP3wrapper::login() | 111 | void 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 | ||
188 | QValueList<Opie::Core::OSmartPointer<Folder> >* POP3wrapper::listFolders() { | 189 | QValueList<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 | ||
196 | void 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 | } | ||
195 | void POP3wrapper::deleteMail(const RecMailP&mail) { | 212 | void 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 | } |