-rw-r--r-- | noncore/net/mail/viewmail.cpp | 14 | ||||
-rw-r--r-- | noncore/net/mail/viewmail.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp index d4c5150..ed77eb5 100644 --- a/noncore/net/mail/viewmail.cpp +++ b/noncore/net/mail/viewmail.cpp @@ -57,16 +57,28 @@ AttachItem* ViewMail::searchParent(const QValueList<int>&path) QListViewItemIterator it( attachments ); for ( ; it.current(); ++it ) { AttachItem*ati = (AttachItem*)it.current(); if (ati->isParentof(path)) return ati; } return 0; } +AttachItem* ViewMail::lastChild(AttachItem*parent) +{ + if (!parent) return 0; + AttachItem* item = (AttachItem*)parent->firstChild(); + if (!item) return item; + AttachItem*temp=0; + while( (temp=(AttachItem*)item->nextSibling())) { + item = temp; + } + return item; +} + void ViewMail::setBody( RecBody 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) { return; @@ -141,16 +153,18 @@ for (unsigned int i = 0; i < body.Parts().count();++i) { } QTextOStream o(&fsize); if (w>0) o.precision(2); else o.precision(0); o.setf(QTextStream::fixed); o << s << " " << q << "Byte"; 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()); attachments->setRootIsDecorated(true); curItem = parentItem; } else { curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); } } } diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h index b3d3b4e..29681cc 100644 --- a/noncore/net/mail/viewmail.h +++ b/noncore/net/mail/viewmail.h @@ -37,16 +37,17 @@ public: void exec(); void setMail( RecMail mail ); void setBody( RecBody body ); bool deleted; protected: QString deHtml(const QString &string); AttachItem* searchParent(const QValueList<int>&path); + AttachItem* lastChild(AttachItem*parent); protected slots: void slotReply(); void slotForward(); void setText(); void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); void slotDeleteMail( ); void slotShowHtml( bool ); |