summaryrefslogtreecommitdiffabout
path: root/kmicromail/viewmail.cpp
Unidiff
Diffstat (limited to 'kmicromail/viewmail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/viewmail.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/kmicromail/viewmail.cpp b/kmicromail/viewmail.cpp
index 1b74564..b434318 100644
--- a/kmicromail/viewmail.cpp
+++ b/kmicromail/viewmail.cpp
@@ -257,193 +257,193 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
257 if (content) { 257 if (content) {
258 QFile output(tmpfile); 258 QFile output(tmpfile);
259 output.open(IO_WriteOnly); 259 output.open(IO_WriteOnly);
260 output.writeBlock(content->Content(),content->Length()); 260 output.writeBlock(content->Content(),content->Length());
261 output.close(); 261 output.close();
262 delete content; 262 delete content;
263 MailImageDlg iview(""); 263 MailImageDlg iview("");
264 iview.setName(tmpfile); 264 iview.setName(tmpfile);
265 KApplication::execDialog(&iview); 265 KApplication::execDialog(&iview);
266 output.remove(); 266 output.remove();
267 } 267 }
268 } 268 }
269 break; 269 break;
270 case 1: 270 case 1:
271 if ( ( ( AttachItem* )item )->Partnumber() == -1 ) 271 if ( ( ( AttachItem* )item )->Partnumber() == -1 )
272 { 272 {
273 setText(); 273 setText();
274 } 274 }
275 else 275 else
276 { 276 {
277 if ( m_recMail->Wrapper() != 0l ) 277 if ( m_recMail->Wrapper() != 0l )
278 { // make sure that there is a wrapper , even after delete or simular actions 278 { // make sure that there is a wrapper , even after delete or simular actions
279 browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) ); 279 browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) );
280 } 280 }
281 } 281 }
282 break; 282 break;
283 } 283 }
284 delete menu; 284 delete menu;
285} 285}
286 286
287 287
288void ViewMail::setMail(const RecMailP&mail ) 288void ViewMail::setMail(const RecMailP&mail )
289{ 289{
290 290
291 m_recMail = mail; 291 m_recMail = mail;
292 292
293 m_mail[0] = mail->getFrom(); 293 m_mail[0] = mail->getFrom();
294 m_mail[1] = mail->getSubject(); 294 m_mail[1] = mail->getSubject();
295 m_mail[3] = mail->getDate(); 295 m_mail[3] = mail->getDate();
296 m_mail[4] = mail->Msgid(); 296 m_mail[4] = mail->Msgid();
297 297
298 m_mail2[0] = mail->To(); 298 m_mail2[0] = mail->To();
299 m_mail2[1] = mail->CC(); 299 m_mail2[1] = mail->CC();
300 m_mail2[2] = mail->Bcc(); 300 m_mail2[2] = mail->Bcc();
301 301
302 setText(); 302 setText();
303} 303}
304 304
305 305
306 306
307ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) 307ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl)
308 : ViewMailBase(parent, name, fl), _inLoop(false) 308 : ViewMailBase(parent, name, fl), _inLoop(false)
309{ 309{
310 m_gotBody = false; 310 m_gotBody = false;
311 deleted = false; 311 deleted = false;
312 312
313 connect( reply, SIGNAL(activated()), SLOT(slotReply())); 313 connect( reply, SIGNAL(activated()), SLOT(slotReply()));
314 connect( forward, SIGNAL(activated()), SLOT(slotForward())); 314 connect( forward, SIGNAL(activated()), SLOT(slotForward()));
315 connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail() ) ); 315 connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail() ) );
316 connect( showHtml, SIGNAL( toggled(bool) ), SLOT( slotShowHtml(bool) ) ); 316 connect( showHtml, SIGNAL( toggled(bool) ), SLOT( slotShowHtml(bool) ) );
317 317
318 attachments->setEnabled(m_gotBody); 318 attachments->setEnabled(m_gotBody);
319 connect( attachments, SIGNAL( clicked(QListViewItem*,const QPoint&, int) ), SLOT( slotItemClicked(QListViewItem*,const QPoint&, int) ) ); 319 connect( attachments, SIGNAL( clicked(QListViewItem*,const QPoint&, int) ), SLOT( slotItemClicked(QListViewItem*,const QPoint&, int) ) );
320 320
321 readConfig(); 321 readConfig();
322 attachments->setSorting(-1); 322 attachments->setSorting(-1);
323} 323}
324 324
325void ViewMail::readConfig() 325void ViewMail::readConfig()
326{ 326{
327 Config cfg( "mail" ); 327 Config cfg( "mail" );
328 cfg.setGroup( "Settings" ); 328 cfg.setGroup( "Settings" );
329 m_showHtml = cfg.readBoolEntry( "showHtml", false ); 329 m_showHtml = cfg.readBoolEntry( "showHtml", false );
330 showHtml->setOn( m_showHtml ); 330 showHtml->setOn( m_showHtml );
331} 331}
332 332
333void ViewMail::setText() 333void ViewMail::setText()
334{ 334{
335 335
336 QString toString; 336 QString toString;
337 QString ccString; 337 QString ccString;
338 QString bccString; 338 QString bccString;
339 339
340 for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) 340 for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it )
341 { 341 {
342 toString += (*it); 342 toString += (*it);
343 } 343 }
344 for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) 344 for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it )
345 { 345 {
346 ccString += (*it); 346 ccString += (*it);
347 } 347 }
348 for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) 348 for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it )
349 { 349 {
350 bccString += (*it); 350 bccString += (*it);
351 } 351 }
352 352
353 setCaption( caption().arg( m_mail[0] ) ); 353 setCaption( tr("E-Mail by %1").arg( m_mail[0] ) );
354 354
355 m_mailHtml = "<html><body>" 355 m_mailHtml = "<html><body>"
356 "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>" 356 "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>"
357 "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>" 357 "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>"
358 "</td></tr><tr bgcolor=\"#EEEEE6\"><td>" 358 "</td></tr><tr bgcolor=\"#EEEEE6\"><td>"
359 "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>" 359 "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>"
360 "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" + 360 "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" +
361 tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>" 361 tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>"
362 "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] + 362 "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] +
363 "</td></tr></table><font face=fixed>"; 363 "</td></tr></table><font face=fixed>";
364 364
365 if ( !m_showHtml ) 365 if ( !m_showHtml )
366 { 366 {
367 browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "</font></html>" ); 367 browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "</font></html>" );
368 } 368 }
369 else 369 else
370 { 370 {
371 browser->setText( QString( m_mailHtml) + m_mail[2] + "</font></html>" ); 371 browser->setText( QString( m_mailHtml) + m_mail[2] + "</font></html>" );
372 } 372 }
373 // remove later in favor of a real handling 373 // remove later in favor of a real handling
374 m_gotBody = true; 374 m_gotBody = true;
375} 375}
376 376
377 377
378ViewMail::~ViewMail() 378ViewMail::~ViewMail()
379{ 379{
380 m_recMail->Wrapper()->cleanMimeCache(); 380 m_recMail->Wrapper()->cleanMimeCache();
381 hide(); 381 hide();
382} 382}
383 383
384void ViewMail::hide() 384void ViewMail::hide()
385{ 385{
386 QWidget::hide(); 386 QWidget::hide();
387 387
388 if (_inLoop) 388 if (_inLoop)
389 { 389 {
390 _inLoop = false; 390 _inLoop = false;
391 qApp->exit_loop(); 391 qApp->exit_loop();
392 392
393 } 393 }
394 394
395} 395}
396 396
397void ViewMail::exec() 397void ViewMail::exec()
398{ 398{
399 show(); 399 show();
400 400
401 if (!_inLoop) 401 if (!_inLoop)
402 { 402 {
403 _inLoop = true; 403 _inLoop = true;
404 qApp->enter_loop(); 404 qApp->enter_loop();
405 } 405 }
406 406
407} 407}
408 408
409QString ViewMail::deHtml(const QString &string) 409QString ViewMail::deHtml(const QString &string)
410{ 410{
411 QString string_ = string; 411 QString string_ = string;
412 string_.replace(QRegExp("&"), "&amp;"); 412 string_.replace(QRegExp("&"), "&amp;");
413 string_.replace(QRegExp("<"), "&lt;"); 413 string_.replace(QRegExp("<"), "&lt;");
414 string_.replace(QRegExp(">"), "&gt;"); 414 string_.replace(QRegExp(">"), "&gt;");
415 string_.replace(QRegExp("\\n"), "<br>"); 415 string_.replace(QRegExp("\\n"), "<br>");
416 return string_; 416 return string_;
417} 417}
418 418
419void ViewMail::slotReply() 419void ViewMail::slotReply()
420{ 420{
421 if (!m_gotBody) 421 if (!m_gotBody)
422 { 422 {
423 QMessageBox::information(this, tr("Error"), tr("<p>The mail body is not yet downloaded, so you cannot reply yet."), tr("Ok")); 423 QMessageBox::information(this, tr("Error"), tr("<p>The mail body is not yet downloaded, so you cannot reply yet."), tr("Ok"));
424 return; 424 return;
425 } 425 }
426 426
427 QString rtext; 427 QString rtext;
428 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose 428 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose
429 .arg( m_mail[0] ) 429 .arg( m_mail[0] )
430 .arg( m_mail[3] ); 430 .arg( m_mail[3] );
431 431
432 QString text = m_mail[2]; 432 QString text = m_mail[2];
433 QStringList lines = QStringList::split(QRegExp("\\n"), text); 433 QStringList lines = QStringList::split(QRegExp("\\n"), text);
434 QStringList::Iterator it; 434 QStringList::Iterator it;
435 for (it = lines.begin(); it != lines.end(); it++) 435 for (it = lines.begin(); it != lines.end(); it++)
436 { 436 {
437 rtext += "> " + *it + "\n"; 437 rtext += "> " + *it + "\n";
438 } 438 }
439 rtext += "\n"; 439 rtext += "\n";
440 440
441 QString prefix; 441 QString prefix;
442 if ( m_mail[1].find(QRegExp("^Re: .*$")) != -1) prefix = ""; 442 if ( m_mail[1].find(QRegExp("^Re: .*$")) != -1) prefix = "";
443 else prefix = "Re: "; // no i18n on purpose 443 else prefix = "Re: "; // no i18n on purpose
444 444
445 Settings *settings = new Settings(); 445 Settings *settings = new Settings();
446 ComposeMail composer( settings ,this, 0, true); 446 ComposeMail composer( settings ,this, 0, true);
447 if (m_recMail->Replyto().isEmpty()) { 447 if (m_recMail->Replyto().isEmpty()) {
448 composer.setTo( m_recMail->getFrom()); 448 composer.setTo( m_recMail->getFrom());
449 } else { 449 } else {