summaryrefslogtreecommitdiff
authoralwin <alwin>2004-03-18 18:00:18 (UTC)
committer alwin <alwin>2004-03-18 18:00:18 (UTC)
commitfef9cec046fcf21a4f762c36454b8f253dd3e25e (patch) (side-by-side diff)
treeb87ee38164e1e9ce635dde34c13677f09388c058
parent69fa0e7b5cab5f4cdfdac736e31ff0fd0fbf4312 (diff)
downloadopie-fef9cec046fcf21a4f762c36454b8f253dd3e25e.zip
opie-fef9cec046fcf21a4f762c36454b8f253dd3e25e.tar.gz
opie-fef9cec046fcf21a4f762c36454b8f253dd3e25e.tar.bz2
some (hopeful) improvements
Diffstat (more/less context) (show 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.h7
23 files changed, 221 insertions, 187 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
@@ -77,5 +77,5 @@ void POP3viewItem::refresh()
}
-RecBody POP3viewItem::fetchBody( const RecMailP &mail )
+RECBODYP POP3viewItem::fetchBody( const RecMailP &mail )
{
qDebug( "POP3 fetchBody" );
@@ -162,5 +162,5 @@ void POP3folderItem::refresh(QValueList<RecMailP>&target)
}
-RecBody POP3folderItem::fetchBody(const RecMailP&aMail)
+RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail)
{
return pop3->getWrapper()->fetchBody(aMail);
@@ -268,5 +268,5 @@ void NNTPviewItem::refresh()
}
-RecBody NNTPviewItem::fetchBody( const RecMailP &mail )
+RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail )
{
qDebug( "NNTP fetchBody" );
@@ -366,5 +366,5 @@ void NNTPfolderItem::refresh(QValueList<RecMailP>&target)
}
-RecBody NNTPfolderItem::fetchBody(const RecMailP&aMail)
+RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail)
{
return nntp->getWrapper()->fetchBody(aMail);
@@ -563,7 +563,7 @@ void IMAPviewItem::contextMenuSelected(int id)
}
-RecBody IMAPviewItem::fetchBody(const RecMailP&)
+RECBODYP IMAPviewItem::fetchBody(const RecMailP&)
{
- return RecBody();
+ return new RecBody();
}
@@ -623,5 +623,5 @@ void IMAPfolderItem::refresh(QValueList<RecMailP>&target)
}
-RecBody IMAPfolderItem::fetchBody(const RecMailP&aMail)
+RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail)
{
return imap->getWrapper()->fetchBody(aMail);
@@ -801,5 +801,5 @@ void MHviewItem::refresh(bool force)
}
-RecBody MHviewItem::fetchBody( const RecMailP &mail )
+RECBODYP MHviewItem::fetchBody( const RecMailP &mail )
{
qDebug( "MH fetchBody" );
@@ -922,5 +922,5 @@ void MHfolderItem::refresh(QValueList<RecMailP>&target)
}
-RecBody MHfolderItem::fetchBody(const RecMailP&aMail)
+RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail)
{
return mbox->getWrapper()->fetchBody(aMail);
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
@@ -18,4 +18,6 @@ class AbstractMail;
class Folder;
+#define RECBODYP Opie::Core::OSmartPointer<RecBody>
+
class AccountViewItem : public QListViewItem
{
@@ -29,5 +31,5 @@ public:
virtual ~AccountViewItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&)=0;
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&)=0;
+ virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&)=0;
virtual QPopupMenu * getContextMenu(){return 0;};
virtual void contextMenuSelected(int){}
@@ -53,5 +55,5 @@ public:
virtual ~POP3viewItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target );
- virtual RecBody fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
+ virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
@@ -73,5 +75,5 @@ public:
virtual ~POP3folderItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
+ virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
@@ -90,5 +92,5 @@ public:
virtual ~NNTPviewItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target );
- virtual RecBody fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
+ virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
@@ -111,5 +113,5 @@ public:
virtual ~NNTPfolderItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
+ virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
@@ -129,5 +131,5 @@ public:
virtual ~IMAPviewItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
+ virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
@@ -152,5 +154,5 @@ public:
virtual ~IMAPfolderItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
+ virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
@@ -171,5 +173,5 @@ public:
virtual ~MHviewItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target );
- virtual RecBody fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
+ virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
@@ -194,5 +196,5 @@ public:
virtual ~MHfolderItem();
virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
+ virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
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
@@ -115,8 +115,8 @@ void AccountView::refreshAll()
}
-RecBody AccountView::fetchBody(const RecMailP&aMail)
+RecBodyP AccountView::fetchBody(const RecMailP&aMail)
{
QListViewItem*item = selectedItem ();
- if (!item) return RecBody();
+ if (!item) return new RecBody();
AccountViewItem *view = static_cast<AccountViewItem *>(item);
return view->fetchBody(aMail);
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
@@ -22,5 +22,5 @@ public:
virtual ~AccountView();
virtual void populate( QList<Account> list );
- virtual RecBody fetchBody(const Opie::Core::OSmartPointer<RecMail>&aMail);
+ virtual RecBodyP fetchBody(const Opie::Core::OSmartPointer<RecMail>&aMail);
virtual void downloadMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper);
virtual bool currentisDraft();
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
@@ -281,5 +281,5 @@ void ComposeMail::reEditMail(const RecMailP&current)
{
RecMailP data = current;
- message->setText(data->Wrapper()->fetchBody(current).Bodytext());
+ message->setText(data->Wrapper()->fetchBody(current)->Bodytext());
subjectLine->setText( data->getSubject());
toLine->setText(data->To().join(","));
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
@@ -25,8 +25,8 @@ public:
virtual void listMessages(const QString & mailbox,QValueList<RecMailP>&target )=0;
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0;
- virtual RecBody fetchBody(const RecMailP&mail)=0;
- virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part)=0;
- virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part)=0;
- virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part)=0;
+ virtual RecBodyP fetchBody(const RecMailP&mail)=0;
+ virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part)=0;
+ virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part)=0;
+ virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part)=0;
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
@@ -23,5 +23,5 @@ Genericwrapper::~Genericwrapper()
}
-void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime)
+void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime)
{
if (!mime) {
@@ -39,28 +39,28 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime)
clistcell*current;
if (!type) {
- target.setType("text");
- target.setSubtype("plain");
+ target->setType("text");
+ target->setSubtype("plain");
} else {
- target.setSubtype(type->ct_subtype);
+ target->setSubtype(type->ct_subtype);
switch(type->ct_type->tp_data.tp_discrete_type->dt_type) {
case MAILMIME_DISCRETE_TYPE_TEXT:
- target.setType("text");
+ target->setType("text");
break;
case MAILMIME_DISCRETE_TYPE_IMAGE:
- target.setType("image");
+ target->setType("image");
break;
case MAILMIME_DISCRETE_TYPE_AUDIO:
- target.setType("audio");
+ target->setType("audio");
break;
case MAILMIME_DISCRETE_TYPE_VIDEO:
- target.setType("video");
+ target->setType("video");
break;
case MAILMIME_DISCRETE_TYPE_APPLICATION:
- target.setType("application");
+ target->setType("application");
break;
case MAILMIME_DISCRETE_TYPE_EXTENSION:
default:
if (type->ct_type->tp_data.tp_discrete_type->dt_extension) {
- target.setType(type->ct_type->tp_data.tp_discrete_type->dt_extension);
+ target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension);
}
break;
@@ -75,11 +75,11 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime)
switch(field->fld_type) {
case MAILMIME_FIELD_TRANSFER_ENCODING:
- target.setEncoding(getencoding(field->fld_data.fld_encoding));
+ target->setEncoding(getencoding(field->fld_data.fld_encoding));
break;
case MAILMIME_FIELD_ID:
- target.setIdentifier(field->fld_data.fld_id);
+ target->setIdentifier(field->fld_data.fld_id);
break;
case MAILMIME_FIELD_DESCRIPTION:
- target.setDescription(field->fld_data.fld_description);
+ target->setDescription(field->fld_data.fld_description);
break;
default:
@@ -90,5 +90,5 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime)
}
-void Genericwrapper::fillParameters(RecPart&target,clist*parameters)
+void Genericwrapper::fillParameters(RecPartP&target,clist*parameters)
{
if (!parameters) {return;}
@@ -98,5 +98,5 @@ void Genericwrapper::fillParameters(RecPart&target,clist*parameters)
param = (mailmime_parameter*)current->data;
if (param) {
- target.addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
+ target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
}
}
@@ -133,5 +133,5 @@ QString Genericwrapper::getencoding(mailmime_mechanism*aEnc)
}
-void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count)
+void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count)
{
if (current_rec >= 10) {
@@ -146,5 +146,5 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi
clistiter * cur = 0;
QString b;
- RecPart part;
+ RecPartP part = new RecPart();
switch (mime->mm_type) {
@@ -154,16 +154,16 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi
countlist.append(current_count);
r = mailmessage_fetch_section(message,mime,&data,&len);
- part.setSize(len);
- part.setPositionlist(countlist);
+ part->setSize(len);
+ part->setPositionlist(countlist);
b = gen_attachment_id();
- part.setIdentifier(b);
+ part->setIdentifier(b);
fillSingleBody(part,message,mime);
- if (part.Type()=="text" && target.Bodytext().isNull()) {
+ if (part->Type()=="text" && target->Bodytext().isNull()) {
encodedString*rs = new encodedString();
rs->setContent(data,len);
- encodedString*res = decode_String(rs,part.Encoding());
+ encodedString*res = decode_String(rs,part->Encoding());
if (countlist.count()>2) {
bodyCache[b]=rs;
- target.addPart(part);
+ target->addPart(part);
} else {
delete rs;
@@ -171,9 +171,9 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi
b = QString(res->Content());
delete res;
- target.setBodytext(b);
- target.setDescription(part);
+ target->setBodytext(b);
+ target->setDescription(part);
} else {
bodyCache[b]=new encodedString(data,len);
- target.addPart(part);
+ target->addPart(part);
}
}
@@ -187,9 +187,9 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi
cbody = (mailmime*)clist_content(cur);
if (cbody->mm_type==MAILMIME_MULTIPLE) {
- RecPart targetPart;
- targetPart.setType("multipart");
+ RecPartP targetPart = new RecPart();
+ targetPart->setType("multipart");
countlist.append(current_count);
- targetPart.setPositionlist(countlist);
- target.addPart(targetPart);
+ targetPart->setPositionlist(countlist);
+ target->addPart(targetPart);
}
traverseBody(target,message, cbody,countlist,current_rec+1,ccount);
@@ -207,14 +207,14 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi
/* the own header is always at recursion 0 - we don't need that */
if (current_rec > 0) {
- part.setPositionlist(countlist);
+ part->setPositionlist(countlist);
r = mailmessage_fetch_section(message,mime,&data,&len);
- part.setSize(len);
- part.setPositionlist(countlist);
+ part->setSize(len);
+ part->setPositionlist(countlist);
b = gen_attachment_id();
- part.setIdentifier(b);
- part.setType("message");
- part.setSubtype("rfc822");
+ part->setIdentifier(b);
+ part->setType("message");
+ part->setSubtype("rfc822");
bodyCache[b]=new encodedString(data,len);
- target.addPart(part);
+ target->addPart(part);
}
if (mime->mm_data.mm_message.mm_msg_mime != NULL) {
@@ -226,5 +226,5 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi
}
-RecBody Genericwrapper::parseMail( mailmessage * msg )
+RecBodyP Genericwrapper::parseMail( mailmessage * msg )
{
int err = MAILIMF_NO_ERROR;
@@ -232,5 +232,5 @@ RecBody Genericwrapper::parseMail( mailmessage * msg )
/* is bound to msg and will be freed there */
mailmime * mime=0;
- RecBody body;
+ RecBodyP body = new RecBody();
memset(&fields, 0, sizeof(struct mailmime_single_fields));
err = mailmessage_get_bodystructure(msg,&mime);
@@ -333,15 +333,15 @@ QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list )
}
-encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&part)
+encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part)
{
- QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier());
+ QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier());
if (it==bodyCache.end()) return new encodedString();
- encodedString*t = decode_String(it.data(),part.Encoding());
+ encodedString*t = decode_String(it.data(),part->Encoding());
return t;
}
-encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part)
+encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part)
{
- QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier());
+ QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier());
if (it==bodyCache.end()) return new encodedString();
encodedString*t = it.data();
@@ -349,5 +349,5 @@ encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&pa
}
-QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part)
+QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part)
{
encodedString*t = fetchDecodedPart(mail,part);
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
@@ -35,7 +35,7 @@ public:
virtual ~Genericwrapper();
- virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part);
- virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part);
- virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part);
+ virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part);
+ virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part);
+ virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part);
virtual void cleanMimeCache();
virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&){return 1;}
@@ -44,5 +44,5 @@ public:
protected:
- RecBody parseMail( mailmessage * msg );
+ RecBodyP parseMail( mailmessage * msg );
QString parseMailboxList( mailimf_mailbox_list *list );
QString parseMailbox( mailimf_mailbox *box );
@@ -51,7 +51,7 @@ protected:
QString parseDateTime( mailimf_date_time *date );
- void traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1);
- static void fillSingleBody(RecPart&target,mailmessage*message,mailmime*mime);
- static void fillParameters(RecPart&target,clist*parameters);
+ void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1);
+ static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime);
+ static void fillParameters(RecPartP&target,clist*parameters);
static QString getencoding(mailmime_mechanism*aEnc);
virtual void parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false);
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
@@ -484,7 +484,7 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
}
-RecBody IMAPwrapper::fetchBody(const RecMailP&mail)
+RecBodyP IMAPwrapper::fetchBody(const RecMailP&mail)
{
- RecBody body;
+ RecBodyP body = new RecBody();
const char *mb;
int err = MAILIMAP_NO_ERROR;
@@ -643,5 +643,5 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMailP&mail,const QValueList<int
/* current_recursion is for recursive calls.
current_count means the position inside the internal loop! */
-void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body,
+void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body,
int current_recursion,QValueList<int>recList,int current_count)
{
@@ -654,8 +654,8 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta
QValueList<int>countlist = recList;
countlist.append(current_count);
- RecPart currentPart;
+ RecPartP currentPart = new RecPart();
mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part;
QString id("");
- currentPart.setPositionlist(countlist);
+ currentPart->setPositionlist(countlist);
for (unsigned int j = 0; j < countlist.count();++j) {
id+=(j>0?" ":"");
@@ -663,17 +663,17 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta
}
qDebug("ID = %s",id.latin1());
- currentPart.setIdentifier(id);
+ currentPart->setIdentifier(id);
fillSinglePart(currentPart,part1);
/* important: Check for is NULL 'cause a body can be empty!
And we put it only into the mail if it is the FIRST part */
- if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body.Bodytext().isNull() && countlist[0]==1) {
- QString body_text = fetchTextPart(mail,countlist,true,currentPart.Encoding());
- target_body.setDescription(currentPart);
- target_body.setBodytext(body_text);
+ if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body->Bodytext().isNull() && countlist[0]==1) {
+ QString body_text = fetchTextPart(mail,countlist,true,currentPart->Encoding());
+ target_body->setDescription(currentPart);
+ target_body->setBodytext(body_text);
if (countlist.count()>1) {
- target_body.addPart(currentPart);
+ target_body->addPart(currentPart);
}
} else {
- target_body.addPart(currentPart);
+ target_body->addPart(currentPart);
}
if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_MSG) {
@@ -692,10 +692,10 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta
current_body = (mailimap_body*)current->data;
if (current_body->bd_type==MAILIMAP_BODY_MPART) {
- RecPart targetPart;
- targetPart.setType("multipart");
+ RecPartP targetPart = new RecPart();
+ targetPart->setType("multipart");
fillMultiPart(targetPart,mailDescription);
countlist.append(current_count);
- targetPart.setPositionlist(countlist);
- target_body.addPart(targetPart);
+ targetPart->setPositionlist(countlist);
+ target_body->addPart(targetPart);
QString id("");
for (unsigned int j = 0; j < countlist.count();++j) {
@@ -718,5 +718,5 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta
}
-void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description)
+void IMAPwrapper::fillSinglePart(RecPartP&target_part,mailimap_body_type_1part*Description)
{
if (!Description) {
@@ -725,5 +725,5 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De
switch (Description->bd_type) {
case MAILIMAP_BODY_TYPE_1PART_TEXT:
- target_part.setType("text");
+ target_part->setType("text");
fillSingleTextPart(target_part,Description->bd_data.bd_type_text);
break;
@@ -732,5 +732,5 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De
break;
case MAILIMAP_BODY_TYPE_1PART_MSG:
- target_part.setType("message");
+ target_part->setType("message");
fillSingleMsgPart(target_part,Description->bd_data.bd_type_msg);
break;
@@ -740,5 +740,5 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De
}
-void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which)
+void IMAPwrapper::fillSingleTextPart(RecPartP&target_part,mailimap_body_type_text*which)
{
if (!which) {
@@ -748,26 +748,26 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text
sub = which->bd_media_text;
qDebug("Type= text/%s",which->bd_media_text);
- target_part.setSubtype(sub.lower());
- target_part.setLines(which->bd_lines);
+ target_part->setSubtype(sub.lower());
+ target_part->setLines(which->bd_lines);
fillBodyFields(target_part,which->bd_fields);
}
-void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which)
+void IMAPwrapper::fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*which)
{
if (!which) {
return;
}
- target_part.setSubtype("rfc822");
+ target_part->setSubtype("rfc822");
qDebug("Message part");
/* we set this type to text/plain */
- target_part.setLines(which->bd_lines);
+ target_part->setLines(which->bd_lines);
fillBodyFields(target_part,which->bd_fields);
}
-void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which)
+void IMAPwrapper::fillMultiPart(RecPartP&target_part,mailimap_body_type_mpart*which)
{
if (!which) return;
QString sub = which->bd_media_subtype;
- target_part.setSubtype(sub.lower());
+ target_part->setSubtype(sub.lower());
if (which->bd_ext_mpart && which->bd_ext_mpart->bd_parameter && which->bd_ext_mpart->bd_parameter->pa_list) {
clistcell*cur = 0;
@@ -776,5 +776,5 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi
param = (mailimap_single_body_fld_param*)cur->data;
if (param) {
- target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
+ target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
}
}
@@ -782,5 +782,5 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi
}
-void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which)
+void IMAPwrapper::fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_basic*which)
{
if (!which) {
@@ -819,10 +819,10 @@ void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_bas
}
qDebug("Type = %s/%s",type.latin1(),sub.latin1());
- target_part.setType(type.lower());
- target_part.setSubtype(sub.lower());
+ target_part->setType(type.lower());
+ target_part->setSubtype(sub.lower());
fillBodyFields(target_part,which->bd_fields);
}
-void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
+void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which)
{
if (!which) return;
@@ -833,5 +833,5 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
param = (mailimap_single_body_fld_param*)cur->data;
if (param) {
- target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
+ target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
}
}
@@ -865,8 +865,8 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
}
if (which->bd_description) {
- target_part.setDescription(QString(which->bd_description));
+ target_part->setDescription(QString(which->bd_description));
}
- target_part.setEncoding(encoding);
- target_part.setSize(which->bd_size);
+ target_part->setEncoding(encoding);
+ target_part->setSize(which->bd_size);
}
@@ -949,20 +949,20 @@ QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const QValueList<int>&pat
}
-QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part)
+QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part)
{
- return fetchTextPart(mail,part.Positionlist(),false,part.Encoding());
+ return fetchTextPart(mail,part->Positionlist(),false,part->Encoding());
}
-encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&part)
+encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPartP&part)
{
- encodedString*res = fetchRawPart(mail,part.Positionlist(),false);
- encodedString*r = decode_String(res,part.Encoding());
+ encodedString*res = fetchRawPart(mail,part->Positionlist(),false);
+ encodedString*r = decode_String(res,part->Encoding());
delete res;
return r;
}
-encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part)
+encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPartP&part)
{
- return fetchRawPart(mail,part.Positionlist(),false);
+ return fetchRawPart(mail,part->Positionlist(),false);
}
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
@@ -36,8 +36,8 @@ public:
virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
- virtual RecBody fetchBody(const RecMailP&mail);
- virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part);
- virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part);
- virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part);
+ virtual RecBodyP fetchBody(const RecMailP&mail);
+ virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part);
+ virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part);
+ virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part);
virtual encodedString* fetchRawBody(const RecMailP&mail);
@@ -61,13 +61,13 @@ protected:
int selectMbox(const QString&mbox);
- void fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description);
- void fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which);
- void fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which);
- void fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which);
- void fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which);
- void traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body,int current_recursion,QValueList<int>recList,int current_count=1);
+ void fillSinglePart(RecPartP&target_part,mailimap_body_type_1part*Description);
+ void fillSingleTextPart(RecPartP&target_part,mailimap_body_type_text*which);
+ void fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_basic*which);
+ void fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*which);
+ void fillMultiPart(RecPartP&target_part,mailimap_body_type_mpart*which);
+ void traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body,int current_recursion,QValueList<int>recList,int current_count=1);
/* just helpers */
- static void fillBodyFields(RecPart&target_part,mailimap_body_fields*which);
+ static void fillBodyFields(RecPartP&target_part,mailimap_body_fields*which);
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
@@ -112,5 +112,6 @@ const QStringList& RecMail::References()const
RecPart::RecPart()
- : m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0)
+ : Opie::Core::ORefCount(),
+ m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0)
{
m_Parameters.clear();
@@ -118,4 +119,20 @@ RecPart::RecPart()
}
+RecPart::RecPart(const RecPart&old)
+ : Opie::Core::ORefCount(),
+ m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0)
+{
+ m_type = old.m_type;
+ m_subtype = old.m_subtype;
+ m_identifier = old.m_identifier;
+ m_encoding = old.m_encoding;
+ m_description = old.m_description;
+ m_lines = old.m_lines;
+ m_size = old.m_size;
+ m_Parameters = old.m_Parameters;
+ m_poslist = old.m_poslist;
+ qDebug("RecPart copy constructor");
+}
+
RecPart::~RecPart()
{
@@ -228,9 +245,18 @@ const QValueList<int>& RecPart::Positionlist()const
RecBody::RecBody()
- : m_BodyText(),m_PartsList(),m_description()
+ : Opie::Core::ORefCount(),m_BodyText(),m_description(new RecPart())
{
m_PartsList.clear();
}
+RecBody::RecBody(const RecBody&old)
+ :Opie::Core::ORefCount(),m_BodyText(),m_PartsList(),m_description(new RecPart())
+{
+ m_BodyText = old.m_BodyText;
+ m_PartsList = old.m_PartsList;
+ m_description = old.m_description;
+ qDebug("Recbody copy constructor");
+}
+
RecBody::~RecBody()
{
@@ -247,5 +273,5 @@ const QString& RecBody::Bodytext()const
}
-void RecBody::setParts(const QValueList<RecPart>&parts)
+void RecBody::setParts(const QValueList<RecPartP>&parts)
{
m_PartsList.clear();
@@ -253,20 +279,20 @@ void RecBody::setParts(const QValueList<RecPart>&parts)
}
-const QValueList<RecPart>& RecBody::Parts()const
+const QValueList<RecPartP>& RecBody::Parts()const
{
return m_PartsList;
}
-void RecBody::addPart(const RecPart& part)
+void RecBody::addPart(const RecPartP& part)
{
m_PartsList.append(part);
}
-void RecBody::setDescription(const RecPart&des)
+void RecBody::setDescription(const RecPartP&des)
{
m_description = des;
}
-const RecPart& RecBody::Description()const
+const RecPartP& RecBody::Description()const
{
return m_description;
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
@@ -85,5 +85,5 @@ typedef Opie::Core::OSmartPointer<RecMail> RecMailP;
typedef QMap<QString,QString> part_plist_t;
-class RecPart
+class RecPart:public Opie::Core::ORefCount
{
protected:
@@ -96,4 +96,5 @@ protected:
public:
RecPart();
+ RecPart(const RecPart&);
virtual ~RecPart();
@@ -122,25 +123,30 @@ public:
};
-class RecBody
+typedef Opie::Core::OSmartPointer<RecPart> RecPartP;
+
+class RecBody:public Opie::Core::ORefCount
{
protected:
QString m_BodyText;
- QValueList<RecPart> m_PartsList;
- RecPart m_description;
+ QValueList<RecPartP> m_PartsList;
+ RecPartP m_description;
public:
RecBody();
+ RecBody(const RecBody&old);
virtual ~RecBody();
void setBodytext(const QString&);
const QString& Bodytext()const;
- void setDescription(const RecPart&des);
- const RecPart& Description()const;
+ void setDescription(const RecPartP&des);
+ const RecPartP& Description()const;
- void setParts(const QValueList<RecPart>&parts);
- const QValueList<RecPart>& Parts()const;
- void addPart(const RecPart&part);
+ void setParts(const QValueList<RecPartP>&parts);
+ const QValueList<RecPartP>& Parts()const;
+ void addPart(const RecPartP&part);
};
+typedef Opie::Core::OSmartPointer<RecBody> RecBodyP;
+
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
@@ -88,7 +88,7 @@ void MBOXwrapper::answeredMail(const RecMailP&)
}
-RecBody MBOXwrapper::fetchBody( const RecMailP &mail )
+RecBodyP MBOXwrapper::fetchBody( const RecMailP &mail )
{
- RecBody body;
+ RecBodyP body = new RecBody();
mailstorage*storage = mailstorage_new(NULL);
QString p = MBOXPath+"/";
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
@@ -29,5 +29,5 @@ public:
virtual void storeMessage(const char*msg,size_t length, const QString&folder);
- virtual RecBody fetchBody( const RecMailP &mail );
+ virtual RecBodyP fetchBody( const RecMailP &mail );
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
@@ -124,7 +124,7 @@ void MHwrapper::answeredMail(const RecMailP&)
}
-RecBody MHwrapper::fetchBody( const RecMailP &mail )
+RecBodyP MHwrapper::fetchBody( const RecMailP &mail )
{
- RecBody body;
+ RecBodyP body = new RecBody();
init_storage();
if (!m_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
@@ -34,5 +34,5 @@ public:
virtual void storeMessage(const char*msg,size_t length, const QString&folder);
- virtual RecBody fetchBody( const RecMailP &mail );
+ virtual RecBodyP fetchBody( const RecMailP &mail );
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
@@ -34,15 +34,15 @@ void NNTPwrapper::nntp_progress( size_t current, size_t maximum ) {
-RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) {
+RecBodyP NNTPwrapper::fetchBody( const RecMailP &mail ) {
int err = NEWSNNTP_NO_ERROR;
char *message = 0;
size_t length = 0;
+ RecBodyP body = new RecBody();
login();
if ( !m_nntp ) {
- return RecBody();
+ return body;
}
- RecBody body;
mailmessage * mailmsg;
if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) {
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
@@ -31,5 +31,5 @@ public:
virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&);
- virtual RecBody fetchBody( const RecMailP &mail );
+ virtual RecBodyP fetchBody( const RecMailP &mail );
virtual encodedString* fetchRawBody(const RecMailP&mail);
virtual void logout();
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
@@ -32,15 +32,16 @@ void POP3wrapper::pop3_progress( size_t current, size_t maximum ) {
}
-RecBody POP3wrapper::fetchBody( const RecMailP &mail ) {
+RecBodyP POP3wrapper::fetchBody( const RecMailP &mail ) {
int err = MAILPOP3_NO_ERROR;
char *message = 0;
size_t length = 0;
+ RecBodyP body = new RecBody();
+
login();
if ( !m_pop3 ) {
- return RecBody();
+ return body;
}
- RecBody body;
mailmessage * mailmsg;
if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) {
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
@@ -27,5 +27,5 @@ public:
virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&);
- virtual RecBody fetchBody( const RecMailP &mail );
+ virtual RecBodyP fetchBody( const RecMailP &mail );
virtual encodedString* fetchRawBody(const RecMailP&mail);
virtual void logout();
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
@@ -147,5 +147,5 @@ void OpieMail::displayMail()
if (!item) return;
RecMailP mail = ((MailListViewItem*)item)->data();
- RecBody body = folderView->fetchBody(mail);
+ RecBodyP body = folderView->fetchBody(mail);
ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp );
readMail.setBody( body );
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
@@ -79,12 +79,12 @@ AttachItem* ViewMail::lastChild(AttachItem*parent)
}
-void ViewMail::setBody( RecBody body )
+void ViewMail::setBody(const RecBodyP&body )
{
m_body = body;
- m_mail[2] = body.Bodytext();
- attachbutton->setEnabled(body.Parts().count()>0);
- attachments->setEnabled(body.Parts().count()>0);
- if (body.Parts().count()==0)
+ m_mail[2] = body->Bodytext();
+ attachbutton->setEnabled(body->Parts().count()>0);
+ attachments->setEnabled(body->Parts().count()>0);
+ if (body->Parts().count()==0)
{
return;
@@ -92,7 +92,7 @@ void ViewMail::setBody( RecBody body )
AttachItem * curItem=0;
AttachItem * parentItem = 0;
- QString type=body.Description().Type()+"/"+body.Description().Subtype();
+ QString type=body->Description()->Type()+"/"+body->Description()->Subtype();
QString desc,fsize;
- double s = body.Description().Size();
+ double s = body->Description()->Size();
int w;
w=0;
@@ -130,13 +130,13 @@ void ViewMail::setBody( RecBody body )
}
- curItem=new AttachItem(attachments,curItem,type,"Mailbody","",fsize,-1,body.Description().Positionlist());
+ curItem=new AttachItem(attachments,curItem,type,"Mailbody","",fsize,-1,body->Description()->Positionlist());
QString filename = "";
- for (unsigned int i = 0; i < body.Parts().count();++i)
+ for (unsigned int i = 0; i < body->Parts().count();++i)
{
filename = "";
- type = body.Parts()[i].Type()+"/"+body.Parts()[i].Subtype();
- part_plist_t::ConstIterator it = body.Parts()[i].Parameters().begin();
- for (;it!=body.Parts()[i].Parameters().end();++it)
+ type = body->Parts()[i]->Type()+"/"+body->Parts()[i]->Subtype();
+ part_plist_t::ConstIterator it = body->Parts()[i]->Parameters().begin();
+ for (;it!=body->Parts()[i]->Parameters().end();++it)
{
qDebug(it.key());
@@ -146,5 +146,5 @@ void ViewMail::setBody( RecBody body )
}
}
- s = body.Parts()[i].Size();
+ s = body->Parts()[i]->Size();
w = 0;
while (s>1024)
@@ -170,11 +170,11 @@ void ViewMail::setBody( RecBody body )
o.setf(QTextStream::fixed);
o << s << " " << q << "Byte";
- desc = body.Parts()[i].Description();
- parentItem = searchParent(body.Parts()[i].Positionlist());
+ desc = body->Parts()[i]->Description();
+ parentItem = searchParent(body->Parts()[i]->Positionlist());
if (parentItem)
{
AttachItem*temp = lastChild(parentItem);
if (temp) curItem = temp;
- curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist());
+ curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body->Parts()[i]->Positionlist());
attachments->setRootIsDecorated(true);
curItem = parentItem;
@@ -182,5 +182,5 @@ void ViewMail::setBody( RecBody body )
else
{
- curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist());
+ curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body->Parts()[i]->Positionlist());
}
}
@@ -227,5 +227,5 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
if( !str.isEmpty() )
{
- encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] );
+ encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] );
if (content)
{
@@ -249,5 +249,5 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
if ( m_recMail->Wrapper() != 0l )
{ // make sure that there is a wrapper , even after delete or simular actions
- browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) );
+ browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) );
}
}
@@ -258,5 +258,5 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
-void ViewMail::setMail( RecMailP mail )
+void ViewMail::setMail(const RecMailP&mail )
{
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
@@ -37,6 +37,6 @@ public:
void hide();
void exec();
- void setMail( RecMailP mail );
- void setBody( RecBody body );
+ void setMail(const RecMailP&mail );
+ void setBody(const RecBodyP&body);
bool deleted;
@@ -60,5 +60,5 @@ private:
QString m_mailHtml;
bool m_gotBody;
- RecBody m_body;
+ RecBodyP m_body;
RecMailP m_recMail;
bool m_showHtml;
@@ -68,5 +68,4 @@ private:
// 0 to 1 cc 2 bcc
QMap <int,QStringList> m_mail2;
-
};