-rw-r--r-- | noncore/net/mail/libmailwrapper/abstractmail.cpp | 17 |
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 | ||
37 | AbstractMail* AbstractMail::getWrapper(Account*a) | 37 | AbstractMail* 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 | ||
55 | encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) | 55 | encodedString* 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 | ||
85 | QString AbstractMail::convert_String(const char*text) | 85 | QString 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 */ |
106 | QString AbstractMail::gen_attachment_id() | 105 | QString 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 | ||
117 | int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool) | 116 | int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool) |
118 | { | 117 | { |
119 | return 0; | 118 | return 0; |
120 | } | 119 | } |
121 | 120 | ||
122 | QString AbstractMail::defaultLocalfolder() | 121 | QString AbstractMail::defaultLocalfolder() |
123 | { | 122 | { |