summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper
authoralwin <alwin>2003-12-18 14:23:15 (UTC)
committer alwin <alwin>2003-12-18 14:23:15 (UTC)
commit5cb08b0c69ffc7216405b552e17ff0541578bda0 (patch) (unidiff)
tree37ea5ec8747f82a90c068422fbb99662789380ec /noncore/net/mail/libmailwrapper
parent51e56afac97c5254abfe76b65fd697a3e75e4bdd (diff)
downloadopie-5cb08b0c69ffc7216405b552e17ff0541578bda0.zip
opie-5cb08b0c69ffc7216405b552e17ff0541578bda0.tar.gz
opie-5cb08b0c69ffc7216405b552e17ff0541578bda0.tar.bz2
ok. char-translation enabled again.
make sure to have the decode patch applied to libetpan!!!!
Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.cpp17
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp6
2 files changed, 11 insertions, 12 deletions
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.cpp b/noncore/net/mail/libmailwrapper/abstractmail.cpp
index b7e5eaa..3d76c96 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.cpp
+++ b/noncore/net/mail/libmailwrapper/abstractmail.cpp
@@ -40,32 +40,29 @@ encodedString* AbstractMail::decode_String(const encodedString*text,const QStrin
40 &result_text,&target_length); 40 &result_text,&target_length);
41 41
42 encodedString* result = new encodedString(); 42 encodedString* result = new encodedString();
43 if (err == MAILIMF_NO_ERROR) { 43 if (err == MAILIMF_NO_ERROR) {
44 result->setContent(result_text,target_length); 44 result->setContent(result_text,target_length);
45 } 45 }
46 qDebug("Decode string finished"); 46 qDebug("Decode string finished");
47 return result; 47 return result;
48} 48}
49 49
50QString AbstractMail::convert_String(const char*text) 50QString AbstractMail::convert_String(const char*text)
51{ 51{
52#if 0
53 size_t index = 0; 52 size_t index = 0;
54 char*res = 0; 53 char*res = 0;
55 54
56 qDebug("encode start %s",text); 55 /* attention - doesn't work with arm systems! */
57 /* attention - doesn't work with arm systems! */
58 int err = mailmime_encoded_phrase_parse("iso-8859-1", 56 int err = mailmime_encoded_phrase_parse("iso-8859-1",
59 text, strlen(text),&index, "iso-8859-1",&res); 57 text, strlen(text),&index, "iso-8859-1",&res);
60 qDebug("encode end");
61 if (err != MAILIMF_NO_ERROR) { 58 if (err != MAILIMF_NO_ERROR) {
62 if (res) free(res); 59 if (res) free(res);
63 return QString(text); 60 return QString(text);
64 } 61 }
65 QString result(res); 62 if (res) {
66 free(res); 63 QString result(res);
67 return result; 64 free(res);
68#else 65 return result;
69 return QString(text); 66 }
70#endif 67 return QString(text);
71} 68}
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 8a86c95..838300a 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -269,25 +269,26 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
269 default: 269 default:
270 break; 270 break;
271 } 271 }
272 } else if (cflag->fl_type==MAILIMAP_FLAG_FETCH_RECENT) { 272 } else if (cflag->fl_type==MAILIMAP_FLAG_FETCH_RECENT) {
273 mFlags.setBit(FLAG_RECENT); 273 mFlags.setBit(FLAG_RECENT);
274 } 274 }
275 } 275 }
276 continue; 276 continue;
277 } 277 }
278 if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_ENVELOPE) { 278 if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_ENVELOPE) {
279 mailimap_envelope * head = item->att_data.att_static->att_data.att_env; 279 mailimap_envelope * head = item->att_data.att_static->att_data.att_env;
280 m->setDate(head->env_date); 280 m->setDate(head->env_date);
281 m->setSubject(head->env_subject); 281 m->setSubject(convert_String((const char*)head->env_subject));
282 //m->setSubject(head->env_subject);
282 if (head->env_from!=NULL) { 283 if (head->env_from!=NULL) {
283 addresslist = address_list_to_stringlist(head->env_from->frm_list); 284 addresslist = address_list_to_stringlist(head->env_from->frm_list);
284 if (addresslist.count()) { 285 if (addresslist.count()) {
285 m->setFrom(addresslist.first()); 286 m->setFrom(addresslist.first());
286 } 287 }
287 } 288 }
288 if (head->env_to!=NULL) { 289 if (head->env_to!=NULL) {
289 addresslist = address_list_to_stringlist(head->env_to->to_list); 290 addresslist = address_list_to_stringlist(head->env_to->to_list);
290 m->setTo(addresslist); 291 m->setTo(addresslist);
291 } 292 }
292 if (head->env_cc!=NULL) { 293 if (head->env_cc!=NULL) {
293 addresslist = address_list_to_stringlist(head->env_cc->cc_list); 294 addresslist = address_list_to_stringlist(head->env_cc->cc_list);
@@ -425,25 +426,26 @@ QStringList IMAPwrapper::address_list_to_stringlist(clist*list)
425 bool named_from; 426 bool named_from;
426 clistcell *current = NULL; 427 clistcell *current = NULL;
427 mailimap_address * current_address=NULL; 428 mailimap_address * current_address=NULL;
428 if (!list) { 429 if (!list) {
429 return l; 430 return l;
430 } 431 }
431 unsigned int count = 0; 432 unsigned int count = 0;
432 for (current=clist_begin(list);current!= NULL;current=clist_next(current)) { 433 for (current=clist_begin(list);current!= NULL;current=clist_next(current)) {
433 from = ""; 434 from = "";
434 named_from = false; 435 named_from = false;
435 current_address=(mailimap_address*)current->data; 436 current_address=(mailimap_address*)current->data;
436 if (current_address->ad_personal_name){ 437 if (current_address->ad_personal_name){
437 from+=QString(current_address->ad_personal_name); 438 from+=convert_String((const char*)current_address->ad_personal_name);
439 //from+=QString(current_address->ad_personal_name);
438 from+=" "; 440 from+=" ";
439 named_from = true; 441 named_from = true;
440 } 442 }
441 if (named_from && (current_address->ad_mailbox_name || current_address->ad_host_name)) { 443 if (named_from && (current_address->ad_mailbox_name || current_address->ad_host_name)) {
442 from+="<"; 444 from+="<";
443 } 445 }
444 if (current_address->ad_mailbox_name) { 446 if (current_address->ad_mailbox_name) {
445 from+=QString(current_address->ad_mailbox_name); 447 from+=QString(current_address->ad_mailbox_name);
446 from+="@"; 448 from+="@";
447 } 449 }
448 if (current_address->ad_host_name) { 450 if (current_address->ad_host_name) {
449 from+=QString(current_address->ad_host_name); 451 from+=QString(current_address->ad_host_name);