summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp5
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.cpp12
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.h4
3 files changed, 18 insertions, 3 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 0ce2c6c..ad95384 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -687,24 +687,27 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
687 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE: 687 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE:
688 encoding="quoted-printable"; 688 encoding="quoted-printable";
689 break; 689 break;
690 case MAILIMAP_BODY_FLD_ENC_OTHER: 690 case MAILIMAP_BODY_FLD_ENC_OTHER:
691 default: 691 default:
692 if (enc->enc_value) { 692 if (enc->enc_value) {
693 char*t=enc->enc_value; 693 char*t=enc->enc_value;
694 encoding=QString(enc->enc_value); 694 encoding=QString(enc->enc_value);
695 enc->enc_value=0L; 695 enc->enc_value=0L;
696 free(t); 696 free(t);
697 } 697 }
698 } 698 }
699 if (which->bd_description) {
700 target_part.setDescription(QString(which->bd_description));
701 }
699 target_part.setEncoding(encoding); 702 target_part.setEncoding(encoding);
700 target_part.setSize(which->bd_size); 703 target_part.setSize(which->bd_size);
701} 704}
702 705
703QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) 706QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part)
704{ 707{
705 return fetchPart(mail,part.Positionlist(),false); 708 return fetchPart(mail,part.Positionlist(),false);
706} 709}
707 710
708void IMAPwrapper::deleteMail(const RecMail&mail) 711void IMAPwrapper::deleteMail(const RecMail&mail)
709{ 712{
710 mailimap_flag_list*flist; 713 mailimap_flag_list*flist;
@@ -751,23 +754,23 @@ void IMAPwrapper::answeredMail(const RecMail&mail)
751 login(); 754 login();
752 if (!m_imap) { 755 if (!m_imap) {
753 return; 756 return;
754 } 757 }
755 const char *mb = mail.getMbox().latin1(); 758 const char *mb = mail.getMbox().latin1();
756 err = mailimap_select( m_imap, (char*)mb); 759 err = mailimap_select( m_imap, (char*)mb);
757 if ( err != MAILIMAP_NO_ERROR ) { 760 if ( err != MAILIMAP_NO_ERROR ) {
758 qDebug("error selecting mailbox for mark: %s",m_imap->imap_response); 761 qDebug("error selecting mailbox for mark: %s",m_imap->imap_response);
759 return; 762 return;
760 } 763 }
761 flist = mailimap_flag_list_new_empty(); 764 flist = mailimap_flag_list_new_empty();
762 mailimap_flag_list_add(flist,mailimap_flag_new_answered()); 765 mailimap_flag_list_add(flist,mailimap_flag_new_answered());
763 store_flags = mailimap_store_att_flags_new_set_flags(flist); 766 store_flags = mailimap_store_att_flags_new_add_flags(flist);
764 set = mailimap_set_new_single(mail.getNumber()); 767 set = mailimap_set_new_single(mail.getNumber());
765 err = mailimap_store(m_imap,set,store_flags); 768 err = mailimap_store(m_imap,set,store_flags);
766 mailimap_set_free( set ); 769 mailimap_set_free( set );
767 mailimap_store_att_flags_free(store_flags); 770 mailimap_store_att_flags_free(store_flags);
768 771
769 if (err != MAILIMAP_NO_ERROR) { 772 if (err != MAILIMAP_NO_ERROR) {
770 qDebug("error marking mail: %s",m_imap->imap_response); 773 qDebug("error marking mail: %s",m_imap->imap_response);
771 return; 774 return;
772 } 775 }
773} 776}
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp
index 94f5d6f..8d9b247 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.cpp
+++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp
@@ -76,25 +76,25 @@ const QStringList&RecMail::CC()const
76 76
77void RecMail::setBcc(const QStringList&list) 77void RecMail::setBcc(const QStringList&list)
78{ 78{
79 bcc = list; 79 bcc = list;
80} 80}
81 81
82const QStringList& RecMail::Bcc()const 82const QStringList& RecMail::Bcc()const
83{ 83{
84 return bcc; 84 return bcc;
85} 85}
86 86
87RecPart::RecPart() 87RecPart::RecPart()
88 : m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_lines(0),m_size(0) 88 : m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0)
89{ 89{
90 m_Parameters.clear(); 90 m_Parameters.clear();
91 m_poslist.clear(); 91 m_poslist.clear();
92} 92}
93 93
94RecPart::~RecPart() 94RecPart::~RecPart()
95{ 95{
96} 96}
97 97
98void RecPart::setSize(unsigned int size) 98void RecPart::setSize(unsigned int size)
99{ 99{
100 m_size = size; 100 m_size = size;
@@ -146,24 +146,34 @@ void RecPart::setIdentifier(const QString&identifier)
146} 146}
147 147
148const QString& RecPart::Encoding()const 148const QString& RecPart::Encoding()const
149{ 149{
150 return m_encoding; 150 return m_encoding;
151} 151}
152 152
153void RecPart::setEncoding(const QString&encoding) 153void RecPart::setEncoding(const QString&encoding)
154{ 154{
155 m_encoding = encoding; 155 m_encoding = encoding;
156} 156}
157 157
158const QString& RecPart::Description()const
159{
160 return m_description;
161}
162
163void RecPart::setDescription(const QString&desc)
164{
165 m_description = desc;
166}
167
158void RecPart::setParameters(const part_plist_t&list) 168void RecPart::setParameters(const part_plist_t&list)
159{ 169{
160 m_Parameters = list; 170 m_Parameters = list;
161} 171}
162 172
163const part_plist_t& RecPart::Parameters()const 173const part_plist_t& RecPart::Parameters()const
164{ 174{
165 return m_Parameters; 175 return m_Parameters;
166} 176}
167 177
168void RecPart::addParameter(const QString&key,const QString&value) 178void RecPart::addParameter(const QString&key,const QString&value)
169{ 179{
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h
index 9ef762d..7d7bebc 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.h
+++ b/noncore/net/mail/libmailwrapper/mailtypes.h
@@ -71,42 +71,44 @@ protected:
71 QBitArray msg_flags; 71 QBitArray msg_flags;
72 QStringList to,cc,bcc; 72 QStringList to,cc,bcc;
73 AbstractMail*wrapper; 73 AbstractMail*wrapper;
74 void init(); 74 void init();
75 void copy_old(const RecMail&old); 75 void copy_old(const RecMail&old);
76}; 76};
77 77
78typedef QMap<QString,QString> part_plist_t; 78typedef QMap<QString,QString> part_plist_t;
79 79
80class RecPart 80class RecPart
81{ 81{
82protected: 82protected:
83 QString m_type,m_subtype,m_identifier,m_encoding; 83 QString m_type,m_subtype,m_identifier,m_encoding,m_description;
84 unsigned int m_lines,m_size; 84 unsigned int m_lines,m_size;
85 part_plist_t m_Parameters; 85 part_plist_t m_Parameters;
86 /* describes the position in the mail */ 86 /* describes the position in the mail */
87 QValueList<int> m_poslist; 87 QValueList<int> m_poslist;
88 88
89public: 89public:
90 RecPart(); 90 RecPart();
91 virtual ~RecPart(); 91 virtual ~RecPart();
92 92
93 const QString&Type()const; 93 const QString&Type()const;
94 void setType(const QString&type); 94 void setType(const QString&type);
95 const QString&Subtype()const; 95 const QString&Subtype()const;
96 void setSubtype(const QString&subtype); 96 void setSubtype(const QString&subtype);
97 const QString&Identifier()const; 97 const QString&Identifier()const;
98 void setIdentifier(const QString&identifier); 98 void setIdentifier(const QString&identifier);
99 const QString&Encoding()const; 99 const QString&Encoding()const;
100 void setEncoding(const QString&encoding); 100 void setEncoding(const QString&encoding);
101 const QString&Description()const;
102 void setDescription(const QString&desc);
101 void setLines(unsigned int lines); 103 void setLines(unsigned int lines);
102 const unsigned int Lines()const; 104 const unsigned int Lines()const;
103 void setSize(unsigned int size); 105 void setSize(unsigned int size);
104 const unsigned int Size()const; 106 const unsigned int Size()const;
105 107
106 108
107 void setParameters(const part_plist_t&list); 109 void setParameters(const part_plist_t&list);
108 const part_plist_t&Parameters()const; 110 const part_plist_t&Parameters()const;
109 void addParameter(const QString&key,const QString&value); 111 void addParameter(const QString&key,const QString&value);
110 const QString searchParamter(const QString&key)const; 112 const QString searchParamter(const QString&key)const;
111 void setPositionlist(const QValueList<int>&poslist); 113 void setPositionlist(const QValueList<int>&poslist);
112 const QValueList<int>& Positionlist()const; 114 const QValueList<int>& Positionlist()const;