summaryrefslogtreecommitdiff
path: root/noncore/net/mail/viewmail.cpp
authoralwin <alwin>2004-10-28 02:12:12 (UTC)
committer alwin <alwin>2004-10-28 02:12:12 (UTC)
commit6205e982ec6d9ab1893919cd9c943c95b4baae33 (patch) (side-by-side diff)
tree7f5eeab32ad333e441956ce3bccf313609a54b83 /noncore/net/mail/viewmail.cpp
parentbeaee4a305e89b27f0482047daf06919fdd9d732 (diff)
downloadopie-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.
Diffstat (limited to 'noncore/net/mail/viewmail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/viewmail.cpp30
1 files changed, 13 insertions, 17 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
@@ -17,12 +17,13 @@
#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)
@@ -293,12 +294,13 @@ void ViewMail::setMail(const RecMailP&mail )
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)
@@ -326,16 +328,16 @@ void ViewMail::readConfig()
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 )
@@ -343,32 +345,26 @@ void ViewMail::setText()
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>"
+ "<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;
}
@@ -400,15 +396,15 @@ void ViewMail::exec()
_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("&"), "&amp;");
string_.replace(QRegExp("<"), "&lt;");
string_.replace(QRegExp(">"), "&gt;");
string_.replace(QRegExp("\\n"), "<br>");
return string_;
}