summaryrefslogtreecommitdiff
authoralwin <alwin>2004-04-14 22:36:20 (UTC)
committer alwin <alwin>2004-04-14 22:36:20 (UTC)
commit6439d07d42e10b0804a3a31fdfd6645b36d2fad5 (patch) (side-by-side diff)
tree07ff558875de1ebe8235badaa3cab4205fa82089
parent1b8fac62de40773977e9b3e800cf22cc42603ced (diff)
downloadopie-6439d07d42e10b0804a3a31fdfd6645b36d2fad5.zip
opie-6439d07d42e10b0804a3a31fdfd6645b36d2fad5.tar.gz
opie-6439d07d42e10b0804a3a31fdfd6645b36d2fad5.tar.bz2
opiemail now displays images send with mail
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/mail.pro4
-rw-r--r--noncore/net/mail/opie-mail.control2
-rw-r--r--noncore/net/mail/viewmail.cpp43
-rw-r--r--noncore/net/mail/viewmail.h20
4 files changed, 62 insertions, 7 deletions
diff --git a/noncore/net/mail/mail.pro b/noncore/net/mail/mail.pro
index 6969644..7b00c58 100644
--- a/noncore/net/mail/mail.pro
+++ b/noncore/net/mail/mail.pro
@@ -55,11 +55,11 @@ INTERFACES = editaccountsui.ui \
INCLUDEPATH += $(OPIEDIR)/include /usr/local/include
CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX )
contains( CONFTEST, y ){
- LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lmailwrapper -liconv
+ LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lmailwrapper -liconv -lopiemm2
}else{
- LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lmailwrapper
+ LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lmailwrapper -lopiemm2
}
TARGET = opiemail
diff --git a/noncore/net/mail/opie-mail.control b/noncore/net/mail/opie-mail.control
index 98cb3a4..1bb588a 100644
--- a/noncore/net/mail/opie-mail.control
+++ b/noncore/net/mail/opie-mail.control
@@ -4,7 +4,7 @@ Priority: optional
Section: opie/pim
Maintainer: Rajko Albrecht <alwin@handhelds.org>, Juergen Graf <jgf@handhelds.org>, Maximilian Reiß <harlekin@handhelds.org>
Architecture: arm
Version: 0.6-$SUB_VERSION
-Depends: task-opie-minimal, libopiecore2, libopieui2, libmailwrapper (>= 0.6)
+Depends: task-opie-minimal, libopiecore2, libopieui2, libopiemm2, libmailwrapper (>= 0.6)
Description: Opie's mail and news client (POP3, IMAP and NNTP)
License: LGPL
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index 7267bcb..ce694d5 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -1,14 +1,15 @@
#include "composemail.h"
#include "viewmail.h"
-/* OPIE */
#include <libmailwrapper/settings.h>
#include <libmailwrapper/abstractmail.h>
#include <libmailwrapper/mailtypes.h>
+/* OPIE */
#include <opie2/odebug.h>
#include <opie2/ofiledialog.h>
+#include <opie2/oimagescrollview.h>
#include <qpe/config.h>
#include <qpe/qpeapplication.h>
/* QT */
@@ -17,8 +18,9 @@
#include <qtextstream.h>
#include <qaction.h>
#include <qpopupmenu.h>
#include <qfile.h>
+#include <qlayout.h>
using namespace Opie::Ui;
using namespace Opie::Core;
@@ -212,8 +214,11 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
if ( item->text( 0 ).left( 5 ) == "text/" || item->text(0)=="message/rfc822" )
{
menu->insertItem( tr( "Show Text" ), 1 );
}
+ if (item->text(0).left(6)=="image/") {
+ menu->insertItem(tr("Display image preview"),2);
+ }
menu->insertItem( tr( "Save Attachment" ), 0 );
menu->insertSeparator(1);
ret = menu->exec( point, 0 );
@@ -241,8 +246,25 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
}
}
break ;
+ case 2:
+ {
+ QString tmpfile = "/tmp/opiemail-image";
+ encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] );
+ if (content) {
+ QFile output(tmpfile);
+ output.open(IO_WriteOnly);
+ output.writeBlock(content->Content(),content->Length());
+ output.close();
+ delete content;
+ MailImageDlg iview("");
+ iview.setName(tmpfile);
+ QPEApplication::execDialog(&iview);
+ output.remove();
+ }
+ }
+ break;
case 1:
if ( ( ( AttachItem* )item )->Partnumber() == -1 )
{
setText();
@@ -477,4 +499,23 @@ void ViewMail::slotDeleteMail( )
hide();
deleted = true;
}
}
+
+MailImageDlg::MailImageDlg(const QString&fname,QWidget *parent, const char *name, bool modal, WFlags f)
+ : Opie::Ui::ODialog(parent,name,modal,f)
+{
+ QVBoxLayout*dlglayout = new QVBoxLayout(this);
+ dlglayout->setSpacing(2);
+ dlglayout->setMargin(1);
+ m_imageview = new Opie::MM::OImageScrollView(this);
+ dlglayout->addWidget(m_imageview);
+}
+
+MailImageDlg::~MailImageDlg()
+{
+}
+
+void MailImageDlg::setName(const QString&fname)
+{
+ m_imageview->setImage(fname);
+}
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h
index b60fb8e..297836b 100644
--- a/noncore/net/mail/viewmail.h
+++ b/noncore/net/mail/viewmail.h
@@ -1,15 +1,18 @@
#ifndef VIEWMAIL_H
#define VIEWMAIL_H
+#include "viewmailbase.h"
+#include <libmailwrapper/mailtypes.h>
+
+#include <opie2/odialog.h>
+
#include <qlistview.h>
#include <qmap.h>
#include <qstringlist.h>
#include <qvaluelist.h>
-#include "viewmailbase.h"
-#include <libmailwrapper/mailtypes.h>
-
+namespace Opie { namespace MM { class OImageScrollView; } }
class AttachItem : public QListViewItem
{
public:
@@ -68,5 +71,16 @@ private:
// 0 to 1 cc 2 bcc
QMap <int,QStringList> m_mail2;
};
+class MailImageDlg:public Opie::Ui::ODialog
+{
+ Q_OBJECT
+public:
+ MailImageDlg(const QString&,QWidget *parent = 0, const char *name = 0, bool modal = true, WFlags f = 0);
+ ~MailImageDlg();
+ void setName(const QString&);
+protected:
+ Opie::MM::OImageScrollView*m_imageview;
+};
+
#endif