summaryrefslogtreecommitdiff
authoralwin <alwin>2003-12-12 14:49:50 (UTC)
committer alwin <alwin>2003-12-12 14:49:50 (UTC)
commit1aa69d74df6ac0ae182815e03fe57cfee5702d5a (patch) (unidiff)
tree4ba9bbeebb91e25c0f2ee25c2cd57fee41212e4d
parent8af6feb08d168fefaa2568b057efa132386471f6 (diff)
downloadopie-1aa69d74df6ac0ae182815e03fe57cfee5702d5a.zip
opie-1aa69d74df6ac0ae182815e03fe57cfee5702d5a.tar.gz
opie-1aa69d74df6ac0ae182815e03fe57cfee5702d5a.tar.bz2
and of course I'll find a bug 10 minutes after checkin ....
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/imapwrapper.cpp14
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp14
2 files changed, 16 insertions, 12 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp
index da5974c..7b75ffa 100644
--- a/noncore/net/mail/imapwrapper.cpp
+++ b/noncore/net/mail/imapwrapper.cpp
@@ -588,106 +588,108 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text
588 fillBodyFields(target_part,which->bd_fields); 588 fillBodyFields(target_part,which->bd_fields);
589} 589}
590 590
591void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which) 591void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which)
592{ 592{
593 if (!which) { 593 if (!which) {
594 return; 594 return;
595 } 595 }
596// QString sub; 596// QString sub;
597// sub = which->bd_media_text; 597// sub = which->bd_media_text;
598// target_part.setSubtype(sub.lower()); 598// target_part.setSubtype(sub.lower());
599 qDebug("Message part"); 599 qDebug("Message part");
600 /* we set this type to text/plain */ 600 /* we set this type to text/plain */
601 target_part.setType("text"); 601 target_part.setType("text");
602 target_part.setSubtype("plain"); 602 target_part.setSubtype("plain");
603 target_part.setLines(which->bd_lines); 603 target_part.setLines(which->bd_lines);
604 fillBodyFields(target_part,which->bd_fields); 604 fillBodyFields(target_part,which->bd_fields);
605} 605}
606 606
607void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which) 607void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which)
608{ 608{
609 if (!which) { 609 if (!which) {
610 return; 610 return;
611 } 611 }
612 QString type,sub; 612 QString type,sub;
613 switch (which->bd_media_basic->med_type) { 613 switch (which->bd_media_basic->med_type) {
614 case MAILIMAP_MEDIA_BASIC_APPLICATION: 614 case MAILIMAP_MEDIA_BASIC_APPLICATION:
615 type = "application"; 615 type = "application";
616 break; 616 break;
617 case MAILIMAP_MEDIA_BASIC_AUDIO: 617 case MAILIMAP_MEDIA_BASIC_AUDIO:
618 type = "audio"; 618 type = "audio";
619 break; 619 break;
620 case MAILIMAP_MEDIA_BASIC_IMAGE: 620 case MAILIMAP_MEDIA_BASIC_IMAGE:
621 type = "image"; 621 type = "image";
622 break; 622 break;
623 case MAILIMAP_MEDIA_BASIC_MESSAGE: 623 case MAILIMAP_MEDIA_BASIC_MESSAGE:
624 type = "message"; 624 type = "message";
625 break; 625 break;
626 case MAILIMAP_MEDIA_BASIC_VIDEO: 626 case MAILIMAP_MEDIA_BASIC_VIDEO:
627 type = "video"; 627 type = "video";
628 break; 628 break;
629 case MAILIMAP_MEDIA_BASIC_OTHER: 629 case MAILIMAP_MEDIA_BASIC_OTHER:
630 default: 630 default:
631 if (which->bd_media_basic->med_basic_type) { 631 if (which->bd_media_basic->med_basic_type) {
632 type = which->bd_media_basic->med_basic_type; 632 type = which->bd_media_basic->med_basic_type;
633 } else { 633 } else {
634 type = ""; 634 type = "";
635 } 635 }
636 break; 636 break;
637 } 637 }
638 if (which->bd_media_basic->med_subtype) { 638 if (which->bd_media_basic->med_subtype) {
639 sub = which->bd_media_basic->med_subtype; 639 sub = which->bd_media_basic->med_subtype;
640 } else { 640 } else {
641 sub = ""; 641 sub = "";
642 } 642 }
643 qDebug("Type = %s/%s",type.latin1(),sub.latin1()); 643 qDebug("Type = %s/%s",type.latin1(),sub.latin1());
644 target_part.setType(type.lower()); 644 target_part.setType(type.lower());
645 target_part.setSubtype(sub.lower()); 645 target_part.setSubtype(sub.lower());
646 fillBodyFields(target_part,which->bd_fields); 646 fillBodyFields(target_part,which->bd_fields);
647} 647}
648 648
649void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) 649void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
650{ 650{
651 if (!which) return; 651 if (!which) return;
652 clistcell*cur; 652 if (which->bd_parameter && which->bd_parameter->pa_list && which->bd_parameter->pa_list->count>0) {
653 mailimap_single_body_fld_param*param; 653 clistcell*cur;
654 for (cur = clist_begin(which->bd_parameter->pa_list);cur!=NULL;cur=clist_next(cur)) { 654 mailimap_single_body_fld_param*param=0;
655 param = (mailimap_single_body_fld_param*)cur->data; 655 for (cur = clist_begin(which->bd_parameter->pa_list);cur!=NULL;cur=clist_next(cur)) {
656 if (param) { 656 param = (mailimap_single_body_fld_param*)cur->data;
657 target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); 657 if (param) {
658 target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
659 }
658 } 660 }
659 } 661 }
660 mailimap_body_fld_enc*enc = which->bd_encoding; 662 mailimap_body_fld_enc*enc = which->bd_encoding;
661 QString encoding(""); 663 QString encoding("");
662 switch (enc->enc_type) { 664 switch (enc->enc_type) {
663 case MAILIMAP_BODY_FLD_ENC_7BIT: 665 case MAILIMAP_BODY_FLD_ENC_7BIT:
664 encoding = "7bit"; 666 encoding = "7bit";
665 break; 667 break;
666 case MAILIMAP_BODY_FLD_ENC_8BIT: 668 case MAILIMAP_BODY_FLD_ENC_8BIT:
667 encoding = "8bit"; 669 encoding = "8bit";
668 break; 670 break;
669 case MAILIMAP_BODY_FLD_ENC_BINARY: 671 case MAILIMAP_BODY_FLD_ENC_BINARY:
670 encoding="binary"; 672 encoding="binary";
671 break; 673 break;
672 case MAILIMAP_BODY_FLD_ENC_BASE64: 674 case MAILIMAP_BODY_FLD_ENC_BASE64:
673 encoding="base64"; 675 encoding="base64";
674 break; 676 break;
675 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE: 677 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE:
676 encoding="quoted-printable"; 678 encoding="quoted-printable";
677 break; 679 break;
678 case MAILIMAP_BODY_FLD_ENC_OTHER: 680 case MAILIMAP_BODY_FLD_ENC_OTHER:
679 default: 681 default:
680 if (enc->enc_value) { 682 if (enc->enc_value) {
681 char*t=enc->enc_value; 683 char*t=enc->enc_value;
682 encoding=QString(enc->enc_value); 684 encoding=QString(enc->enc_value);
683 enc->enc_value=0L; 685 enc->enc_value=0L;
684 free(t); 686 free(t);
685 } 687 }
686 } 688 }
687 target_part.setEncoding(encoding); 689 target_part.setEncoding(encoding);
688} 690}
689 691
690QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) 692QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part)
691{ 693{
692 return fetchPart(mail,part.Positionlist(),false); 694 return fetchPart(mail,part.Positionlist(),false);
693} 695}
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index da5974c..7b75ffa 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -588,106 +588,108 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text
588 fillBodyFields(target_part,which->bd_fields); 588 fillBodyFields(target_part,which->bd_fields);
589} 589}
590 590
591void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which) 591void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which)
592{ 592{
593 if (!which) { 593 if (!which) {
594 return; 594 return;
595 } 595 }
596// QString sub; 596// QString sub;
597// sub = which->bd_media_text; 597// sub = which->bd_media_text;
598// target_part.setSubtype(sub.lower()); 598// target_part.setSubtype(sub.lower());
599 qDebug("Message part"); 599 qDebug("Message part");
600 /* we set this type to text/plain */ 600 /* we set this type to text/plain */
601 target_part.setType("text"); 601 target_part.setType("text");
602 target_part.setSubtype("plain"); 602 target_part.setSubtype("plain");
603 target_part.setLines(which->bd_lines); 603 target_part.setLines(which->bd_lines);
604 fillBodyFields(target_part,which->bd_fields); 604 fillBodyFields(target_part,which->bd_fields);
605} 605}
606 606
607void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which) 607void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which)
608{ 608{
609 if (!which) { 609 if (!which) {
610 return; 610 return;
611 } 611 }
612 QString type,sub; 612 QString type,sub;
613 switch (which->bd_media_basic->med_type) { 613 switch (which->bd_media_basic->med_type) {
614 case MAILIMAP_MEDIA_BASIC_APPLICATION: 614 case MAILIMAP_MEDIA_BASIC_APPLICATION:
615 type = "application"; 615 type = "application";
616 break; 616 break;
617 case MAILIMAP_MEDIA_BASIC_AUDIO: 617 case MAILIMAP_MEDIA_BASIC_AUDIO:
618 type = "audio"; 618 type = "audio";
619 break; 619 break;
620 case MAILIMAP_MEDIA_BASIC_IMAGE: 620 case MAILIMAP_MEDIA_BASIC_IMAGE:
621 type = "image"; 621 type = "image";
622 break; 622 break;
623 case MAILIMAP_MEDIA_BASIC_MESSAGE: 623 case MAILIMAP_MEDIA_BASIC_MESSAGE:
624 type = "message"; 624 type = "message";
625 break; 625 break;
626 case MAILIMAP_MEDIA_BASIC_VIDEO: 626 case MAILIMAP_MEDIA_BASIC_VIDEO:
627 type = "video"; 627 type = "video";
628 break; 628 break;
629 case MAILIMAP_MEDIA_BASIC_OTHER: 629 case MAILIMAP_MEDIA_BASIC_OTHER:
630 default: 630 default:
631 if (which->bd_media_basic->med_basic_type) { 631 if (which->bd_media_basic->med_basic_type) {
632 type = which->bd_media_basic->med_basic_type; 632 type = which->bd_media_basic->med_basic_type;
633 } else { 633 } else {
634 type = ""; 634 type = "";
635 } 635 }
636 break; 636 break;
637 } 637 }
638 if (which->bd_media_basic->med_subtype) { 638 if (which->bd_media_basic->med_subtype) {
639 sub = which->bd_media_basic->med_subtype; 639 sub = which->bd_media_basic->med_subtype;
640 } else { 640 } else {
641 sub = ""; 641 sub = "";
642 } 642 }
643 qDebug("Type = %s/%s",type.latin1(),sub.latin1()); 643 qDebug("Type = %s/%s",type.latin1(),sub.latin1());
644 target_part.setType(type.lower()); 644 target_part.setType(type.lower());
645 target_part.setSubtype(sub.lower()); 645 target_part.setSubtype(sub.lower());
646 fillBodyFields(target_part,which->bd_fields); 646 fillBodyFields(target_part,which->bd_fields);
647} 647}
648 648
649void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) 649void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
650{ 650{
651 if (!which) return; 651 if (!which) return;
652 clistcell*cur; 652 if (which->bd_parameter && which->bd_parameter->pa_list && which->bd_parameter->pa_list->count>0) {
653 mailimap_single_body_fld_param*param; 653 clistcell*cur;
654 for (cur = clist_begin(which->bd_parameter->pa_list);cur!=NULL;cur=clist_next(cur)) { 654 mailimap_single_body_fld_param*param=0;
655 param = (mailimap_single_body_fld_param*)cur->data; 655 for (cur = clist_begin(which->bd_parameter->pa_list);cur!=NULL;cur=clist_next(cur)) {
656 if (param) { 656 param = (mailimap_single_body_fld_param*)cur->data;
657 target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); 657 if (param) {
658 target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
659 }
658 } 660 }
659 } 661 }
660 mailimap_body_fld_enc*enc = which->bd_encoding; 662 mailimap_body_fld_enc*enc = which->bd_encoding;
661 QString encoding(""); 663 QString encoding("");
662 switch (enc->enc_type) { 664 switch (enc->enc_type) {
663 case MAILIMAP_BODY_FLD_ENC_7BIT: 665 case MAILIMAP_BODY_FLD_ENC_7BIT:
664 encoding = "7bit"; 666 encoding = "7bit";
665 break; 667 break;
666 case MAILIMAP_BODY_FLD_ENC_8BIT: 668 case MAILIMAP_BODY_FLD_ENC_8BIT:
667 encoding = "8bit"; 669 encoding = "8bit";
668 break; 670 break;
669 case MAILIMAP_BODY_FLD_ENC_BINARY: 671 case MAILIMAP_BODY_FLD_ENC_BINARY:
670 encoding="binary"; 672 encoding="binary";
671 break; 673 break;
672 case MAILIMAP_BODY_FLD_ENC_BASE64: 674 case MAILIMAP_BODY_FLD_ENC_BASE64:
673 encoding="base64"; 675 encoding="base64";
674 break; 676 break;
675 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE: 677 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE:
676 encoding="quoted-printable"; 678 encoding="quoted-printable";
677 break; 679 break;
678 case MAILIMAP_BODY_FLD_ENC_OTHER: 680 case MAILIMAP_BODY_FLD_ENC_OTHER:
679 default: 681 default:
680 if (enc->enc_value) { 682 if (enc->enc_value) {
681 char*t=enc->enc_value; 683 char*t=enc->enc_value;
682 encoding=QString(enc->enc_value); 684 encoding=QString(enc->enc_value);
683 enc->enc_value=0L; 685 enc->enc_value=0L;
684 free(t); 686 free(t);
685 } 687 }
686 } 688 }
687 target_part.setEncoding(encoding); 689 target_part.setEncoding(encoding);
688} 690}
689 691
690QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) 692QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part)
691{ 693{
692 return fetchPart(mail,part.Positionlist(),false); 694 return fetchPart(mail,part.Positionlist(),false);
693} 695}