summaryrefslogtreecommitdiff
path: root/noncore/net/mail
authoralwin <alwin>2004-03-18 18:00:18 (UTC)
committer alwin <alwin>2004-03-18 18:00:18 (UTC)
commitfef9cec046fcf21a4f762c36454b8f253dd3e25e (patch) (unidiff)
treeb87ee38164e1e9ce635dde34c13677f09388c058 /noncore/net/mail
parent69fa0e7b5cab5f4cdfdac736e31ff0fd0fbf4312 (diff)
downloadopie-fef9cec046fcf21a4f762c36454b8f253dd3e25e.zip
opie-fef9cec046fcf21a4f762c36454b8f253dd3e25e.tar.gz
opie-fef9cec046fcf21a4f762c36454b8f253dd3e25e.tar.bz2
some (hopeful) improvements
Diffstat (limited to 'noncore/net/mail') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountitem.cpp18
-rw-r--r--noncore/net/mail/accountitem.h20
-rw-r--r--noncore/net/mail/accountview.cpp4
-rw-r--r--noncore/net/mail/accountview.h2
-rw-r--r--noncore/net/mail/composemail.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.h8
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.cpp90
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.h14
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp86
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.h22
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.cpp40
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.h24
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.h2
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.h2
-rw-r--r--noncore/net/mail/libmailwrapper/nntpwrapper.cpp6
-rw-r--r--noncore/net/mail/libmailwrapper/nntpwrapper.h2
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp7
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.h2
-rw-r--r--noncore/net/mail/opiemail.cpp2
-rw-r--r--noncore/net/mail/viewmail.cpp40
-rw-r--r--noncore/net/mail/viewmail.h25
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
79RecBody POP3viewItem::fetchBody( const RecMailP &mail ) 79RECBODYP POP3viewItem::fetchBody( const RecMailP &mail )
80{ 80{
@@ -163,3 +163,3 @@ void POP3folderItem::refresh(QValueList<RecMailP>&target)
163 163
164RecBody POP3folderItem::fetchBody(const RecMailP&aMail) 164RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail)
165{ 165{
@@ -269,3 +269,3 @@ void NNTPviewItem::refresh()
269 269
270RecBody NNTPviewItem::fetchBody( const RecMailP &mail ) 270RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail )
271{ 271{
@@ -367,3 +367,3 @@ void NNTPfolderItem::refresh(QValueList<RecMailP>&target)
367 367
368RecBody NNTPfolderItem::fetchBody(const RecMailP&aMail) 368RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail)
369{ 369{
@@ -564,5 +564,5 @@ void IMAPviewItem::contextMenuSelected(int id)
564 564
565RecBody IMAPviewItem::fetchBody(const RecMailP&) 565RECBODYP 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
625RecBody IMAPfolderItem::fetchBody(const RecMailP&aMail) 625RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail)
626{ 626{
@@ -802,3 +802,3 @@ void MHviewItem::refresh(bool force)
802 802
803RecBody MHviewItem::fetchBody( const RecMailP &mail ) 803RECBODYP MHviewItem::fetchBody( const RecMailP &mail )
804{ 804{
@@ -923,3 +923,3 @@ void MHfolderItem::refresh(QValueList<RecMailP>&target)
923 923
924RecBody MHfolderItem::fetchBody(const RecMailP&aMail) 924RECBODYP 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
20class AccountViewItem : public QListViewItem 22class 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
117RecBody AccountView::fetchBody(const RecMailP&aMail) 117RecBodyP 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&current)
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
25void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) 25void 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
92void Genericwrapper::fillParameters(RecPart&target,clist*parameters) 92void 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
135void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) 135void 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
228RecBody Genericwrapper::parseMail( mailmessage * msg ) 228RecBodyP 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
335encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&part) 335encodedString* 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
343encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part) 343encodedString* 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
351QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part) 351QString 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:
45protected: 45protected:
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
486RecBody IMAPwrapper::fetchBody(const RecMailP&mail) 486RecBodyP 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! */
645void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body, 645void 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
720void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description) 720void 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
742void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which) 742void 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
755void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which) 755void 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
767void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which) 767void 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
784void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which) 784void 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
826void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) 826void 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
951QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part) 951QString 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
956encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&part) 956encodedString* 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
964encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part) 964encodedString* 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
113RecPart::RecPart() 113RecPart::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
121RecPart::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
120RecPart::~RecPart() 137RecPart::~RecPart()
@@ -229,3 +246,3 @@ const QValueList<int>& RecPart::Positionlist()const
229RecBody::RecBody() 246RecBody::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
252RecBody::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
235RecBody::~RecBody() 261RecBody::~RecBody()
@@ -248,3 +274,3 @@ const QString& RecBody::Bodytext()const
248 274
249void RecBody::setParts(const QValueList<RecPart>&parts) 275void RecBody::setParts(const QValueList<RecPartP>&parts)
250{ 276{
@@ -254,3 +280,3 @@ void RecBody::setParts(const QValueList<RecPart>&parts)
254 280
255const QValueList<RecPart>& RecBody::Parts()const 281const QValueList<RecPartP>& RecBody::Parts()const
256{ 282{
@@ -259,3 +285,3 @@ const QValueList<RecPart>& RecBody::Parts()const
259 285
260void RecBody::addPart(const RecPart& part) 286void RecBody::addPart(const RecPartP& part)
261{ 287{
@@ -264,3 +290,3 @@ void RecBody::addPart(const RecPart& part)
264 290
265void RecBody::setDescription(const RecPart&des) 291void RecBody::setDescription(const RecPartP&des)
266{ 292{
@@ -269,3 +295,3 @@ void RecBody::setDescription(const RecPart&des)
269 295
270const RecPart& RecBody::Description()const 296const 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
87class RecPart 87class 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
124class RecBody 125typedef Opie::Core::OSmartPointer<RecPart> RecPartP;
126
127class 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
149typedef Opie::Core::OSmartPointer<RecBody> RecBodyP;
150
145class encodedString 151class 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
90RecBody MBOXwrapper::fetchBody( const RecMailP &mail ) 90RecBodyP 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
126RecBody MHwrapper::fetchBody( const RecMailP &mail ) 126RecBodyP 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
36RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) { 36RecBodyP 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
34RecBody POP3wrapper::fetchBody( const RecMailP &mail ) { 34RecBodyP 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
81void ViewMail::setBody( RecBody body ) 81void 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
260void ViewMail::setMail( RecMailP mail ) 260void 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};