From 49c02bbbb7a0aeee933d58ba1d3d3e86e6bc7838 Mon Sep 17 00:00:00 2001 From: alwin Date: Tue, 16 Dec 2003 13:14:05 +0000 Subject: saving of attachments implemented. --- (limited to 'noncore/net/mail/libmailwrapper/abstractmail.cpp') diff --git a/noncore/net/mail/libmailwrapper/abstractmail.cpp b/noncore/net/mail/libmailwrapper/abstractmail.cpp index 0bb2525..92a46f1 100644 --- a/noncore/net/mail/libmailwrapper/abstractmail.cpp +++ b/noncore/net/mail/libmailwrapper/abstractmail.cpp @@ -1,6 +1,7 @@ #include "abstractmail.h" #include "imapwrapper.h" #include "pop3wrapper.h" +#include "mailtypes.h" #include #include @@ -16,19 +17,32 @@ AbstractMail* AbstractMail::getWrapper(POP3account *a) return new POP3wrapper(a); } -QString AbstractMail::decode_quoted_printable(const char*text) +encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) { + qDebug("Decode string start"); char*result_text; size_t index = 0; - QString result = ""; /* reset for recursive use! */ size_t target_length = 0; result_text = 0; - int err = mailmime_quoted_printable_body_parse(text,strlen(text), - &index,&result_text,&target_length,0); - if (result_text) { - result = result_text; - free(result_text); + int mimetype = MAILMIME_MECHANISM_7BIT; + if (enc.lower()=="quoted-printable") { + mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE; + } else if (enc.lower()=="base64") { + mimetype = MAILMIME_MECHANISM_BASE64; + } else if (enc.lower()=="8bit") { + mimetype = MAILMIME_MECHANISM_8BIT; + } else if (enc.lower()=="binary") { + mimetype = MAILMIME_MECHANISM_BINARY; } + + int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype, + &result_text,&target_length); + + encodedString* result = new encodedString(); + if (err == MAILIMF_NO_ERROR) { + result->setContent(result_text,target_length); + } + qDebug("Decode string finished"); return result; } -- cgit v0.9.0.2