-rw-r--r-- | noncore/net/mail/viewmail.cpp | 46 | ||||
-rw-r--r-- | noncore/net/mail/viewmail.h | 9 | ||||
-rw-r--r-- | noncore/net/mail/viewmailbase.cpp | 26 | ||||
-rw-r--r-- | noncore/net/mail/viewmailbase.h | 2 |
4 files changed, 64 insertions, 19 deletions
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp index d2f1584..a64a168 100644 --- a/noncore/net/mail/viewmail.cpp +++ b/noncore/net/mail/viewmail.cpp | |||
@@ -251,7 +251,7 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int | |||
251 | case 2: | 251 | case 2: |
252 | { | 252 | { |
253 | QString tmpfile = "/tmp/opiemail-image"; | 253 | QString tmpfile = QString("/tmp/opiemail-image-%1").arg(_icounter++); |
254 | encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ); | 254 | encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ); |
255 | if (content) { | 255 | if (content && content->Length()) { |
256 | QFile output(tmpfile); | 256 | QFile output(tmpfile); |
257 | output.open(IO_WriteOnly); | 257 | output.open(IO_WriteOnly); |
@@ -259,8 +259,21 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int | |||
259 | output.close(); | 259 | output.close(); |
260 | delete content; | 260 | delete content; |
261 | MailImageDlg iview(""); | 261 | if (!m_PicsInline) { |
262 | iview.setName(tmpfile); | 262 | MailImageDlg iview(""); |
263 | QPEApplication::execDialog(&iview); | 263 | iview.setName(tmpfile); |
264 | QPEApplication::execDialog(&iview); | ||
265 | } else { | ||
266 | if (!m_lastdlg) { | ||
267 | m_lastdlg=new Opie::MM::OImageScrollView("",browser->parentWidget(),false); | ||
268 | m_lastdlg->setAutoScale(true); | ||
269 | } | ||
270 | //m_lastdlg->setImage(""); | ||
271 | m_lastdlg->setImage(tmpfile); | ||
272 | browser->hide(); | ||
273 | m_lastdlg->show(); | ||
274 | } | ||
264 | output.remove(); | 275 | output.remove(); |
276 | } else { | ||
277 | QMessageBox::critical(this, tr("Reading attachment"), tr("Could not read content of attachment")); | ||
265 | } | 278 | } |
266 | } | 279 | } |
@@ -314,7 +327,10 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) | |||
314 | connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail() ) ); | 327 | connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail() ) ); |
315 | connect( showHtml, SIGNAL( toggled(bool) ), SLOT( slotShowHtml(bool) ) ); | 328 | connect( showHtml, SIGNAL( toggled(bool) ), SLOT( slotShowHtml(bool) ) ); |
329 | connect( showPicsInline, SIGNAL( toggled(bool) ), SLOT( slotImageInline(bool) ) ); | ||
316 | 330 | ||
317 | attachments->setEnabled(m_gotBody); | 331 | attachments->setEnabled(m_gotBody); |
318 | connect( attachments, SIGNAL( clicked(QListViewItem*,const QPoint&, int) ), SLOT( slotItemClicked(QListViewItem*,const QPoint&, int) ) ); | 332 | connect( attachments, SIGNAL( clicked(QListViewItem*,const QPoint&, int) ), SLOT( slotItemClicked(QListViewItem*,const QPoint&, int) ) ); |
333 | m_lastdlg = 0; | ||
334 | _icounter = 0; | ||
319 | 335 | ||
320 | readConfig(); | 336 | readConfig(); |
@@ -322,4 +338,18 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) | |||
322 | } | 338 | } |
323 | 339 | ||
340 | void ViewMail::slotImageInline(bool how) | ||
341 | { | ||
342 | Config cfg( "mail" ); | ||
343 | cfg.writeEntry( "showPicsInline", how); | ||
344 | m_PicsInline = how; | ||
345 | if (m_lastdlg&&!how) { | ||
346 | browser->show(); | ||
347 | m_lastdlg->hide(); | ||
348 | m_lastdlg->reparent(0,QPoint(0,0),false); | ||
349 | delete m_lastdlg; | ||
350 | m_lastdlg = 0; | ||
351 | } | ||
352 | } | ||
353 | |||
324 | void ViewMail::readConfig() | 354 | void ViewMail::readConfig() |
325 | { | 355 | { |
@@ -327,4 +357,6 @@ void ViewMail::readConfig() | |||
327 | cfg.setGroup( "Settings" ); | 357 | cfg.setGroup( "Settings" ); |
328 | m_showHtml = cfg.readBoolEntry( "showHtml", false ); | 358 | m_showHtml = cfg.readBoolEntry( "showHtml", false ); |
359 | m_PicsInline = cfg.readBoolEntry( "showPicsInline", true ); | ||
360 | showPicsInline->setOn(m_PicsInline); | ||
329 | showHtml->setOn( m_showHtml ); | 361 | showHtml->setOn( m_showHtml ); |
330 | } | 362 | } |
@@ -337,4 +369,8 @@ void ViewMail::setText() | |||
337 | QString mailHtml; | 369 | QString mailHtml; |
338 | 370 | ||
371 | if (m_lastdlg) { | ||
372 | m_lastdlg->hide(); | ||
373 | } | ||
374 | browser->show(); | ||
339 | for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) | 375 | for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) |
340 | { | 376 | { |
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h index 297836b..f5033f0 100644 --- a/noncore/net/mail/viewmail.h +++ b/noncore/net/mail/viewmail.h | |||
@@ -12,4 +12,6 @@ | |||
12 | #include <qvaluelist.h> | 12 | #include <qvaluelist.h> |
13 | 13 | ||
14 | class MailImageDlg; | ||
15 | |||
14 | namespace Opie { namespace MM { class OImageScrollView; } } | 16 | namespace Opie { namespace MM { class OImageScrollView; } } |
15 | 17 | ||
@@ -49,4 +51,6 @@ protected: | |||
49 | AttachItem* lastChild(AttachItem*parent); | 51 | AttachItem* lastChild(AttachItem*parent); |
50 | 52 | ||
53 | Opie::MM::OImageScrollView*m_lastdlg; | ||
54 | |||
51 | protected slots: | 55 | protected slots: |
52 | void slotReply(); | 56 | void slotReply(); |
@@ -56,4 +60,5 @@ protected slots: | |||
56 | void slotDeleteMail( ); | 60 | void slotDeleteMail( ); |
57 | void slotShowHtml( bool ); | 61 | void slotShowHtml( bool ); |
62 | void slotImageInline(bool); | ||
58 | 63 | ||
59 | private: | 64 | private: |
@@ -65,5 +70,7 @@ private: | |||
65 | RecBodyP m_body; | 70 | RecBodyP m_body; |
66 | RecMailP m_recMail; | 71 | RecMailP m_recMail; |
67 | bool m_showHtml; | 72 | bool m_showHtml:1; |
73 | bool m_PicsInline:1; | ||
74 | unsigned int _icounter; | ||
68 | 75 | ||
69 | // 0 from 1 subject 2 bodytext 3 date | 76 | // 0 from 1 subject 2 bodytext 3 date |
diff --git a/noncore/net/mail/viewmailbase.cpp b/noncore/net/mail/viewmailbase.cpp index 49a0e6a..65ad0d6 100644 --- a/noncore/net/mail/viewmailbase.cpp +++ b/noncore/net/mail/viewmailbase.cpp | |||
@@ -6,4 +6,5 @@ | |||
6 | 6 | ||
7 | #include <qtoolbar.h> | 7 | #include <qtoolbar.h> |
8 | #include <qlayout.h> | ||
8 | #include <qmenubar.h> | 9 | #include <qmenubar.h> |
9 | #include <qpe/resource.h> | 10 | #include <qpe/resource.h> |
@@ -22,8 +23,6 @@ ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) | |||
22 | mailmenu = new QPopupMenu( menubar ); | 23 | mailmenu = new QPopupMenu( menubar ); |
23 | menubar->insertItem( tr( "Mail" ), mailmenu ); | 24 | menubar->insertItem( tr( "Mail" ), mailmenu ); |
24 | |||
25 | toolbar->setHorizontalStretchable(true); | 25 | toolbar->setHorizontalStretchable(true); |
26 | addToolBar(toolbar); | 26 | addToolBar(toolbar); |
27 | |||
28 | QLabel *spacer = new QLabel(toolbar); | 27 | QLabel *spacer = new QLabel(toolbar); |
29 | spacer->setBackgroundMode(QWidget::PaletteButton); | 28 | spacer->setBackgroundMode(QWidget::PaletteButton); |
@@ -44,7 +43,12 @@ ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) | |||
44 | 43 | ||
45 | 44 | ||
46 | showHtml = new QAction( tr( "Show Html" ), QIconSet( Resource::loadPixmap( "mail/html" ) ), 0, 0, this, 0, true ); | 45 | showHtml = new QAction( tr( "Show Html" ), QIconSet( Resource::loadPixmap( "mail/html" ) ), 0, 0, this, 0, true ); |
47 | showHtml->addTo( toolbar ); | 46 | showHtml->addTo( toolbar ); |
48 | showHtml->addTo( mailmenu ); | 47 | showHtml->addTo( mailmenu ); |
48 | |||
49 | showPicsInline= new QAction(tr("Show image preview inline"), QIconSet(Resource::loadPixmap("pixmap")), 0, 0, this); | ||
50 | showPicsInline->setToggleAction(true); | ||
51 | showPicsInline->addTo(toolbar); | ||
52 | showPicsInline->addTo(mailmenu); | ||
49 | 53 | ||
50 | deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("trash")), 0, 0, this); | 54 | deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("trash")), 0, 0, this); |
@@ -52,5 +56,7 @@ ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) | |||
52 | deleteMail->addTo(mailmenu); | 56 | deleteMail->addTo(mailmenu); |
53 | 57 | ||
54 | QVBox *view = new QVBox(this); | 58 | QVBox * view = new QVBox(this); |
59 | view->setSpacing(1); | ||
60 | view->setMargin(0); | ||
55 | setCentralWidget(view); | 61 | setCentralWidget(view); |
56 | 62 | ||
@@ -64,12 +70,8 @@ ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) | |||
64 | attachments->addColumn(tr("Size"), 80); | 70 | attachments->addColumn(tr("Size"), 80); |
65 | attachments->setSorting(-1); | 71 | attachments->setSorting(-1); |
66 | attachments->hide(); | ||
67 | 72 | ||
68 | //header = new QTextBrowser(view); | ||
69 | browser = new QTextBrowser(view); | 73 | browser = new QTextBrowser(view); |
70 | 74 | adjustSize(); | |
71 | // openDiag = new OpenDiag(view); | 75 | attachments->hide(); |
72 | // openDiag->hide(); | ||
73 | |||
74 | } | 76 | } |
75 | 77 | ||
diff --git a/noncore/net/mail/viewmailbase.h b/noncore/net/mail/viewmailbase.h index 583b1f6..59179a4 100644 --- a/noncore/net/mail/viewmailbase.h +++ b/noncore/net/mail/viewmailbase.h | |||
@@ -20,5 +20,5 @@ public: | |||
20 | 20 | ||
21 | protected: | 21 | protected: |
22 | QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml; | 22 | QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml,*showPicsInline; |
23 | QListView *attachments; | 23 | QListView *attachments; |
24 | QToolBar *toolbar; | 24 | QToolBar *toolbar; |