summaryrefslogtreecommitdiff
path: root/noncore/net/mail/mboxwrapper.cpp
authoralwin <alwin>2003-12-30 00:14:47 (UTC)
committer alwin <alwin>2003-12-30 00:14:47 (UTC)
commitb636d3d91e8456b22bc450b3d7f3a862b7f615a9 (patch) (side-by-side diff)
tree2d7fe53175453a28e4e1d08496f6f611221c1936 /noncore/net/mail/mboxwrapper.cpp
parent2ecab614a6b91658b1608c62134cd14e257e55b7 (diff)
downloadopie-b636d3d91e8456b22bc450b3d7f3a862b7f615a9.zip
opie-b636d3d91e8456b22bc450b3d7f3a862b7f615a9.tar.gz
opie-b636d3d91e8456b22bc450b3d7f3a862b7f615a9.tar.bz2
re-worked pop3 (use the more generic interface)
shared some more functions between mbox and pop3
Diffstat (limited to 'noncore/net/mail/mboxwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mboxwrapper.cpp72
1 files changed, 4 insertions, 68 deletions
diff --git a/noncore/net/mail/mboxwrapper.cpp b/noncore/net/mail/mboxwrapper.cpp
index 162a0c9..0aa33dd 100644
--- a/noncore/net/mail/mboxwrapper.cpp
+++ b/noncore/net/mail/mboxwrapper.cpp
@@ -35,77 +35,13 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
mailstorage_free(storage);
return;
}
- mailmessage_list * env_list = 0;
- r = mailsession_get_messages_list(folder->fld_session,&env_list);
- if (r != MAIL_NO_ERROR) {
- qDebug("Error message list");
- mailfolder_free(folder);
- mailstorage_free(storage);
- return;
- }
- r = mailsession_get_envelopes_list(folder->fld_session, env_list);
- if (r != MAIL_NO_ERROR) {
- qDebug("Error filling message list");
- if (env_list) {
- mailmessage_list_free(env_list);
- }
- mailfolder_free(folder);
- mailstorage_free(storage);
- return;
- }
- mailimf_references * refs;
-
- uint32_t i = 0;
- for(; i < carray_count(env_list->msg_tab) ; ++i) {
- mailmessage * msg;
- QBitArray mFlags(7);
- msg = (mailmessage*)carray_get(env_list->msg_tab, i);
- if (msg->msg_fields == NULL) {
- qDebug("could not fetch envelope of message %i", i);
- continue;
- }
- RecMail * mail = new RecMail();
- mail->setWrapper(this);
- mail_flags * flag_result = 0;
- r = mailmessage_get_flags(msg,&flag_result);
- if (r == MAIL_ERROR_NOT_IMPLEMENTED) {
- mFlags.setBit(FLAG_SEEN);
- }
- mailimf_single_fields single_fields;
- mailimf_single_fields_init(&single_fields, msg->msg_fields);
- mail->setMsgsize(msg->msg_size);
- mail->setFlags(mFlags);
- mail->setMbox(mailbox);
- mail->setNumber(i+1);
- if (single_fields.fld_subject)
- mail->setSubject( convert_String(single_fields.fld_subject->sbj_value));
- if (single_fields.fld_from)
- mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list));
- if (single_fields.fld_to)
- mail->setTo( parseAddressList( single_fields.fld_to->to_addr_list ) );
- if (single_fields.fld_cc)
- mail->setCC( parseAddressList( single_fields.fld_cc->cc_addr_list ) );
- if (single_fields.fld_bcc)
- mail->setBcc( parseAddressList( single_fields.fld_bcc->bcc_addr_list ) );
- if (single_fields.fld_orig_date)
- mail->setDate( parseDateTime( single_fields.fld_orig_date->dt_date_time ) );
- if (single_fields.fld_message_id->mid_value)
- mail->setMsgid(QString(single_fields.fld_message_id->mid_value));
- refs = single_fields.fld_references;
- if (refs && refs->mid_list && clist_count(refs->mid_list)) {
- char * text = (char*)refs->mid_list->first->data;
- mail->setReplyto(QString(text));
- }
-
- target.append(mail);
- }
- if (env_list) {
- mailmessage_list_free(env_list);
- }
+
+ parseList(target,folder->fld_session,mailbox);
+
mailfolder_disconnect(folder);
mailfolder_free(folder);
mailstorage_free(storage);
- Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(i));
+ Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count()));
}
QList<Folder>* MBOXwrapper::listFolders()