author | alwin <alwin> | 2004-01-03 13:04:52 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-01-03 13:04:52 (UTC) |
commit | 22564b62e15c1ea3feada5b2f9b6ec4d98b40c6b (patch) (side-by-side diff) | |
tree | 85847776be6743270b18f5e1df9fa6451288f7a6 | |
parent | 452aac36b77ed1f7e6db3a7952028bf6027e54b6 (diff) | |
download | opie-22564b62e15c1ea3feada5b2f9b6ec4d98b40c6b.zip opie-22564b62e15c1ea3feada5b2f9b6ec4d98b40c6b.tar.gz opie-22564b62e15c1ea3feada5b2f9b6ec4d98b40c6b.tar.bz2 |
some more display beauty
-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 @@ -53,24 +53,36 @@ bool AttachItem::isParentof(const QValueList<int>&path) } 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; } AttachItem * curItem=0; AttachItem * parentItem = 0; QString type=body.Description().Type()+"/"+body.Description().Subtype(); @@ -137,24 +149,26 @@ for (unsigned int i = 0; i < body.Parts().count();++i) { break; default: q=""; break; } 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()); } } } void ViewMail::slotShowHtml( bool state ) { m_showHtml = state; 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 @@ -33,24 +33,25 @@ public: ViewMail( QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); ~ViewMail(); void hide(); 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 ); private: void readConfig(); |