23 files changed, 230 insertions, 196 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp index e4bb6c5..54d2da2 100644 --- a/noncore/net/mail/accountitem.cpp +++ b/noncore/net/mail/accountitem.cpp | |||
@@ -78,3 +78,3 @@ void POP3viewItem::refresh() | |||
78 | 78 | ||
79 | RecBody POP3viewItem::fetchBody( const RecMailP &mail ) | 79 | RECBODYP POP3viewItem::fetchBody( const RecMailP &mail ) |
80 | { | 80 | { |
@@ -163,3 +163,3 @@ void POP3folderItem::refresh(QValueList<RecMailP>&target) | |||
163 | 163 | ||
164 | RecBody POP3folderItem::fetchBody(const RecMailP&aMail) | 164 | RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) |
165 | { | 165 | { |
@@ -269,3 +269,3 @@ void NNTPviewItem::refresh() | |||
269 | 269 | ||
270 | RecBody NNTPviewItem::fetchBody( const RecMailP &mail ) | 270 | RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) |
271 | { | 271 | { |
@@ -367,3 +367,3 @@ void NNTPfolderItem::refresh(QValueList<RecMailP>&target) | |||
367 | 367 | ||
368 | RecBody NNTPfolderItem::fetchBody(const RecMailP&aMail) | 368 | RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) |
369 | { | 369 | { |
@@ -564,5 +564,5 @@ void IMAPviewItem::contextMenuSelected(int id) | |||
564 | 564 | ||
565 | RecBody IMAPviewItem::fetchBody(const RecMailP&) | 565 | RECBODYP IMAPviewItem::fetchBody(const RecMailP&) |
566 | { | 566 | { |
567 | return RecBody(); | 567 | return new RecBody(); |
568 | } | 568 | } |
@@ -624,3 +624,3 @@ void IMAPfolderItem::refresh(QValueList<RecMailP>&target) | |||
624 | 624 | ||
625 | RecBody IMAPfolderItem::fetchBody(const RecMailP&aMail) | 625 | RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) |
626 | { | 626 | { |
@@ -802,3 +802,3 @@ void MHviewItem::refresh(bool force) | |||
802 | 802 | ||
803 | RecBody MHviewItem::fetchBody( const RecMailP &mail ) | 803 | RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) |
804 | { | 804 | { |
@@ -923,3 +923,3 @@ void MHfolderItem::refresh(QValueList<RecMailP>&target) | |||
923 | 923 | ||
924 | RecBody MHfolderItem::fetchBody(const RecMailP&aMail) | 924 | RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail) |
925 | { | 925 | { |
diff --git a/noncore/net/mail/accountitem.h b/noncore/net/mail/accountitem.h index 6cdb260..f125eeb 100644 --- a/noncore/net/mail/accountitem.h +++ b/noncore/net/mail/accountitem.h | |||
@@ -19,2 +19,4 @@ class Folder; | |||
19 | 19 | ||
20 | #define RECBODYP Opie::Core::OSmartPointer<RecBody> | ||
21 | |||
20 | class AccountViewItem : public QListViewItem | 22 | class AccountViewItem : public QListViewItem |
@@ -30,3 +32,3 @@ public: | |||
30 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&)=0; | 32 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&)=0; |
31 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&)=0; | 33 | virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&)=0; |
32 | virtual QPopupMenu * getContextMenu(){return 0;}; | 34 | virtual QPopupMenu * getContextMenu(){return 0;}; |
@@ -54,3 +56,3 @@ public: | |||
54 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target ); | 56 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target ); |
55 | virtual RecBody fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail ); | 57 | virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail ); |
56 | AbstractMail *getWrapper(); | 58 | AbstractMail *getWrapper(); |
@@ -74,3 +76,3 @@ public: | |||
74 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); | 76 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); |
75 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&); | 77 | virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&); |
76 | virtual QPopupMenu * getContextMenu(); | 78 | virtual QPopupMenu * getContextMenu(); |
@@ -91,3 +93,3 @@ public: | |||
91 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target ); | 93 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target ); |
92 | virtual RecBody fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail ); | 94 | virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail ); |
93 | AbstractMail *getWrapper(); | 95 | AbstractMail *getWrapper(); |
@@ -112,3 +114,3 @@ public: | |||
112 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); | 114 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); |
113 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&); | 115 | virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&); |
114 | virtual QPopupMenu * getContextMenu(); | 116 | virtual QPopupMenu * getContextMenu(); |
@@ -130,3 +132,3 @@ public: | |||
130 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); | 132 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); |
131 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&); | 133 | virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&); |
132 | AbstractMail *getWrapper(); | 134 | AbstractMail *getWrapper(); |
@@ -153,3 +155,3 @@ public: | |||
153 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); | 155 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); |
154 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&); | 156 | virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&); |
155 | virtual QPopupMenu * getContextMenu(); | 157 | virtual QPopupMenu * getContextMenu(); |
@@ -172,3 +174,3 @@ public: | |||
172 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target ); | 174 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target ); |
173 | virtual RecBody fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail ); | 175 | virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail ); |
174 | AbstractMail *getWrapper(); | 176 | AbstractMail *getWrapper(); |
@@ -195,3 +197,3 @@ public: | |||
195 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); | 197 | virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&); |
196 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&); | 198 | virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&); |
197 | virtual QPopupMenu * getContextMenu(); | 199 | virtual QPopupMenu * getContextMenu(); |
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 811e57a..f0a163e 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp | |||
@@ -116,6 +116,6 @@ void AccountView::refreshAll() | |||
116 | 116 | ||
117 | RecBody AccountView::fetchBody(const RecMailP&aMail) | 117 | RecBodyP AccountView::fetchBody(const RecMailP&aMail) |
118 | { | 118 | { |
119 | QListViewItem*item = selectedItem (); | 119 | QListViewItem*item = selectedItem (); |
120 | if (!item) return RecBody(); | 120 | if (!item) return new RecBody(); |
121 | AccountViewItem *view = static_cast<AccountViewItem *>(item); | 121 | AccountViewItem *view = static_cast<AccountViewItem *>(item); |
diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h index b082b1f..787b0b0 100644 --- a/noncore/net/mail/accountview.h +++ b/noncore/net/mail/accountview.h | |||
@@ -23,3 +23,3 @@ public: | |||
23 | virtual void populate( QList<Account> list ); | 23 | virtual void populate( QList<Account> list ); |
24 | virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&aMail); | 24 | virtual RecBodyP fetchBody(const Opie::Core::OSmartPointer<RecMail>&aMail); |
25 | virtual void downloadMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper); | 25 | virtual void downloadMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper); |
diff --git a/noncore/net/mail/composemail.cpp b/noncore/net/mail/composemail.cpp index 5bc2883..988a1d9 100644 --- a/noncore/net/mail/composemail.cpp +++ b/noncore/net/mail/composemail.cpp | |||
@@ -282,3 +282,3 @@ void ComposeMail::reEditMail(const RecMailP¤t) | |||
282 | RecMailP data = current; | 282 | RecMailP data = current; |
283 | message->setText(data->Wrapper()->fetchBody(current).Bodytext()); | 283 | message->setText(data->Wrapper()->fetchBody(current)->Bodytext()); |
284 | subjectLine->setText( data->getSubject()); | 284 | subjectLine->setText( data->getSubject()); |
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.h b/noncore/net/mail/libmailwrapper/abstractmail.h index 2d55c83..e5d64a6 100644 --- a/noncore/net/mail/libmailwrapper/abstractmail.h +++ b/noncore/net/mail/libmailwrapper/abstractmail.h | |||
@@ -26,6 +26,6 @@ public: | |||
26 | virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0; | 26 | virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0; |
27 | virtual RecBody fetchBody(const RecMailP&mail)=0; | 27 | virtual RecBodyP fetchBody(const RecMailP&mail)=0; |
28 | virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part)=0; | 28 | virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part)=0; |
29 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part)=0; | 29 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part)=0; |
30 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part)=0; | 30 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part)=0; |
31 | virtual encodedString* fetchRawBody(const RecMailP&mail)=0; | 31 | virtual encodedString* fetchRawBody(const RecMailP&mail)=0; |
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp index f428415..0c68280 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp | |||
@@ -24,3 +24,3 @@ Genericwrapper::~Genericwrapper() | |||
24 | 24 | ||
25 | void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | 25 | void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) |
26 | { | 26 | { |
@@ -40,21 +40,21 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
40 | if (!type) { | 40 | if (!type) { |
41 | target.setType("text"); | 41 | target->setType("text"); |
42 | target.setSubtype("plain"); | 42 | target->setSubtype("plain"); |
43 | } else { | 43 | } else { |
44 | target.setSubtype(type->ct_subtype); | 44 | target->setSubtype(type->ct_subtype); |
45 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { | 45 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { |
46 | case MAILMIME_DISCRETE_TYPE_TEXT: | 46 | case MAILMIME_DISCRETE_TYPE_TEXT: |
47 | target.setType("text"); | 47 | target->setType("text"); |
48 | break; | 48 | break; |
49 | case MAILMIME_DISCRETE_TYPE_IMAGE: | 49 | case MAILMIME_DISCRETE_TYPE_IMAGE: |
50 | target.setType("image"); | 50 | target->setType("image"); |
51 | break; | 51 | break; |
52 | case MAILMIME_DISCRETE_TYPE_AUDIO: | 52 | case MAILMIME_DISCRETE_TYPE_AUDIO: |
53 | target.setType("audio"); | 53 | target->setType("audio"); |
54 | break; | 54 | break; |
55 | case MAILMIME_DISCRETE_TYPE_VIDEO: | 55 | case MAILMIME_DISCRETE_TYPE_VIDEO: |
56 | target.setType("video"); | 56 | target->setType("video"); |
57 | break; | 57 | break; |
58 | case MAILMIME_DISCRETE_TYPE_APPLICATION: | 58 | case MAILMIME_DISCRETE_TYPE_APPLICATION: |
59 | target.setType("application"); | 59 | target->setType("application"); |
60 | break; | 60 | break; |
@@ -63,3 +63,3 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
63 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { | 63 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { |
64 | target.setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); | 64 | target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); |
65 | } | 65 | } |
@@ -76,9 +76,9 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
76 | case MAILMIME_FIELD_TRANSFER_ENCODING: | 76 | case MAILMIME_FIELD_TRANSFER_ENCODING: |
77 | target.setEncoding(getencoding(field->fld_data.fld_encoding)); | 77 | target->setEncoding(getencoding(field->fld_data.fld_encoding)); |
78 | break; | 78 | break; |
79 | case MAILMIME_FIELD_ID: | 79 | case MAILMIME_FIELD_ID: |
80 | target.setIdentifier(field->fld_data.fld_id); | 80 | target->setIdentifier(field->fld_data.fld_id); |
81 | break; | 81 | break; |
82 | case MAILMIME_FIELD_DESCRIPTION: | 82 | case MAILMIME_FIELD_DESCRIPTION: |
83 | target.setDescription(field->fld_data.fld_description); | 83 | target->setDescription(field->fld_data.fld_description); |
84 | break; | 84 | break; |
@@ -91,3 +91,3 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
91 | 91 | ||
92 | void Genericwrapper::fillParameters(RecPart&target,clist*parameters) | 92 | void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) |
93 | { | 93 | { |
@@ -99,3 +99,3 @@ void Genericwrapper::fillParameters(RecPart&target,clist*parameters) | |||
99 | if (param) { | 99 | if (param) { |
100 | target.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 100 | target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
101 | } | 101 | } |
@@ -134,3 +134,3 @@ QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) | |||
134 | 134 | ||
135 | void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) | 135 | void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) |
136 | { | 136 | { |
@@ -147,3 +147,3 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
147 | QString b; | 147 | QString b; |
148 | RecPart part; | 148 | RecPartP part = new RecPart(); |
149 | 149 | ||
@@ -155,14 +155,14 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
155 | r = mailmessage_fetch_section(message,mime,&data,&len); | 155 | r = mailmessage_fetch_section(message,mime,&data,&len); |
156 | part.setSize(len); | 156 | part->setSize(len); |
157 | part.setPositionlist(countlist); | 157 | part->setPositionlist(countlist); |
158 | b = gen_attachment_id(); | 158 | b = gen_attachment_id(); |
159 | part.setIdentifier(b); | 159 | part->setIdentifier(b); |
160 | fillSingleBody(part,message,mime); | 160 | fillSingleBody(part,message,mime); |
161 | if (part.Type()=="text" && target.Bodytext().isNull()) { | 161 | if (part->Type()=="text" && target->Bodytext().isNull()) { |
162 | encodedString*rs = new encodedString(); | 162 | encodedString*rs = new encodedString(); |
163 | rs->setContent(data,len); | 163 | rs->setContent(data,len); |
164 | encodedString*res = decode_String(rs,part.Encoding()); | 164 | encodedString*res = decode_String(rs,part->Encoding()); |
165 | if (countlist.count()>2) { | 165 | if (countlist.count()>2) { |
166 | bodyCache[b]=rs; | 166 | bodyCache[b]=rs; |
167 | target.addPart(part); | 167 | target->addPart(part); |
168 | } else { | 168 | } else { |
@@ -172,7 +172,7 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
172 | delete res; | 172 | delete res; |
173 | target.setBodytext(b); | 173 | target->setBodytext(b); |
174 | target.setDescription(part); | 174 | target->setDescription(part); |
175 | } else { | 175 | } else { |
176 | bodyCache[b]=new encodedString(data,len); | 176 | bodyCache[b]=new encodedString(data,len); |
177 | target.addPart(part); | 177 | target->addPart(part); |
178 | } | 178 | } |
@@ -188,7 +188,7 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
188 | if (cbody->mm_type==MAILMIME_MULTIPLE) { | 188 | if (cbody->mm_type==MAILMIME_MULTIPLE) { |
189 | RecPart targetPart; | 189 | RecPartP targetPart = new RecPart(); |
190 | targetPart.setType("multipart"); | 190 | targetPart->setType("multipart"); |
191 | countlist.append(current_count); | 191 | countlist.append(current_count); |
192 | targetPart.setPositionlist(countlist); | 192 | targetPart->setPositionlist(countlist); |
193 | target.addPart(targetPart); | 193 | target->addPart(targetPart); |
194 | } | 194 | } |
@@ -208,12 +208,12 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
208 | if (current_rec > 0) { | 208 | if (current_rec > 0) { |
209 | part.setPositionlist(countlist); | 209 | part->setPositionlist(countlist); |
210 | r = mailmessage_fetch_section(message,mime,&data,&len); | 210 | r = mailmessage_fetch_section(message,mime,&data,&len); |
211 | part.setSize(len); | 211 | part->setSize(len); |
212 | part.setPositionlist(countlist); | 212 | part->setPositionlist(countlist); |
213 | b = gen_attachment_id(); | 213 | b = gen_attachment_id(); |
214 | part.setIdentifier(b); | 214 | part->setIdentifier(b); |
215 | part.setType("message"); | 215 | part->setType("message"); |
216 | part.setSubtype("rfc822"); | 216 | part->setSubtype("rfc822"); |
217 | bodyCache[b]=new encodedString(data,len); | 217 | bodyCache[b]=new encodedString(data,len); |
218 | target.addPart(part); | 218 | target->addPart(part); |
219 | } | 219 | } |
@@ -227,3 +227,3 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
227 | 227 | ||
228 | RecBody Genericwrapper::parseMail( mailmessage * msg ) | 228 | RecBodyP Genericwrapper::parseMail( mailmessage * msg ) |
229 | { | 229 | { |
@@ -233,3 +233,3 @@ RecBody Genericwrapper::parseMail( mailmessage * msg ) | |||
233 | mailmime * mime=0; | 233 | mailmime * mime=0; |
234 | RecBody body; | 234 | RecBodyP body = new RecBody(); |
235 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); | 235 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); |
@@ -334,7 +334,7 @@ QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) | |||
334 | 334 | ||
335 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&part) | 335 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) |
336 | { | 336 | { |
337 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier()); | 337 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
338 | if (it==bodyCache.end()) return new encodedString(); | 338 | if (it==bodyCache.end()) return new encodedString(); |
339 | encodedString*t = decode_String(it.data(),part.Encoding()); | 339 | encodedString*t = decode_String(it.data(),part->Encoding()); |
340 | return t; | 340 | return t; |
@@ -342,5 +342,5 @@ encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&pa | |||
342 | 342 | ||
343 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part) | 343 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) |
344 | { | 344 | { |
345 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier()); | 345 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
346 | if (it==bodyCache.end()) return new encodedString(); | 346 | if (it==bodyCache.end()) return new encodedString(); |
@@ -350,3 +350,3 @@ encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&pa | |||
350 | 350 | ||
351 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part) | 351 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) |
352 | { | 352 | { |
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.h b/noncore/net/mail/libmailwrapper/genericwrapper.h index f5b9504..8be9212 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.h +++ b/noncore/net/mail/libmailwrapper/genericwrapper.h | |||
@@ -36,5 +36,5 @@ public: | |||
36 | 36 | ||
37 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part); | 37 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part); |
38 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part); | 38 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part); |
39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part); | 39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part); |
40 | virtual void cleanMimeCache(); | 40 | virtual void cleanMimeCache(); |
@@ -45,3 +45,3 @@ public: | |||
45 | protected: | 45 | protected: |
46 | RecBody parseMail( mailmessage * msg ); | 46 | RecBodyP parseMail( mailmessage * msg ); |
47 | QString parseMailboxList( mailimf_mailbox_list *list ); | 47 | QString parseMailboxList( mailimf_mailbox_list *list ); |
@@ -52,5 +52,5 @@ protected: | |||
52 | 52 | ||
53 | void traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1); | 53 | void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1); |
54 | static void fillSingleBody(RecPart&target,mailmessage*message,mailmime*mime); | 54 | static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime); |
55 | static void fillParameters(RecPart&target,clist*parameters); | 55 | static void fillParameters(RecPartP&target,clist*parameters); |
56 | static QString getencoding(mailmime_mechanism*aEnc); | 56 | static QString getencoding(mailmime_mechanism*aEnc); |
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index 56e7df9..230cf53 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp | |||
@@ -485,5 +485,5 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) | |||
485 | 485 | ||
486 | RecBody IMAPwrapper::fetchBody(const RecMailP&mail) | 486 | RecBodyP IMAPwrapper::fetchBody(const RecMailP&mail) |
487 | { | 487 | { |
488 | RecBody body; | 488 | RecBodyP body = new RecBody(); |
489 | const char *mb; | 489 | const char *mb; |
@@ -644,3 +644,3 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMailP&mail,const QValueList<int | |||
644 | current_count means the position inside the internal loop! */ | 644 | current_count means the position inside the internal loop! */ |
645 | void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body, | 645 | void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body, |
646 | int current_recursion,QValueList<int>recList,int current_count) | 646 | int current_recursion,QValueList<int>recList,int current_count) |
@@ -655,6 +655,6 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
655 | countlist.append(current_count); | 655 | countlist.append(current_count); |
656 | RecPart currentPart; | 656 | RecPartP currentPart = new RecPart(); |
657 | mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part; | 657 | mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part; |
658 | QString id(""); | 658 | QString id(""); |
659 | currentPart.setPositionlist(countlist); | 659 | currentPart->setPositionlist(countlist); |
660 | for (unsigned int j = 0; j < countlist.count();++j) { | 660 | for (unsigned int j = 0; j < countlist.count();++j) { |
@@ -664,3 +664,3 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
664 | qDebug("ID = %s",id.latin1()); | 664 | qDebug("ID = %s",id.latin1()); |
665 | currentPart.setIdentifier(id); | 665 | currentPart->setIdentifier(id); |
666 | fillSinglePart(currentPart,part1); | 666 | fillSinglePart(currentPart,part1); |
@@ -668,11 +668,11 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
668 | And we put it only into the mail if it is the FIRST part */ | 668 | And we put it only into the mail if it is the FIRST part */ |
669 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body.Bodytext().isNull() && countlist[0]==1) { | 669 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body->Bodytext().isNull() && countlist[0]==1) { |
670 | QString body_text = fetchTextPart(mail,countlist,true,currentPart.Encoding()); | 670 | QString body_text = fetchTextPart(mail,countlist,true,currentPart->Encoding()); |
671 | target_body.setDescription(currentPart); | 671 | target_body->setDescription(currentPart); |
672 | target_body.setBodytext(body_text); | 672 | target_body->setBodytext(body_text); |
673 | if (countlist.count()>1) { | 673 | if (countlist.count()>1) { |
674 | target_body.addPart(currentPart); | 674 | target_body->addPart(currentPart); |
675 | } | 675 | } |
676 | } else { | 676 | } else { |
677 | target_body.addPart(currentPart); | 677 | target_body->addPart(currentPart); |
678 | } | 678 | } |
@@ -693,8 +693,8 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
693 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { | 693 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { |
694 | RecPart targetPart; | 694 | RecPartP targetPart = new RecPart(); |
695 | targetPart.setType("multipart"); | 695 | targetPart->setType("multipart"); |
696 | fillMultiPart(targetPart,mailDescription); | 696 | fillMultiPart(targetPart,mailDescription); |
697 | countlist.append(current_count); | 697 | countlist.append(current_count); |
698 | targetPart.setPositionlist(countlist); | 698 | targetPart->setPositionlist(countlist); |
699 | target_body.addPart(targetPart); | 699 | target_body->addPart(targetPart); |
700 | QString id(""); | 700 | QString id(""); |
@@ -719,3 +719,3 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
719 | 719 | ||
720 | void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description) | 720 | void IMAPwrapper::fillSinglePart(RecPartP&target_part,mailimap_body_type_1part*Description) |
721 | { | 721 | { |
@@ -726,3 +726,3 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De | |||
726 | case MAILIMAP_BODY_TYPE_1PART_TEXT: | 726 | case MAILIMAP_BODY_TYPE_1PART_TEXT: |
727 | target_part.setType("text"); | 727 | target_part->setType("text"); |
728 | fillSingleTextPart(target_part,Description->bd_data.bd_type_text); | 728 | fillSingleTextPart(target_part,Description->bd_data.bd_type_text); |
@@ -733,3 +733,3 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De | |||
733 | case MAILIMAP_BODY_TYPE_1PART_MSG: | 733 | case MAILIMAP_BODY_TYPE_1PART_MSG: |
734 | target_part.setType("message"); | 734 | target_part->setType("message"); |
735 | fillSingleMsgPart(target_part,Description->bd_data.bd_type_msg); | 735 | fillSingleMsgPart(target_part,Description->bd_data.bd_type_msg); |
@@ -741,3 +741,3 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De | |||
741 | 741 | ||
742 | void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which) | 742 | void IMAPwrapper::fillSingleTextPart(RecPartP&target_part,mailimap_body_type_text*which) |
743 | { | 743 | { |
@@ -749,4 +749,4 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text | |||
749 | qDebug("Type= text/%s",which->bd_media_text); | 749 | qDebug("Type= text/%s",which->bd_media_text); |
750 | target_part.setSubtype(sub.lower()); | 750 | target_part->setSubtype(sub.lower()); |
751 | target_part.setLines(which->bd_lines); | 751 | target_part->setLines(which->bd_lines); |
752 | fillBodyFields(target_part,which->bd_fields); | 752 | fillBodyFields(target_part,which->bd_fields); |
@@ -754,3 +754,3 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text | |||
754 | 754 | ||
755 | void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which) | 755 | void IMAPwrapper::fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*which) |
756 | { | 756 | { |
@@ -759,6 +759,6 @@ void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*w | |||
759 | } | 759 | } |
760 | target_part.setSubtype("rfc822"); | 760 | target_part->setSubtype("rfc822"); |
761 | qDebug("Message part"); | 761 | qDebug("Message part"); |
762 | /* we set this type to text/plain */ | 762 | /* we set this type to text/plain */ |
763 | target_part.setLines(which->bd_lines); | 763 | target_part->setLines(which->bd_lines); |
764 | fillBodyFields(target_part,which->bd_fields); | 764 | fillBodyFields(target_part,which->bd_fields); |
@@ -766,3 +766,3 @@ void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*w | |||
766 | 766 | ||
767 | void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which) | 767 | void IMAPwrapper::fillMultiPart(RecPartP&target_part,mailimap_body_type_mpart*which) |
768 | { | 768 | { |
@@ -770,3 +770,3 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi | |||
770 | QString sub = which->bd_media_subtype; | 770 | QString sub = which->bd_media_subtype; |
771 | target_part.setSubtype(sub.lower()); | 771 | target_part->setSubtype(sub.lower()); |
772 | if (which->bd_ext_mpart && which->bd_ext_mpart->bd_parameter && which->bd_ext_mpart->bd_parameter->pa_list) { | 772 | if (which->bd_ext_mpart && which->bd_ext_mpart->bd_parameter && which->bd_ext_mpart->bd_parameter->pa_list) { |
@@ -777,3 +777,3 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi | |||
777 | if (param) { | 777 | if (param) { |
778 | target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 778 | target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
779 | } | 779 | } |
@@ -783,3 +783,3 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi | |||
783 | 783 | ||
784 | void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which) | 784 | void IMAPwrapper::fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_basic*which) |
785 | { | 785 | { |
@@ -820,4 +820,4 @@ void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_bas | |||
820 | qDebug("Type = %s/%s",type.latin1(),sub.latin1()); | 820 | qDebug("Type = %s/%s",type.latin1(),sub.latin1()); |
821 | target_part.setType(type.lower()); | 821 | target_part->setType(type.lower()); |
822 | target_part.setSubtype(sub.lower()); | 822 | target_part->setSubtype(sub.lower()); |
823 | fillBodyFields(target_part,which->bd_fields); | 823 | fillBodyFields(target_part,which->bd_fields); |
@@ -825,3 +825,3 @@ void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_bas | |||
825 | 825 | ||
826 | void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) | 826 | void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which) |
827 | { | 827 | { |
@@ -834,3 +834,3 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) | |||
834 | if (param) { | 834 | if (param) { |
835 | target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 835 | target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
836 | } | 836 | } |
@@ -866,6 +866,6 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) | |||
866 | if (which->bd_description) { | 866 | if (which->bd_description) { |
867 | target_part.setDescription(QString(which->bd_description)); | 867 | target_part->setDescription(QString(which->bd_description)); |
868 | } | 868 | } |
869 | target_part.setEncoding(encoding); | 869 | target_part->setEncoding(encoding); |
870 | target_part.setSize(which->bd_size); | 870 | target_part->setSize(which->bd_size); |
871 | } | 871 | } |
@@ -950,11 +950,11 @@ QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const QValueList<int>&pat | |||
950 | 950 | ||
951 | QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part) | 951 | QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) |
952 | { | 952 | { |
953 | return fetchTextPart(mail,part.Positionlist(),false,part.Encoding()); | 953 | return fetchTextPart(mail,part->Positionlist(),false,part->Encoding()); |
954 | } | 954 | } |
955 | 955 | ||
956 | encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&part) | 956 | encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPartP&part) |
957 | { | 957 | { |
958 | encodedString*res = fetchRawPart(mail,part.Positionlist(),false); | 958 | encodedString*res = fetchRawPart(mail,part->Positionlist(),false); |
959 | encodedString*r = decode_String(res,part.Encoding()); | 959 | encodedString*r = decode_String(res,part->Encoding()); |
960 | delete res; | 960 | delete res; |
@@ -963,5 +963,5 @@ encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&p | |||
963 | 963 | ||
964 | encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part) | 964 | encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPartP&part) |
965 | { | 965 | { |
966 | return fetchRawPart(mail,part.Positionlist(),false); | 966 | return fetchRawPart(mail,part->Positionlist(),false); |
967 | } | 967 | } |
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h index 7448acb..e56605a 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.h +++ b/noncore/net/mail/libmailwrapper/imapwrapper.h | |||
@@ -37,6 +37,6 @@ public: | |||
37 | 37 | ||
38 | virtual RecBody fetchBody(const RecMailP&mail); | 38 | virtual RecBodyP fetchBody(const RecMailP&mail); |
39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part); | 39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part); |
40 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part); | 40 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part); |
41 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part); | 41 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part); |
42 | virtual encodedString* fetchRawBody(const RecMailP&mail); | 42 | virtual encodedString* fetchRawBody(const RecMailP&mail); |
@@ -62,11 +62,11 @@ protected: | |||
62 | 62 | ||
63 | void fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description); | 63 | void fillSinglePart(RecPartP&target_part,mailimap_body_type_1part*Description); |
64 | void fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which); | 64 | void fillSingleTextPart(RecPartP&target_part,mailimap_body_type_text*which); |
65 | void fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which); | 65 | void fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_basic*which); |
66 | void fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which); | 66 | void fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*which); |
67 | void fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which); | 67 | void fillMultiPart(RecPartP&target_part,mailimap_body_type_mpart*which); |
68 | void traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body,int current_recursion,QValueList<int>recList,int current_count=1); | 68 | void traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body,int current_recursion,QValueList<int>recList,int current_count=1); |
69 | 69 | ||
70 | /* just helpers */ | 70 | /* just helpers */ |
71 | static void fillBodyFields(RecPart&target_part,mailimap_body_fields*which); | 71 | static void fillBodyFields(RecPartP&target_part,mailimap_body_fields*which); |
72 | static QStringList address_list_to_stringlist(clist*list); | 72 | static QStringList address_list_to_stringlist(clist*list); |
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp index fd91fe5..90b8865 100644 --- a/noncore/net/mail/libmailwrapper/mailtypes.cpp +++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp | |||
@@ -113,3 +113,4 @@ const QStringList& RecMail::References()const | |||
113 | RecPart::RecPart() | 113 | RecPart::RecPart() |
114 | : m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0) | 114 | : Opie::Core::ORefCount(), |
115 | m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0) | ||
115 | { | 116 | { |
@@ -119,2 +120,18 @@ RecPart::RecPart() | |||
119 | 120 | ||
121 | RecPart::RecPart(const RecPart&old) | ||
122 | : Opie::Core::ORefCount(), | ||
123 | m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0) | ||
124 | { | ||
125 | m_type = old.m_type; | ||
126 | m_subtype = old.m_subtype; | ||
127 | m_identifier = old.m_identifier; | ||
128 | m_encoding = old.m_encoding; | ||
129 | m_description = old.m_description; | ||
130 | m_lines = old.m_lines; | ||
131 | m_size = old.m_size; | ||
132 | m_Parameters = old.m_Parameters; | ||
133 | m_poslist = old.m_poslist; | ||
134 | qDebug("RecPart copy constructor"); | ||
135 | } | ||
136 | |||
120 | RecPart::~RecPart() | 137 | RecPart::~RecPart() |
@@ -229,3 +246,3 @@ const QValueList<int>& RecPart::Positionlist()const | |||
229 | RecBody::RecBody() | 246 | RecBody::RecBody() |
230 | : m_BodyText(),m_PartsList(),m_description() | 247 | : Opie::Core::ORefCount(),m_BodyText(),m_description(new RecPart()) |
231 | { | 248 | { |
@@ -234,2 +251,11 @@ RecBody::RecBody() | |||
234 | 251 | ||
252 | RecBody::RecBody(const RecBody&old) | ||
253 | :Opie::Core::ORefCount(),m_BodyText(),m_PartsList(),m_description(new RecPart()) | ||
254 | { | ||
255 | m_BodyText = old.m_BodyText; | ||
256 | m_PartsList = old.m_PartsList; | ||
257 | m_description = old.m_description; | ||
258 | qDebug("Recbody copy constructor"); | ||
259 | } | ||
260 | |||
235 | RecBody::~RecBody() | 261 | RecBody::~RecBody() |
@@ -248,3 +274,3 @@ const QString& RecBody::Bodytext()const | |||
248 | 274 | ||
249 | void RecBody::setParts(const QValueList<RecPart>&parts) | 275 | void RecBody::setParts(const QValueList<RecPartP>&parts) |
250 | { | 276 | { |
@@ -254,3 +280,3 @@ void RecBody::setParts(const QValueList<RecPart>&parts) | |||
254 | 280 | ||
255 | const QValueList<RecPart>& RecBody::Parts()const | 281 | const QValueList<RecPartP>& RecBody::Parts()const |
256 | { | 282 | { |
@@ -259,3 +285,3 @@ const QValueList<RecPart>& RecBody::Parts()const | |||
259 | 285 | ||
260 | void RecBody::addPart(const RecPart& part) | 286 | void RecBody::addPart(const RecPartP& part) |
261 | { | 287 | { |
@@ -264,3 +290,3 @@ void RecBody::addPart(const RecPart& part) | |||
264 | 290 | ||
265 | void RecBody::setDescription(const RecPart&des) | 291 | void RecBody::setDescription(const RecPartP&des) |
266 | { | 292 | { |
@@ -269,3 +295,3 @@ void RecBody::setDescription(const RecPart&des) | |||
269 | 295 | ||
270 | const RecPart& RecBody::Description()const | 296 | const RecPartP& RecBody::Description()const |
271 | { | 297 | { |
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h index 941556a..c317880 100644 --- a/noncore/net/mail/libmailwrapper/mailtypes.h +++ b/noncore/net/mail/libmailwrapper/mailtypes.h | |||
@@ -86,3 +86,3 @@ typedef QMap<QString,QString> part_plist_t; | |||
86 | 86 | ||
87 | class RecPart | 87 | class RecPart:public Opie::Core::ORefCount |
88 | { | 88 | { |
@@ -97,2 +97,3 @@ public: | |||
97 | RecPart(); | 97 | RecPart(); |
98 | RecPart(const RecPart&); | ||
98 | virtual ~RecPart(); | 99 | virtual ~RecPart(); |
@@ -123,3 +124,5 @@ public: | |||
123 | 124 | ||
124 | class RecBody | 125 | typedef Opie::Core::OSmartPointer<RecPart> RecPartP; |
126 | |||
127 | class RecBody:public Opie::Core::ORefCount | ||
125 | { | 128 | { |
@@ -127,4 +130,4 @@ protected: | |||
127 | QString m_BodyText; | 130 | QString m_BodyText; |
128 | QValueList<RecPart> m_PartsList; | 131 | QValueList<RecPartP> m_PartsList; |
129 | RecPart m_description; | 132 | RecPartP m_description; |
130 | 133 | ||
@@ -132,2 +135,3 @@ public: | |||
132 | RecBody(); | 135 | RecBody(); |
136 | RecBody(const RecBody&old); | ||
133 | virtual ~RecBody(); | 137 | virtual ~RecBody(); |
@@ -136,10 +140,12 @@ public: | |||
136 | 140 | ||
137 | void setDescription(const RecPart&des); | 141 | void setDescription(const RecPartP&des); |
138 | const RecPart& Description()const; | 142 | const RecPartP& Description()const; |
139 | 143 | ||
140 | void setParts(const QValueList<RecPart>&parts); | 144 | void setParts(const QValueList<RecPartP>&parts); |
141 | const QValueList<RecPart>& Parts()const; | 145 | const QValueList<RecPartP>& Parts()const; |
142 | void addPart(const RecPart&part); | 146 | void addPart(const RecPartP&part); |
143 | }; | 147 | }; |
144 | 148 | ||
149 | typedef Opie::Core::OSmartPointer<RecBody> RecBodyP; | ||
150 | |||
145 | class encodedString | 151 | class encodedString |
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp index 4aee0be..e3c75f3 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp | |||
@@ -89,5 +89,5 @@ void MBOXwrapper::answeredMail(const RecMailP&) | |||
89 | 89 | ||
90 | RecBody MBOXwrapper::fetchBody( const RecMailP &mail ) | 90 | RecBodyP MBOXwrapper::fetchBody( const RecMailP &mail ) |
91 | { | 91 | { |
92 | RecBody body; | 92 | RecBodyP body = new RecBody(); |
93 | mailstorage*storage = mailstorage_new(NULL); | 93 | mailstorage*storage = mailstorage_new(NULL); |
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h index a2ecfee..9731b85 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.h +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h | |||
@@ -30,3 +30,3 @@ public: | |||
30 | 30 | ||
31 | virtual RecBody fetchBody( const RecMailP &mail ); | 31 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
32 | static void mbox_progress( size_t current, size_t maximum ); | 32 | static void mbox_progress( size_t current, size_t maximum ); |
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp index 5eae31f..12472e9 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp | |||
@@ -125,5 +125,5 @@ void MHwrapper::answeredMail(const RecMailP&) | |||
125 | 125 | ||
126 | RecBody MHwrapper::fetchBody( const RecMailP &mail ) | 126 | RecBodyP MHwrapper::fetchBody( const RecMailP &mail ) |
127 | { | 127 | { |
128 | RecBody body; | 128 | RecBodyP body = new RecBody(); |
129 | init_storage(); | 129 | init_storage(); |
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.h b/noncore/net/mail/libmailwrapper/mhwrapper.h index 0846ec3..4310c84 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.h +++ b/noncore/net/mail/libmailwrapper/mhwrapper.h | |||
@@ -35,3 +35,3 @@ public: | |||
35 | 35 | ||
36 | virtual RecBody fetchBody( const RecMailP &mail ); | 36 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
37 | static void mbox_progress( size_t current, size_t maximum ); | 37 | static void mbox_progress( size_t current, size_t maximum ); |
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp index 9de958d..cc36f32 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp | |||
@@ -35,3 +35,3 @@ void NNTPwrapper::nntp_progress( size_t current, size_t maximum ) { | |||
35 | 35 | ||
36 | RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) { | 36 | RecBodyP NNTPwrapper::fetchBody( const RecMailP &mail ) { |
37 | int err = NEWSNNTP_NO_ERROR; | 37 | int err = NEWSNNTP_NO_ERROR; |
@@ -40,8 +40,8 @@ RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) { | |||
40 | 40 | ||
41 | RecBodyP body = new RecBody(); | ||
41 | login(); | 42 | login(); |
42 | if ( !m_nntp ) { | 43 | if ( !m_nntp ) { |
43 | return RecBody(); | 44 | return body; |
44 | } | 45 | } |
45 | 46 | ||
46 | RecBody body; | ||
47 | mailmessage * mailmsg; | 47 | mailmessage * mailmsg; |
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.h b/noncore/net/mail/libmailwrapper/nntpwrapper.h index a87a8e8..2fb82f2 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.h +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.h | |||
@@ -32,3 +32,3 @@ public: | |||
32 | 32 | ||
33 | virtual RecBody fetchBody( const RecMailP &mail ); | 33 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
34 | virtual encodedString* fetchRawBody(const RecMailP&mail); | 34 | virtual encodedString* fetchRawBody(const RecMailP&mail); |
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index f5694fe..1b7a1b4 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp | |||
@@ -33,3 +33,3 @@ void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { | |||
33 | 33 | ||
34 | RecBody POP3wrapper::fetchBody( const RecMailP &mail ) { | 34 | RecBodyP POP3wrapper::fetchBody( const RecMailP &mail ) { |
35 | int err = MAILPOP3_NO_ERROR; | 35 | int err = MAILPOP3_NO_ERROR; |
@@ -38,8 +38,9 @@ RecBody POP3wrapper::fetchBody( const RecMailP &mail ) { | |||
38 | 38 | ||
39 | RecBodyP body = new RecBody(); | ||
40 | |||
39 | login(); | 41 | login(); |
40 | if ( !m_pop3 ) { | 42 | if ( !m_pop3 ) { |
41 | return RecBody(); | 43 | return body; |
42 | } | 44 | } |
43 | 45 | ||
44 | RecBody body; | ||
45 | mailmessage * mailmsg; | 46 | mailmessage * mailmsg; |
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h index c46b941..5101fa5 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.h +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h | |||
@@ -28,3 +28,3 @@ public: | |||
28 | 28 | ||
29 | virtual RecBody fetchBody( const RecMailP &mail ); | 29 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
30 | virtual encodedString* fetchRawBody(const RecMailP&mail); | 30 | virtual encodedString* fetchRawBody(const RecMailP&mail); |
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp index dd305df..5da2161 100644 --- a/noncore/net/mail/opiemail.cpp +++ b/noncore/net/mail/opiemail.cpp | |||
@@ -148,3 +148,3 @@ void OpieMail::displayMail() | |||
148 | RecMailP mail = ((MailListViewItem*)item)->data(); | 148 | RecMailP mail = ((MailListViewItem*)item)->data(); |
149 | RecBody body = folderView->fetchBody(mail); | 149 | RecBodyP body = folderView->fetchBody(mail); |
150 | ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp ); | 150 | ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp ); |
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp index f00d2cb..156e11d 100644 --- a/noncore/net/mail/viewmail.cpp +++ b/noncore/net/mail/viewmail.cpp | |||
@@ -80,3 +80,3 @@ AttachItem* ViewMail::lastChild(AttachItem*parent) | |||
80 | 80 | ||
81 | void ViewMail::setBody( RecBody body ) | 81 | void ViewMail::setBody(const RecBodyP&body ) |
82 | { | 82 | { |
@@ -84,6 +84,6 @@ void ViewMail::setBody( RecBody body ) | |||
84 | m_body = body; | 84 | m_body = body; |
85 | m_mail[2] = body.Bodytext(); | 85 | m_mail[2] = body->Bodytext(); |
86 | attachbutton->setEnabled(body.Parts().count()>0); | 86 | attachbutton->setEnabled(body->Parts().count()>0); |
87 | attachments->setEnabled(body.Parts().count()>0); | 87 | attachments->setEnabled(body->Parts().count()>0); |
88 | if (body.Parts().count()==0) | 88 | if (body->Parts().count()==0) |
89 | { | 89 | { |
@@ -93,5 +93,5 @@ void ViewMail::setBody( RecBody body ) | |||
93 | AttachItem * parentItem = 0; | 93 | AttachItem * parentItem = 0; |
94 | QString type=body.Description().Type()+"/"+body.Description().Subtype(); | 94 | QString type=body->Description()->Type()+"/"+body->Description()->Subtype(); |
95 | QString desc,fsize; | 95 | QString desc,fsize; |
96 | double s = body.Description().Size(); | 96 | double s = body->Description()->Size(); |
97 | int w; | 97 | int w; |
@@ -131,11 +131,11 @@ void ViewMail::setBody( RecBody body ) | |||
131 | 131 | ||
132 | curItem=new AttachItem(attachments,curItem,type,"Mailbody","",fsize,-1,body.Description().Positionlist()); | 132 | curItem=new AttachItem(attachments,curItem,type,"Mailbody","",fsize,-1,body->Description()->Positionlist()); |
133 | QString filename = ""; | 133 | QString filename = ""; |
134 | 134 | ||
135 | for (unsigned int i = 0; i < body.Parts().count();++i) | 135 | for (unsigned int i = 0; i < body->Parts().count();++i) |
136 | { | 136 | { |
137 | filename = ""; | 137 | filename = ""; |
138 | type = body.Parts()[i].Type()+"/"+body.Parts()[i].Subtype(); | 138 | type = body->Parts()[i]->Type()+"/"+body->Parts()[i]->Subtype(); |
139 | part_plist_t::ConstIterator it = body.Parts()[i].Parameters().begin(); | 139 | part_plist_t::ConstIterator it = body->Parts()[i]->Parameters().begin(); |
140 | for (;it!=body.Parts()[i].Parameters().end();++it) | 140 | for (;it!=body->Parts()[i]->Parameters().end();++it) |
141 | { | 141 | { |
@@ -147,3 +147,3 @@ void ViewMail::setBody( RecBody body ) | |||
147 | } | 147 | } |
148 | s = body.Parts()[i].Size(); | 148 | s = body->Parts()[i]->Size(); |
149 | w = 0; | 149 | w = 0; |
@@ -171,4 +171,4 @@ void ViewMail::setBody( RecBody body ) | |||
171 | o << s << " " << q << "Byte"; | 171 | o << s << " " << q << "Byte"; |
172 | desc = body.Parts()[i].Description(); | 172 | desc = body->Parts()[i]->Description(); |
173 | parentItem = searchParent(body.Parts()[i].Positionlist()); | 173 | parentItem = searchParent(body->Parts()[i]->Positionlist()); |
174 | if (parentItem) | 174 | if (parentItem) |
@@ -177,3 +177,3 @@ void ViewMail::setBody( RecBody body ) | |||
177 | if (temp) curItem = temp; | 177 | if (temp) curItem = temp; |
178 | curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); | 178 | curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body->Parts()[i]->Positionlist()); |
179 | attachments->setRootIsDecorated(true); | 179 | attachments->setRootIsDecorated(true); |
@@ -183,3 +183,3 @@ void ViewMail::setBody( RecBody body ) | |||
183 | { | 183 | { |
184 | curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); | 184 | curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body->Parts()[i]->Positionlist()); |
185 | } | 185 | } |
@@ -228,3 +228,3 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int | |||
228 | { | 228 | { |
229 | encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] ); | 229 | encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ); |
230 | if (content) | 230 | if (content) |
@@ -250,3 +250,3 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int | |||
250 | { // make sure that there is a wrapper , even after delete or simular actions | 250 | { // make sure that there is a wrapper , even after delete or simular actions |
251 | browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) ); | 251 | browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) ); |
252 | } | 252 | } |
@@ -259,3 +259,3 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int | |||
259 | 259 | ||
260 | void ViewMail::setMail( RecMailP mail ) | 260 | void ViewMail::setMail(const RecMailP&mail ) |
261 | { | 261 | { |
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h index 6875e3c..b60fb8e 100644 --- a/noncore/net/mail/viewmail.h +++ b/noncore/net/mail/viewmail.h | |||
@@ -38,5 +38,5 @@ public: | |||
38 | void exec(); | 38 | void exec(); |
39 | void setMail( RecMailP mail ); | 39 | void setMail(const RecMailP&mail ); |
40 | void setBody( RecBody body ); | 40 | void setBody(const RecBodyP&body); |
41 | bool deleted; | 41 | bool deleted; |
42 | 42 | ||
@@ -50,5 +50,5 @@ protected slots: | |||
50 | void slotForward(); | 50 | void slotForward(); |
51 | void setText(); | 51 | void setText(); |
52 | void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); | 52 | void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); |
53 | void slotDeleteMail( ); | 53 | void slotDeleteMail( ); |
54 | void slotShowHtml( bool ); | 54 | void slotShowHtml( bool ); |
@@ -61,11 +61,10 @@ private: | |||
61 | bool m_gotBody; | 61 | bool m_gotBody; |
62 | RecBody m_body; | 62 | RecBodyP m_body; |
63 | RecMailP m_recMail; | 63 | RecMailP m_recMail; |
64 | bool m_showHtml; | 64 | bool m_showHtml; |
65 | 65 | ||
66 | // 0 from 1 subject 2 bodytext 3 date | 66 | // 0 from 1 subject 2 bodytext 3 date |
67 | QMap <int,QString> m_mail; | 67 | QMap <int,QString> m_mail; |
68 | // 0 to 1 cc 2 bcc | 68 | // 0 to 1 cc 2 bcc |
69 | QMap <int,QStringList> m_mail2; | 69 | QMap <int,QStringList> m_mail2; |
70 | |||
71 | }; | 70 | }; |