summaryrefslogtreecommitdiff
path: root/noncore/net/mail/viewmail.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/viewmail.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/viewmail.cpp52
1 files changed, 51 insertions, 1 deletions
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index 39c9820..c24d5d3 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -3,6 +3,9 @@
3#include <qtextstream.h> 3#include <qtextstream.h>
4#include <qaction.h> 4#include <qaction.h>
5#include <qpopupmenu.h>
5#include <qapplication.h> 6#include <qapplication.h>
6 7
8#include <opie/ofiledialog.h>
9
7#include "settings.h" 10#include "settings.h"
8#include "composemail.h" 11#include "composemail.h"
@@ -17,7 +20,7 @@ AttachItem::AttachItem(QListView * parent,QListViewItem *after, const QString&mi
17} 20}
18 21
19
20void ViewMail::setBody( RecBody body ) { 22void ViewMail::setBody( RecBody body ) {
21 23
24m_body = body;
22m_mail[2] = body.Bodytext(); 25m_mail[2] = body.Bodytext();
23attachbutton->setEnabled(body.Parts().count()>0); 26attachbutton->setEnabled(body.Parts().count()>0);
@@ -99,4 +102,46 @@ for (unsigned int i = 0; i < body.Parts().count();++i) {
99} 102}
100 103
104void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int c ) {
105 if (!item )
106 return;
107
108 QPopupMenu *menu = new QPopupMenu();
109 int ret=0;
110
111 if ( item->text( 0 ).left( 4 ) == "text" ) {
112 menu->insertItem( tr( "Show Text" ), 1 );
113 }
114 menu->insertItem( tr( "Save Attachemt" ), 0 );
115 menu->insertSeparator(1);
116
117 ret = menu->exec( point, 0 );
118
119 switch(ret) {
120 case 0:
121 { MimeTypes types;
122 types.insert( "all", "*" );
123 QString str = OFileDialog::getSaveFileName( 1,
124 "/", item->text( 1 ) , types, 0 );
125
126 if( !str.isEmpty() ) {
127 qDebug( " first we will need a MIME wrapper" );
128 }
129 }
130 break ;
131
132 case 1:
133
134 qDebug( QString( "Test selected" ).arg( ( ( AttachItem* )item )->Partnumber() ) );
135 if ( ( ( AttachItem* )item )->Partnumber() == -1 ) {
136 setText();
137 } else {
138 browser->setText( ( m_body.Parts()[( ( AttachItem* )item )->Partnumber() ] ).Identifier() );
139 }
140 break;
141 }
142 delete menu;
143}
144
145
101void ViewMail::setMail( RecMail mail ) { 146void ViewMail::setMail( RecMail mail ) {
102 147
@@ -124,4 +169,6 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl)
124 169
125 attachments->setEnabled(m_gotBody); 170 attachments->setEnabled(m_gotBody);
171 connect( attachments, SIGNAL( clicked ( QListViewItem *, const QPoint & , int ) ), SLOT( slotItemClicked( QListViewItem *, const QPoint & , int ) ) );
172
126} 173}
127 174
@@ -173,5 +220,7 @@ void ViewMail::hide()
173 _inLoop = false; 220 _inLoop = false;
174 qApp->exit_loop(); 221 qApp->exit_loop();
222
175 } 223 }
224
176} 225}
177 226
@@ -184,4 +233,5 @@ void ViewMail::exec()
184 qApp->enter_loop(); 233 qApp->enter_loop();
185 } 234 }
235
186} 236}
187 237