author | alwin <alwin> | 2004-10-28 02:12:12 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-10-28 02:12:12 (UTC) |
commit | 6205e982ec6d9ab1893919cd9c943c95b4baae33 (patch) (side-by-side diff) | |
tree | 7f5eeab32ad333e441956ce3bccf313609a54b83 /noncore/net/mail/viewmail.cpp | |
parent | beaee4a305e89b27f0482047daf06919fdd9d732 (diff) | |
download | opie-6205e982ec6d9ab1893919cd9c943c95b4baae33.zip opie-6205e982ec6d9ab1893919cd9c943c95b4baae33.tar.gz opie-6205e982ec6d9ab1893919cd9c943c95b4baae33.tar.bz2 |
fixed some problems when displaying mails
but it should reworked cause sometimes there are problems with html
mails.
-rw-r--r-- | noncore/net/mail/viewmail.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp index d5f9b7f..d2f1584 100644 --- a/noncore/net/mail/viewmail.cpp +++ b/noncore/net/mail/viewmail.cpp @@ -11,24 +11,25 @@ #include <opie2/oimagescrollview.h> #include <qpe/config.h> #include <qpe/qpeapplication.h> /* QT */ #include <qtextbrowser.h> #include <qmessagebox.h> #include <qtextstream.h> #include <qaction.h> #include <qpopupmenu.h> #include <qfile.h> #include <qlayout.h> +#include <qstylesheet.h> using namespace Opie::Ui; using namespace Opie::Core; AttachItem::AttachItem(QListView * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, const QString&fsize,int num,const QValueList<int>&path) : QListViewItem(parent,after),_partNum(num) { _path=path; setText(0, mime); setText(1, desc); setText(2, file); @@ -287,24 +288,25 @@ void ViewMail::setMail(const RecMailP&mail ) m_recMail = mail; m_mail[0] = mail->getFrom(); m_mail[1] = mail->getSubject(); m_mail[3] = mail->getStringDate(); m_mail[4] = mail->Msgid(); m_mail2[0] = mail->To(); m_mail2[1] = mail->CC(); m_mail2[2] = mail->Bcc(); + setCaption(tr("E-Mail by %1").arg( m_mail[0] ) ); setText(); } ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) : ViewMailBase(parent, name, fl), _inLoop(false) { m_gotBody = false; deleted = false; connect( reply, SIGNAL(activated()), SLOT(slotReply())); @@ -320,61 +322,55 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) } void ViewMail::readConfig() { Config cfg( "mail" ); cfg.setGroup( "Settings" ); m_showHtml = cfg.readBoolEntry( "showHtml", false ); showHtml->setOn( m_showHtml ); } void ViewMail::setText() { - QString toString; QString ccString; QString bccString; + QString mailHtml; for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) { toString += (*it); } for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) { ccString += (*it); } for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) { bccString += (*it); } - - setCaption( caption().arg( m_mail[0] ) ); - - m_mailHtml = "<html><body>" + browser->setTextFormat(Qt::RichText); + mailHtml = "<html><body>" "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>" "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>" "</td></tr><tr bgcolor=\"#EEEEE6\"><td>" "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>" "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" + tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>" "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] + - "</td></tr></table><font face=fixed>"; - - if ( !m_showHtml ) - { - browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "</font></html>" ); - } - else - { - browser->setText( QString( m_mailHtml) + m_mail[2] + "</font></html>" ); + "</td></tr></table>"; + if ( !m_showHtml ) { + browser->setText( mailHtml+"<font face=fixed>" + QStyleSheet::convertFromPlainText(m_mail[2]) + "</font></body></html>" ); + } else { + browser->setText(mailHtml+m_mail[2].simplifyWhiteSpace()+"</html>"); } // remove later in favor of a real handling m_gotBody = true; } ViewMail::~ViewMail() { m_recMail->Wrapper()->cleanMimeCache(); hide(); } @@ -394,27 +390,27 @@ void ViewMail::hide() void ViewMail::exec() { show(); if (!_inLoop) { _inLoop = true; qApp->enter_loop(); } } -QString ViewMail::deHtml(const QString &string) +QString ViewMail::deHtml(const QString &aString) { - QString string_ = string; + QString string_ = aString; string_.replace(QRegExp("&"), "&"); string_.replace(QRegExp("<"), "<"); string_.replace(QRegExp(">"), ">"); string_.replace(QRegExp("\\n"), "<br>"); return string_; } void ViewMail::slotReply() { if (!m_gotBody) { QMessageBox::information(this, tr("Error"), tr("<p>The mail body is not yet downloaded, so you cannot reply yet."), tr("Ok")); |