-rw-r--r-- | noncore/net/mail/viewmail.cpp | 14 |
1 files changed, 14 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 | |||
@@ -59,12 +59,24 @@ AttachItem* ViewMail::searchParent(const QValueList<int>&path) | |||
59 | AttachItem*ati = (AttachItem*)it.current(); | 59 | AttachItem*ati = (AttachItem*)it.current(); |
60 | if (ati->isParentof(path)) return ati; | 60 | if (ati->isParentof(path)) return ati; |
61 | } | 61 | } |
62 | return 0; | 62 | return 0; |
63 | } | 63 | } |
64 | 64 | ||
65 | AttachItem* ViewMail::lastChild(AttachItem*parent) | ||
66 | { | ||
67 | if (!parent) return 0; | ||
68 | AttachItem* item = (AttachItem*)parent->firstChild(); | ||
69 | if (!item) return item; | ||
70 | AttachItem*temp=0; | ||
71 | while( (temp=(AttachItem*)item->nextSibling())) { | ||
72 | item = temp; | ||
73 | } | ||
74 | return item; | ||
75 | } | ||
76 | |||
65 | void ViewMail::setBody( RecBody body ) { | 77 | void ViewMail::setBody( RecBody body ) { |
66 | 78 | ||
67 | m_body = body; | 79 | m_body = body; |
68 | m_mail[2] = body.Bodytext(); | 80 | m_mail[2] = body.Bodytext(); |
69 | attachbutton->setEnabled(body.Parts().count()>0); | 81 | attachbutton->setEnabled(body.Parts().count()>0); |
70 | attachments->setEnabled(body.Parts().count()>0); | 82 | attachments->setEnabled(body.Parts().count()>0); |
@@ -143,12 +155,14 @@ for (unsigned int i = 0; i < body.Parts().count();++i) { | |||
143 | if (w>0) o.precision(2); else o.precision(0); | 155 | if (w>0) o.precision(2); else o.precision(0); |
144 | o.setf(QTextStream::fixed); | 156 | o.setf(QTextStream::fixed); |
145 | o << s << " " << q << "Byte"; | 157 | o << s << " " << q << "Byte"; |
146 | desc = body.Parts()[i].Description(); | 158 | desc = body.Parts()[i].Description(); |
147 | parentItem = searchParent(body.Parts()[i].Positionlist()); | 159 | parentItem = searchParent(body.Parts()[i].Positionlist()); |
148 | if (parentItem) { | 160 | if (parentItem) { |
161 | AttachItem*temp = lastChild(parentItem); | ||
162 | if (temp) curItem = temp; | ||
149 | curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); | 163 | curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); |
150 | attachments->setRootIsDecorated(true); | 164 | attachments->setRootIsDecorated(true); |
151 | curItem = parentItem; | 165 | curItem = parentItem; |
152 | } else { | 166 | } else { |
153 | curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); | 167 | curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); |
154 | } | 168 | } |