summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.cpp b/noncore/net/mail/libmailwrapper/abstractmail.cpp
index 7c1c0e4..f40aac8 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.cpp
+++ b/noncore/net/mail/libmailwrapper/abstractmail.cpp
@@ -33,91 +33,90 @@ AbstractMail* AbstractMail::getWrapper(const QString&a,const QString&name)
33{ 33{
34 return new MHwrapper(a,name); 34 return new MHwrapper(a,name);
35} 35}
36 36
37AbstractMail* AbstractMail::getWrapper(Account*a) 37AbstractMail* AbstractMail::getWrapper(Account*a)
38{ 38{
39 if (!a) return 0; 39 if (!a) return 0;
40 switch (a->getType()) { 40 switch (a->getType()) {
41 case MAILLIB::A_IMAP: 41 case MAILLIB::A_IMAP:
42 return new IMAPwrapper((IMAPaccount*)a); 42 return new IMAPwrapper((IMAPaccount*)a);
43 break; 43 break;
44 case MAILLIB::A_POP3: 44 case MAILLIB::A_POP3:
45 return new POP3wrapper((POP3account*)a); 45 return new POP3wrapper((POP3account*)a);
46 break; 46 break;
47 case MAILLIB::A_NNTP: 47 case MAILLIB::A_NNTP:
48 return new NNTPwrapper((NNTPaccount*)a); 48 return new NNTPwrapper((NNTPaccount*)a);
49 break; 49 break;
50 default: 50 default:
51 return 0; 51 return 0;
52 } 52 }
53} 53}
54 54
55encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) 55encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc)
56{ 56{
57 odebug << "Decode string start" << oendl; 57 odebug << "Decode string start" << oendl;
58 char*result_text; 58 char*result_text;
59 size_t index = 0; 59 size_t index = 0;
60 /* reset for recursive use! */ 60 /* reset for recursive use! */
61 size_t target_length = 0; 61 size_t target_length = 0;
62 result_text = 0; 62 result_text = 0;
63 int mimetype = MAILMIME_MECHANISM_7BIT; 63 int mimetype = MAILMIME_MECHANISM_7BIT;
64 if (enc.lower()=="quoted-printable") { 64 if (enc.lower()=="quoted-printable") {
65 mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE; 65 mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE;
66 } else if (enc.lower()=="base64") { 66 } else if (enc.lower()=="base64") {
67 mimetype = MAILMIME_MECHANISM_BASE64; 67 mimetype = MAILMIME_MECHANISM_BASE64;
68 } else if (enc.lower()=="8bit") { 68 } else if (enc.lower()=="8bit") {
69 mimetype = MAILMIME_MECHANISM_8BIT; 69 mimetype = MAILMIME_MECHANISM_8BIT;
70 } else if (enc.lower()=="binary") { 70 } else if (enc.lower()=="binary") {
71 mimetype = MAILMIME_MECHANISM_BINARY; 71 mimetype = MAILMIME_MECHANISM_BINARY;
72 } 72 }
73 73
74 int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype, 74 int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype,
75 &result_text,&target_length); 75 &result_text,&target_length);
76 76
77 encodedString* result = new encodedString(); 77 encodedString* result = new encodedString();
78 if (err == MAILIMF_NO_ERROR) { 78 if (err == MAILIMF_NO_ERROR) {
79 result->setContent(result_text,target_length); 79 result->setContent(result_text,target_length);
80 } 80 }
81 odebug << "Decode string finished" << oendl; 81 odebug << "Decode string finished" << oendl;
82 return result; 82 return result;
83} 83}
84 84
85QString AbstractMail::convert_String(const char*text) 85QString AbstractMail::convert_String(const char*text)
86{ 86{
87 //size_t index = 0; 87 size_t index = 0;
88 char*res = 0; 88 char*res = 0;
89 int err = MAILIMF_NO_ERROR; 89 int err = MAILIMF_NO_ERROR;
90 90
91 QString result(text); 91 QString result(text);
92 92
93 /* due a bug in libetpan it isn't usable this moment */ 93 err = mailmime_encoded_phrase_parse("iso-8859-1",
94/* int err = mailmime_encoded_phrase_parse("iso-8859-1", 94 text, strlen(text),&index, "iso-8859-1",&res);
95 text, strlen(text),&index, "iso-8859-1",&res);*/ 95 //odebug << "Input: " << text << "" << oendl;
96 //odebug << "Input: " << text << "" << oendl;
97 if (err == MAILIMF_NO_ERROR && res && strlen(res)) { 96 if (err == MAILIMF_NO_ERROR && res && strlen(res)) {
98// result = QString(res); 97 result = QString(res);
99// odebug << "Res: " << res << ", length: " << strlen(res) << "" << oendl; 98// odebug << "Res: " << res << ", length: " << strlen(res) << "" << oendl;
100 } 99 }
101 if (res) free(res); 100 if (res) free(res);
102 return result; 101 return result;
103} 102}
104 103
105/* cp & paste from launcher */ 104/* cp & paste from launcher */
106QString AbstractMail::gen_attachment_id() 105QString AbstractMail::gen_attachment_id()
107{ 106{
108 QFile file( "/proc/sys/kernel/random/uuid" ); 107 QFile file( "/proc/sys/kernel/random/uuid" );
109 if (!file.open(IO_ReadOnly ) ) 108 if (!file.open(IO_ReadOnly ) )
110 return QString::null; 109 return QString::null;
111 110
112 QTextStream stream(&file); 111 QTextStream stream(&file);
113 112
114 return "{" + stream.read().stripWhiteSpace() + "}"; 113 return "{" + stream.read().stripWhiteSpace() + "}";
115} 114}
116 115
117int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool) 116int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool)
118{ 117{
119 return 0; 118 return 0;
120} 119}
121 120
122QString AbstractMail::defaultLocalfolder() 121QString AbstractMail::defaultLocalfolder()
123{ 122{