From 6205e982ec6d9ab1893919cd9c943c95b4baae33 Mon Sep 17 00:00:00 2001 From: alwin Date: Thu, 28 Oct 2004 02:12:12 +0000 Subject: fixed some problems when displaying mails but it should reworked cause sometimes there are problems with html mails. --- 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 @@ -20,6 +20,7 @@ #include #include #include +#include using namespace Opie::Ui; using namespace Opie::Core; @@ -296,6 +297,7 @@ void ViewMail::setMail(const RecMailP&mail ) m_mail2[1] = mail->CC(); m_mail2[2] = mail->Bcc(); + setCaption(tr("E-Mail by %1").arg( m_mail[0] ) ); setText(); } @@ -329,10 +331,10 @@ void ViewMail::readConfig() 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 ) { @@ -346,26 +348,20 @@ void ViewMail::setText() { bccString += (*it); } - - setCaption( caption().arg( m_mail[0] ) ); - - m_mailHtml = "" + browser->setTextFormat(Qt::RichText); + mailHtml = "" "
" - "
" + deHtml( m_mail[1] ) + "
" + "
" + deHtml(m_mail[1]) + "
" "
" "" + tr( "From" ) + ": " + deHtml( m_mail[0] ) + "
" "" + tr( "To" ) + ": " + deHtml( toString ) + "
" + tr( "Cc" ) + ": " + deHtml( ccString ) + "
" "" + tr( "Date" ) + ": " + m_mail[3] + - "
"; - - if ( !m_showHtml ) - { - browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "" ); - } - else - { - browser->setText( QString( m_mailHtml) + m_mail[2] + "" ); + ""; + if ( !m_showHtml ) { + browser->setText( mailHtml+"" + QStyleSheet::convertFromPlainText(m_mail[2]) + "" ); + } else { + browser->setText(mailHtml+m_mail[2].simplifyWhiteSpace()+""); } // remove later in favor of a real handling m_gotBody = true; @@ -403,9 +399,9 @@ void ViewMail::exec() } -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(">"), ">"); diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h index 297836b..560453a 100644 --- a/noncore/net/mail/viewmail.h +++ b/noncore/net/mail/viewmail.h @@ -52,6 +52,7 @@ protected slots: void slotReply(); void slotForward(); void setText(); + void setHeader(); void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); void slotDeleteMail( ); void slotShowHtml( bool ); diff --git a/noncore/net/mail/viewmailbase.cpp b/noncore/net/mail/viewmailbase.cpp index cbb98cc..49a0e6a 100644 --- a/noncore/net/mail/viewmailbase.cpp +++ b/noncore/net/mail/viewmailbase.cpp @@ -12,70 +12,71 @@ //#include "opendiag.h" ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) - : QMainWindow(parent, name, fl) + : QMainWindow(parent, name, fl) { - setCaption(tr("E-Mail by %1")); - setToolBarsMovable(false); + setCaption(tr("E-Mail view")); + setToolBarsMovable(false); - toolbar = new QToolBar(this); - menubar = new QMenuBar( toolbar ); - mailmenu = new QPopupMenu( menubar ); - menubar->insertItem( tr( "Mail" ), mailmenu ); + toolbar = new QToolBar(this); + menubar = new QMenuBar( toolbar ); + mailmenu = new QPopupMenu( menubar ); + menubar->insertItem( tr( "Mail" ), mailmenu ); - toolbar->setHorizontalStretchable(true); - addToolBar(toolbar); + toolbar->setHorizontalStretchable(true); + addToolBar(toolbar); - QLabel *spacer = new QLabel(toolbar); - spacer->setBackgroundMode(QWidget::PaletteButton); - toolbar->setStretchableWidget(spacer); + QLabel *spacer = new QLabel(toolbar); + spacer->setBackgroundMode(QWidget::PaletteButton); + toolbar->setStretchableWidget(spacer); - reply = new QAction(tr("Reply"), QIconSet(Resource::loadPixmap("mail/reply")), 0, 0, this); - reply->addTo(toolbar); - reply->addTo(mailmenu); + reply = new QAction(tr("Reply"), QIconSet(Resource::loadPixmap("mail/reply")), 0, 0, this); + reply->addTo(toolbar); + reply->addTo(mailmenu); - forward = new QAction(tr("Forward"), QIconSet(Resource::loadPixmap("mail/forward")), 0, 0, this); - forward->addTo(toolbar); - forward->addTo(mailmenu); + forward = new QAction(tr("Forward"), QIconSet(Resource::loadPixmap("mail/forward")), 0, 0, this); + forward->addTo(toolbar); + forward->addTo(mailmenu); - attachbutton = new QAction(tr("Attachments"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true); - attachbutton->addTo(toolbar); - attachbutton->addTo(mailmenu); - connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool))); + attachbutton = new QAction(tr("Attachments"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true); + attachbutton->addTo(toolbar); + attachbutton->addTo(mailmenu); + connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool))); showHtml = new QAction( tr( "Show Html" ), QIconSet( Resource::loadPixmap( "mail/html" ) ), 0, 0, this, 0, true ); showHtml->addTo( toolbar ); showHtml->addTo( mailmenu ); - deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("trash")), 0, 0, this); - deleteMail->addTo(toolbar); - deleteMail->addTo(mailmenu); + deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("trash")), 0, 0, this); + deleteMail->addTo(toolbar); + deleteMail->addTo(mailmenu); - QVBox *view = new QVBox(this); - setCentralWidget(view); + QVBox *view = new QVBox(this); + setCentralWidget(view); - attachments = new QListView(view); - attachments->setMinimumHeight(90); - attachments->setMaximumHeight(90); - attachments->setAllColumnsShowFocus(true); - attachments->addColumn("Mime Type", 60); - attachments->addColumn(tr("Description"), 100); - attachments->addColumn(tr("Filename"), 80); + attachments = new QListView(view); + attachments->setMinimumHeight(90); + attachments->setMaximumHeight(90); + attachments->setAllColumnsShowFocus(true); + attachments->addColumn("Mime Type", 60); + attachments->addColumn(tr("Description"), 100); + attachments->addColumn(tr("Filename"), 80); attachments->addColumn(tr("Size"), 80); attachments->setSorting(-1); - attachments->hide(); + attachments->hide(); - browser = new QTextBrowser(view); + //header = new QTextBrowser(view); + browser = new QTextBrowser(view); -// openDiag = new OpenDiag(view); -// openDiag->hide(); +// openDiag = new OpenDiag(view); +// openDiag->hide(); } void ViewMailBase::slotChangeAttachview(bool state) { - if (state) attachments->show(); - else attachments->hide(); + if (state) attachments->show(); + else attachments->hide(); } void ViewMailBase::keyPressEvent ( QKeyEvent * e ) diff --git a/noncore/net/mail/viewmailbase.h b/noncore/net/mail/viewmailbase.h index fdaad2a..583b1f6 100644 --- a/noncore/net/mail/viewmailbase.h +++ b/noncore/net/mail/viewmailbase.h @@ -13,22 +13,22 @@ class QPopupMenu; class ViewMailBase : public QMainWindow { - Q_OBJECT + Q_OBJECT public: - ViewMailBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); + ViewMailBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); protected: - QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml; - QListView *attachments; - QToolBar *toolbar; - QTextBrowser *browser; - OpenDiag *openDiag; - QMenuBar *menubar; - QPopupMenu *mailmenu; + QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml; + QListView *attachments; + QToolBar *toolbar; + QTextBrowser *browser;//,*header; + OpenDiag *openDiag; + QMenuBar *menubar; + QPopupMenu *mailmenu; protected slots: - void slotChangeAttachview(bool state); + void slotChangeAttachview(bool state); virtual void keyPressEvent ( QKeyEvent * e ); -- cgit v0.9.0.2