summaryrefslogtreecommitdiffabout
path: root/kmicromail/composemail.cpp
Unidiff
Diffstat (limited to 'kmicromail/composemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/composemail.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index 2c2e279..ca4f247 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -1,357 +1,363 @@
1 1
2#include "composemail.h" 2#include "composemail.h"
3 3
4#include <libmailwrapper/smtpwrapper.h> 4#include <libmailwrapper/smtpwrapper.h>
5#include <libmailwrapper/storemail.h> 5#include <libmailwrapper/storemail.h>
6#include <libmailwrapper/abstractmail.h> 6#include <libmailwrapper/abstractmail.h>
7#include <libmailwrapper/mailtypes.h> 7#include <libmailwrapper/mailtypes.h>
8 8
9/* OPIE */ 9/* OPIE */
10//#include <opie2/ofiledialog.h> 10//#include <opie2/ofiledialog.h>
11//#include <opie2/odebug.h> 11//#include <opie2/odebug.h>
12#include <kfiledialog.h> 12#include <kfiledialog.h>
13//#include <qpe/resource.h> 13//#include <qpe/resource.h>
14#include <qpe/config.h> 14#include <qpe/config.h>
15#include <qpe/global.h> 15#include <qpe/global.h>
16//#include <qpe/contact.h> 16//#include <qpe/contact.h>
17 17
18 18
19#include <qcombobox.h> 19#include <qcombobox.h>
20#include <qcheckbox.h> 20#include <qcheckbox.h>
21#include <qtimer.h> 21#include <qtimer.h>
22#include <qmessagebox.h> 22#include <qmessagebox.h>
23#include <qpushbutton.h> 23#include <qpushbutton.h>
24#include <qmultilineedit.h> 24#include <qmultilineedit.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qtabwidget.h> 26#include <qtabwidget.h>
27#include <qlistview.h> 27#include <qlistview.h>
28#include <kabc/addresseedialog.h> 28#include <kabc/addresseedialog.h>
29#include <kabc/stdaddressbook.h> 29#include <kabc/stdaddressbook.h>
30#include <kabc/addressee.h> 30#include <kabc/addressee.h>
31 31
32 32
33 33
34//using namespace Opie::Core; 34//using namespace Opie::Core;
35//using namespace Opie::Ui; 35//using namespace Opie::Ui;
36ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 36ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags )
37 : ComposeMailUI( parent, name, modal, flags ) 37 : ComposeMailUI( parent, name, modal, flags )
38{ 38{
39 39
40 settings = s; 40 settings = s;
41 m_replyid = ""; 41 m_replyid = "";
42 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); 42 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( );
43 QStringList mails = con.emails(); 43 QStringList mails = con.emails();
44 QString defmail = con.preferredEmail(); 44 QString defmail = con.preferredEmail();
45 if ( mails.count() == 0) 45 if ( mails.count() == 0)
46 QMessageBox::information( parentWidget(), tr( "Hint" ), 46 QMessageBox::information( parentWidget(), tr( "Hint" ),
47 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!" ), 47 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!" ),
48 tr( "Ok" ) ); 48 tr( "Ok" ) );
49 if (defmail.length()!=0) { 49 if (defmail.length()!=0) {
50 fromBox->insertItem(defmail); 50 fromBox->insertItem(defmail);
51 } 51 }
52 QStringList::ConstIterator sit = mails.begin(); 52 QStringList::ConstIterator sit = mails.begin();
53 for (;sit!=mails.end();++sit) { 53 for (;sit!=mails.end();++sit) {
54 if ( (*sit)==defmail) 54 if ( (*sit)==defmail)
55 continue; 55 continue;
56 fromBox->insertItem((*sit)); 56 fromBox->insertItem((*sit));
57 } 57 }
58 senderNameEdit->setText(con.formattedName()); 58 senderNameEdit->setText(con.formattedName());
59 Config cfg( "mail" ); 59 Config cfg( "mail" );
60 cfg.setGroup( "Compose" ); 60 cfg.setGroup( "Compose" );
61 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) ); 61 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) );
62 62
63 attList->addColumn( tr( "Name" ) ); 63 attList->addColumn( tr( "Name" ) );
64 attList->addColumn( tr( "Size" ) ); 64 attList->addColumn( tr( "Size" ) );
65 65
66 QList<Account> accounts = settings->getAccounts(); 66 QList<Account> accounts = settings->getAccounts();
67 67
68 Account *it; 68 Account *it;
69 for ( it = accounts.first(); it; it = accounts.next() ) { 69 for ( it = accounts.first(); it; it = accounts.next() ) {
70 if ( it->getType()==MAILLIB::A_SMTP ) { 70 if ( it->getType()==MAILLIB::A_SMTP ) {
71 SMTPaccount *smtp = static_cast<SMTPaccount *>(it); 71 SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
72 smtpAccountBox->insertItem( smtp->getAccountName() ); 72 smtpAccountBox->insertItem( smtp->getAccountName() );
73 smtpAccounts.append( smtp ); 73 smtpAccounts.append( smtp );
74 } 74 }
75 } 75 }
76 if ( smtpAccounts.count() > 0 ) { 76 if ( smtpAccounts.count() > 0 ) {
77 fillValues( smtpAccountBox->currentItem() ); 77 fillValues( smtpAccountBox->currentItem() );
78 } else { 78 } else {
79 QMessageBox::information( parentWidget(), tr( "Problem" ), 79 QMessageBox::information( parentWidget(), tr( "Problem" ),
80 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail." ), 80 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail." ),
81 tr( "Ok" ) ); 81 tr( "Ok" ) );
82 return; 82 return;
83 } 83 }
84 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); 84 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) );
85 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); 85 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
86 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); 86 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) );
87 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); 87 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) );
88 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); 88 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) );
89 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); 89 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) );
90 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); 90 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) );
91 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); 91 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) );
92 mMail = 0; 92 mMail = 0;
93 warnAttach = true; 93 warnAttach = true;
94} 94}
95void ComposeMail::saveAsDraft() 95void ComposeMail::saveAsDraft()
96{ 96{
97 97
98 Opie::Core::OSmartPointer<Mail> mail= new Mail(); 98 Opie::Core::OSmartPointer<Mail> mail= new Mail();
99 mail->setMail(fromBox->currentText()); 99 mail->setMail(fromBox->currentText());
100 mail->setTo( toLine->text() ); 100 mail->setTo( toLine->text() );
101 mail->setName(senderNameEdit->text()); 101 mail->setName(senderNameEdit->text());
102 mail->setCC( ccLine->text() ); 102 mail->setCC( ccLine->text() );
103 mail->setBCC( bccLine->text() ); 103 mail->setBCC( bccLine->text() );
104 mail->setReply( replyLine->text() ); 104 mail->setReply( replyLine->text() );
105 mail->setSubject( subjectLine->text() ); 105 mail->setSubject( subjectLine->text() );
106 if (!m_replyid.isEmpty()) { 106 if (!m_replyid.isEmpty()) {
107 QStringList ids; 107 QStringList ids;
108 ids.append(m_replyid); 108 ids.append(m_replyid);
109 mail->setInreply(ids); 109 mail->setInreply(ids);
110 } 110 }
111 QString txt = message->text(); 111 QString txt = message->text();
112 if ( !sigMultiLine->text().isEmpty() ) { 112 if ( !sigMultiLine->text().isEmpty() ) {
113 txt.append( "\n--\n" ); 113 txt.append( "\n--\n" );
114 txt.append( sigMultiLine->text() ); 114 txt.append( sigMultiLine->text() );
115 } 115 }
116 mail->setMessage( txt ); 116 mail->setMessage( txt );
117 117
118 /* only use the default drafts folder name! */ 118 /* only use the default drafts folder name! */
119 Storemail wrapper(AbstractMail::draftFolder()); 119 Storemail wrapper(AbstractMail::draftFolder());
120 wrapper.storeMail(mail); 120 wrapper.storeMail(mail);
121 121
122 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 122 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
123 /* attachments we will ignore! */ 123 /* attachments we will ignore! */
124 if ( it != NULL ) { 124 if ( it != 0 ) {
125 if ( warnAttach ) 125 if ( warnAttach )
126 QMessageBox::warning(0,tr("Store message"), 126 QMessageBox::warning(0,tr("Store message"),
127 tr("<center>Attachments will not be stored in \"Draft\" folder</center>")); 127 tr("<center>Attachments will not be stored in \"Draft\" folder</center>"));
128 warnAttach = false; 128 warnAttach = false;
129 } 129 }
130 setStatus( tr("Mail saved as draft!") ); 130 setStatus( tr("Mail saved as draft!") );
131} 131}
132void ComposeMail::clearStatus() 132void ComposeMail::clearStatus()
133{ 133{
134 topLevelWidget()->setCaption( tr("Compose mail") ); 134 topLevelWidget()->setCaption( tr("Compose mail") );
135} 135}
136void ComposeMail::setStatus( QString status ) 136void ComposeMail::setStatus( QString status )
137{ 137{
138 topLevelWidget()->setCaption( status ); 138 topLevelWidget()->setCaption( status );
139 QTimer::singleShot ( 5000, this, SLOT( clearStatus() ) ) ; 139 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ;
140} 140}
141void ComposeMail::pickAddress( QLineEdit *line ) 141void ComposeMail::pickAddress( QLineEdit *line )
142{ 142{
143 //qDebug(" ComposeMail::pickAddress "); 143 //qDebug(" ComposeMail::pickAddress ");
144 QString names ;//= AddressPicker::getNames(); 144 QString names ;//= AddressPicker::getNames();
145 145
146 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 146 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
147 uint i=0; 147 uint i=0;
148 for (i=0; i < list.count(); i++) { 148 for (i=0; i < list.count(); i++) {
149 if ( !list[i].preferredEmail().isEmpty()) { 149 if ( !list[i].preferredEmail().isEmpty()) {
150 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; 150 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">";
151 if ( i < list.count() -1 ) 151 if ( i < list.count() -1 )
152 names+= ","; 152 names+= ",";
153 } 153 }
154 } 154 }
155 155
156 156
157 if ( line->text().isEmpty() ) { 157 if ( line->text().isEmpty() ) {
158 line->setText( names ); 158 line->setText( names );
159 } else if ( !names.isEmpty() ) { 159 } else if ( !names.isEmpty() ) {
160 line->setText( line->text() + ", " + names ); 160 line->setText( line->text() + ", " + names );
161 } 161 }
162} 162}
163 163
164 164
165void ComposeMail::setTo( const QString & to ) 165void ComposeMail::setTo( const QString & to )
166{ 166{
167 toLine->setText( to ); 167 toLine->setText( to );
168} 168}
169 169
170void ComposeMail::setSubject( const QString & subject ) 170void ComposeMail::setSubject( const QString & subject )
171{ 171{
172 subjectLine->setText( subject ); 172 subjectLine->setText( subject );
173} 173}
174 174
175void ComposeMail::setInReplyTo( const QString & messageId ) 175void ComposeMail::setInReplyTo( const QString & messageId )
176{ 176{
177 m_replyid = messageId; 177 m_replyid = messageId;
178} 178}
179 179
180void ComposeMail::setMessage( const QString & text ) 180void ComposeMail::setMessage( const QString & text )
181{ 181{
182 message->setText( text ); 182 message->setText( text );
183} 183}
184 184
185 185
186void ComposeMail::pickAddressTo() 186void ComposeMail::pickAddressTo()
187{ 187{
188 pickAddress( toLine ); 188 pickAddress( toLine );
189} 189}
190 190
191void ComposeMail::pickAddressCC() 191void ComposeMail::pickAddressCC()
192{ 192{
193 pickAddress( ccLine ); 193 pickAddress( ccLine );
194} 194}
195 195
196void ComposeMail::pickAddressBCC() 196void ComposeMail::pickAddressBCC()
197{ 197{
198 pickAddress( bccLine ); 198 pickAddress( bccLine );
199} 199}
200 200
201void ComposeMail::pickAddressReply() 201void ComposeMail::pickAddressReply()
202{ 202{
203 pickAddress( replyLine ); 203 pickAddress( replyLine );
204} 204}
205 205
206void ComposeMail::fillValues( int ) 206void ComposeMail::fillValues( int )
207{ 207{
208#if 0 208#if 0
209 SMTPaccount *smtp = smtpAccounts.at( current ); 209 SMTPaccount *smtp = smtpAccounts.at( current );
210 ccLine->clear(); 210 ccLine->clear();
211 if ( smtp->getUseCC() ) { 211 if ( smtp->getUseCC() ) {
212 ccLine->setText( smtp->getCC() ); 212 ccLine->setText( smtp->getCC() );
213 } 213 }
214 bccLine->clear(); 214 bccLine->clear();
215 if ( smtp->getUseBCC() ) { 215 if ( smtp->getUseBCC() ) {
216 bccLine->setText( smtp->getBCC() ); 216 bccLine->setText( smtp->getBCC() );
217 } 217 }
218 replyLine->clear(); 218 replyLine->clear();
219 if ( smtp->getUseReply() ) { 219 if ( smtp->getUseReply() ) {
220 replyLine->setText( smtp->getReply() ); 220 replyLine->setText( smtp->getReply() );
221 } 221 }
222 sigMultiLine->setText( smtp->getSignature() ); 222 sigMultiLine->setText( smtp->getSignature() );
223#endif 223#endif
224} 224}
225 225
226void ComposeMail::slotAdjustColumns() 226void ComposeMail::slotAdjustColumns()
227{ 227{
228 int currPage = tabWidget->currentPageIndex(); 228 int currPage = tabWidget->currentPageIndex();
229 229
230 tabWidget->showPage( attachTab ); 230 tabWidget->showPage( attachTab );
231 attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); 231 attList->setColumnWidth( 0, attList->visibleWidth() - 80 );
232 attList->setColumnWidth( 1, 80 ); 232 attList->setColumnWidth( 1, 80 );
233 233
234 tabWidget->setCurrentPage( currPage ); 234 tabWidget->setCurrentPage( currPage );
235} 235}
236 236
237void ComposeMail::addAttachment() 237void ComposeMail::addAttachment()
238{ 238{
239 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); 239 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this );
240 if ( !lnk.isEmpty() ) { 240 if ( !lnk.isEmpty() ) {
241 Attachment *att = new Attachment( lnk ); 241 Attachment *att = new Attachment( lnk );
242 (void) new AttachViewItem( attList, att ); 242 (void) new AttachViewItem( attList, att );
243 } 243 }
244} 244}
245 245
246void ComposeMail::removeAttachment() 246void ComposeMail::removeAttachment()
247{ 247{
248 if ( !attList->currentItem() ) { 248 if ( !attList->currentItem() ) {
249 QMessageBox::information( this, tr( "Error" ), 249 QMessageBox::information( this, tr( "Error" ),
250 tr( "<p>Please select a File.</p>" ), 250 tr( "<p>Please select a File.</p>" ),
251 tr( "Ok" ) ); 251 tr( "Ok" ) );
252 } else { 252 } else {
253 attList->takeItem( attList->currentItem() ); 253 attList->takeItem( attList->currentItem() );
254 } 254 }
255} 255}
256 256
257void ComposeMail::accept() 257void ComposeMail::accept()
258{ 258{
259 if (! checkBoxLater->isChecked() ) { 259 if (! checkBoxLater->isChecked() ) {
260 int yesno = QMessageBox::warning(0,tr("Stop editing message"), 260 int yesno = QMessageBox::warning(0,tr("Stop editing message"),
261 tr("Send this message?"), 261 tr("Send this message?"),
262 tr("Yes"), 262 tr("Yes"),
263 tr("Cancel")); 263 tr("Cancel"));
264 264
265 if (yesno == 1) { 265 if (yesno == 1) {
266 return; 266 return;
267 } 267 }
268 } 268 }
269#if 0 269#if 0
270 odebug << "Sending Mail with " 270 odebug << "Sending Mail with "
271 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; 271 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl;
272#endif 272#endif
273 Opie::Core::OSmartPointer<Mail> mail=new Mail; 273 Opie::Core::OSmartPointer<Mail> mail=new Mail;
274 274
275 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); 275 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
276 mail->setMail(fromBox->currentText()); 276 mail->setMail(fromBox->currentText());
277 277
278 if ( !toLine->text().isEmpty() ) { 278 if ( !toLine->text().isEmpty() ) {
279 mail->setTo( toLine->text() ); 279 mail->setTo( toLine->text() );
280 } else { 280 } else {
281 QMessageBox::warning(0,tr("Sending mail"), 281 QMessageBox::warning(0,tr("Sending mail"),
282 tr("No Receiver spezified" ) ); 282 tr("No Receiver spezified" ) );
283 return; 283 return;
284 } 284 }
285 285
286 mail->setName(senderNameEdit->text()); 286 mail->setName(senderNameEdit->text());
287 mail->setCC( ccLine->text() ); 287 mail->setCC( ccLine->text() );
288 mail->setBCC( bccLine->text() ); 288 mail->setBCC( bccLine->text() );
289 mail->setReply( replyLine->text() ); 289 mail->setReply( replyLine->text() );
290 mail->setSubject( subjectLine->text() ); 290 mail->setSubject( subjectLine->text() );
291 if (!m_replyid.isEmpty()) { 291 if (!m_replyid.isEmpty()) {
292 QStringList ids; 292 QStringList ids;
293 ids.append(m_replyid); 293 ids.append(m_replyid);
294 mail->setInreply(ids); 294 mail->setInreply(ids);
295 } 295 }
296 QString txt = message->text(); 296 QString txt = message->text();
297 if ( !sigMultiLine->text().isEmpty() ) { 297 if ( !sigMultiLine->text().isEmpty() ) {
298 txt.append( "\n--\n" ); 298 txt.append( "\n--\n" );
299 txt.append( sigMultiLine->text() ); 299 txt.append( sigMultiLine->text() );
300 } 300 }
301 mail->setMessage( txt ); 301 mail->setMessage( txt );
302 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 302 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
303 while ( it != NULL ) { 303 while ( it != 0 ) {
304 mail->addAttachment( it->getAttachment() ); 304 mail->addAttachment( it->getAttachment() );
305 it = (AttachViewItem *) it->nextSibling(); 305 it = (AttachViewItem *) it->nextSibling();
306 } 306 }
307 307
308 SMTPwrapper wrapper( smtp ); 308 SMTPwrapper wrapper( smtp );
309 wrapper.sendMail( mail,checkBoxLater->isChecked() ); 309 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) )
310 setStatus( tr ("Mail sent"));
311 else {
312 setStatus( tr ("Error: Something went wrong. Nothing sent"));
313 return;
314 }
315
310 316
311 QDialog::accept(); 317 QDialog::accept();
312} 318}
313 319
314void ComposeMail::reject() 320void ComposeMail::reject()
315{ 321{
316 //qDebug("ComposeMail::reject() "); 322 //qDebug("ComposeMail::reject() ");
317 int yesno = QMessageBox::warning(0,tr("Stop editing message"), 323 int yesno = QMessageBox::warning(0,tr("Stop editing message"),
318 tr("Store message into drafts?"), 324 tr("Store message into drafts?"),
319 tr("Yes"), 325 tr("Yes"),
320 tr("No")); 326 tr("No"));
321 327
322 //qDebug("button %d ", yesno); 328 //qDebug("button %d ", yesno);
323 if (yesno == 0) { 329 if (yesno == 0) {
324 saveAsDraft(); 330 saveAsDraft();
325 } 331 }
326 if (yesno == 2) { 332 if (yesno == 2) {
327 qDebug("return "); 333 qDebug("return ");
328 return; 334 return;
329 } 335 }
330 QDialog::reject(); 336 QDialog::reject();
331} 337}
332 338
333ComposeMail::~ComposeMail() 339ComposeMail::~ComposeMail()
334{ 340{
335} 341}
336 342
337void ComposeMail::reEditMail(const RecMailP&current) 343void ComposeMail::reEditMail(const RecMailP&current)
338{ 344{
339 RecMailP data = current; 345 RecMailP data = current;
340 message->setText(data->Wrapper()->fetchBody(current)->Bodytext()); 346 message->setText(data->Wrapper()->fetchBody(current)->Bodytext());
341 subjectLine->setText( data->getSubject()); 347 subjectLine->setText( data->getSubject());
342 toLine->setText(data->To().join(",")); 348 toLine->setText(data->To().join(","));
343 ccLine->setText(data->CC().join(",")); 349 ccLine->setText(data->CC().join(","));
344 bccLine->setText(data->Bcc().join(",")); 350 bccLine->setText(data->Bcc().join(","));
345 replyLine->setText(data->Replyto()); 351 replyLine->setText(data->Replyto());
346} 352}
347 353
348AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) 354AttachViewItem::AttachViewItem( QListView *parent, Attachment *att )
349 : QListViewItem( parent ) 355 : QListViewItem( parent )
350{ 356{
351 attachment = att; 357 attachment = att;
352 if ( !attachment->getPixmap().isNull() ) 358 if ( !attachment->getPixmap().isNull() )
353 setPixmap( 0,attachment->getPixmap() ); 359 setPixmap( 0,attachment->getPixmap() );
354 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() ); 360 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() );
355 setText( 1, QString::number( att->getSize() ) ); 361 setText( 1, QString::number( att->getSize() ) );
356} 362}
357 363