summaryrefslogtreecommitdiff
path: root/noncore/net/mail/imapwrapper.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/imapwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/imapwrapper.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp
index 3222c7e..a01a2a9 100644
--- a/noncore/net/mail/imapwrapper.cpp
+++ b/noncore/net/mail/imapwrapper.cpp
@@ -675,24 +675,56 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
675 break; 675 break;
676 case MAILIMAP_BODY_FLD_ENC_BASE64: 676 case MAILIMAP_BODY_FLD_ENC_BASE64:
677 encoding="base64"; 677 encoding="base64";
678 break; 678 break;
679 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE: 679 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE:
680 encoding="quoted-printable"; 680 encoding="quoted-printable";
681 break; 681 break;
682 case MAILIMAP_BODY_FLD_ENC_OTHER: 682 case MAILIMAP_BODY_FLD_ENC_OTHER:
683 default: 683 default:
684 if (enc->enc_value) { 684 if (enc->enc_value) {
685 char*t=enc->enc_value; 685 char*t=enc->enc_value;
686 encoding=QString(enc->enc_value); 686 encoding=QString(enc->enc_value);
687 enc->enc_value=0L; 687 enc->enc_value=0L;
688 free(t); 688 free(t);
689 } 689 }
690 } 690 }
691 target_part.setEncoding(encoding); 691 target_part.setEncoding(encoding);
692 target_part.setSize(which->bd_size); 692 target_part.setSize(which->bd_size);
693} 693}
694 694
695QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) 695QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part)
696{ 696{
697 return fetchPart(mail,part.Positionlist(),false); 697 return fetchPart(mail,part.Positionlist(),false);
698} 698}
699
700void IMAPwrapper::deleteMail(const RecMail&mail)
701{
702 mailimap_flag_list*flist;
703 mailimap_set *set;
704 mailimap_store_att_flags * store_flags;
705 int err;
706 login();
707 if (!m_imap) {
708 return;
709 }
710 const char *mb = mail.getMbox().latin1();
711 err = mailimap_select( m_imap, (char*)mb);
712 if ( err != MAILIMAP_NO_ERROR ) {
713 qDebug("error selecting mailbox for delete: %s",m_imap->imap_response);
714 return;
715 }
716 flist = mailimap_flag_list_new_empty();
717 mailimap_flag_list_add(flist,mailimap_flag_new_deleted());
718 store_flags = mailimap_store_att_flags_new_set_flags(flist);
719 set = mailimap_set_new_single(mail.getNumber());
720 err = mailimap_store(m_imap,set,store_flags);
721 if (err != MAILIMAP_NO_ERROR) {
722 qDebug("error deleting mail: %s",m_imap->imap_response);
723 return;
724 }
725 err = mailimap_expunge(m_imap);
726 if (err != MAILIMAP_NO_ERROR) {
727 qDebug("error deleting mail: %s",m_imap->imap_response);
728 }
729 qDebug("Delete successfull");
730}