summaryrefslogtreecommitdiff
path: root/noncore/net/mail/viewmail.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/viewmail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/viewmail.cpp37
1 files changed, 31 insertions, 6 deletions
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index a64a168..5206220 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -198,3 +198,3 @@ void ViewMail::slotShowHtml( bool state )
m_showHtml = state;
- setText();
+ setMainText();
}
@@ -208,3 +208,3 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
{
- setText();
+ setMainText();
return;
@@ -252,2 +252,11 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
{
+ if (m_lastimagepart== (( AttachItem* )item )->Partnumber()) {
+ if (m_lastdlg) {
+ setUpdatesEnabled(false);
+ browser->hide();
+ m_lastdlg->show();
+ setUpdatesEnabled(true);
+ return;
+ }
+ }
QString tmpfile = QString("/tmp/opiemail-image-%1").arg(_icounter++);
@@ -278,2 +287,3 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
}
+ m_lastimagepart=(( AttachItem* )item )->Partnumber();
}
@@ -283,3 +293,3 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
{
- setText();
+ setMainText();
}
@@ -289,3 +299,13 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
{ // make sure that there is a wrapper , even after delete or simular actions
- browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) );
+ if (m_lastdlg) {
+ m_lastdlg->hide();
+ browser->show();
+ }
+ if (m_lasttextpart == ( ( AttachItem* )item )->Partnumber() ) return;
+ m_lasttextpart = ( ( AttachItem* )item )->Partnumber();
+ QString s = m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] );;
+ if (item->text(0).right(4)!="html") {
+ s = QString("<html><body>\n<font face=fixed>%1</font></body></html>").arg(QStyleSheet::convertFromPlainText(s));
+ }
+ browser->setText(s);
}
@@ -313,3 +333,3 @@ void ViewMail::setMail(const RecMailP&mail )
setCaption(tr("E-Mail by %1").arg( m_mail[0] ) );
- setText();
+ setMainText();
}
@@ -334,2 +354,4 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl)
_icounter = 0;
+ m_lastimagepart = -1;
+ m_lasttextpart = -2;
@@ -350,2 +372,3 @@ void ViewMail::slotImageInline(bool how)
m_lastdlg = 0;
+ m_lastimagepart = -1;
}
@@ -363,3 +386,3 @@ void ViewMail::readConfig()
-void ViewMail::setText()
+void ViewMail::setMainText()
{
@@ -374,2 +397,4 @@ void ViewMail::setText()
browser->show();
+ if (m_lasttextpart == -1) return;
+ m_lasttextpart = -1;
for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it )