summaryrefslogtreecommitdiffabout
path: root/kmicromail/composemail.cpp
Unidiff
Diffstat (limited to 'kmicromail/composemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/composemail.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index 14feeee..01dd406 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -1,459 +1,459 @@
1// CHANGED 2004-08-06 Lutz Rogowski 1// CHANGED 2004-08-06 Lutz Rogowski
2 2
3#include "composemail.h" 3#include "composemail.h"
4 4
5#include <libmailwrapper/smtpwrapper.h> 5#include <libmailwrapper/smtpwrapper.h>
6#include <libmailwrapper/storemail.h> 6#include <libmailwrapper/storemail.h>
7#include <libmailwrapper/abstractmail.h> 7#include <libmailwrapper/abstractmail.h>
8#include <libmailwrapper/mailtypes.h> 8#include <libmailwrapper/mailtypes.h>
9 9
10/* OPIE */ 10/* OPIE */
11//#include <opie2/ofiledialog.h> 11//#include <opie2/ofiledialog.h>
12//#include <opie2/odebug.h> 12//#include <opie2/odebug.h>
13#include <kfiledialog.h> 13#include <kfiledialog.h>
14//#include <qpe/resource.h> 14//#include <qpe/resource.h>
15#include <qpe/config.h> 15#include <qpe/config.h>
16#include <qpe/global.h> 16#include <qpe/global.h>
17//#include <qpe/contact.h> 17//#include <qpe/contact.h>
18 18
19 19
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qcheckbox.h> 21#include <qcheckbox.h>
22#include <qtimer.h> 22#include <qtimer.h>
23#include <qmessagebox.h> 23#include <qmessagebox.h>
24#include <qpushbutton.h> 24#include <qpushbutton.h>
25#include <qmultilineedit.h> 25#include <qmultilineedit.h>
26#include <qlabel.h> 26#include <qlabel.h>
27#include <qtabwidget.h> 27#include <qtabwidget.h>
28#include <qlistview.h> 28#include <qlistview.h>
29#include <kabc/addresseedialog.h> 29#include <kabc/addresseedialog.h>
30#include <kabc/stdaddressbook.h> 30#include <kabc/stdaddressbook.h>
31#include <kabc/addressee.h> 31#include <kabc/addressee.h>
32#ifdef DESKTOP_VERSION 32#ifdef DESKTOP_VERSION
33#include <kabc/addresseedialog.h> 33#include <kabc/addresseedialog.h>
34#else //DESKTOP_VERSION 34#else //DESKTOP_VERSION
35#include <libkdepim/externalapphandler.h> 35#include <libkdepim/externalapphandler.h>
36#endif //DESKTOP_VERSION 36#endif //DESKTOP_VERSION
37 37
38 38
39//using namespace Opie::Core; 39//using namespace Opie::Core;
40//using namespace Opie::Ui; 40//using namespace Opie::Ui;
41ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 41ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal )
42 : ComposeMailUI( parent, name, modal, flags ) 42 : ComposeMailUI( parent, name, modal )
43{ 43{
44 44
45 mPickLineEdit = 0; 45 mPickLineEdit = 0;
46 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), 46 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
47 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); 47 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
48 settings = s; 48 settings = s;
49 m_replyid = ""; 49 m_replyid = "";
50 KConfig config( locateLocal("config", "kabcrc") ); 50 KConfig config( locateLocal("config", "kabcrc") );
51 config.setGroup( "General" ); 51 config.setGroup( "General" );
52 QString whoami_uid = config.readEntry( "WhoAmI" ); 52 QString whoami_uid = config.readEntry( "WhoAmI" );
53 if ( whoami_uid.isEmpty() ) { 53 if ( whoami_uid.isEmpty() ) {
54 QMessageBox::information( 0, tr( "Hint" ), 54 QMessageBox::information( 0, tr( "Hint" ),
55 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 55 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
56 tr( "Ok" ) ); 56 tr( "Ok" ) );
57 57
58 } else 58 } else
59 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); 59 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid);
60#ifdef DESKTOP_VERSION 60#ifdef DESKTOP_VERSION
61 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); 61 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( );
62 QStringList mails = con.emails(); 62 QStringList mails = con.emails();
63 QString defmail = con.preferredEmail(); 63 QString defmail = con.preferredEmail();
64 if ( mails.count() == 0) 64 if ( mails.count() == 0)
65 QMessageBox::information( 0, tr( "Hint" ), 65 QMessageBox::information( 0, tr( "Hint" ),
66 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 66 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
67 tr( "Ok" ) ); 67 tr( "Ok" ) );
68 if (defmail.length()!=0) { 68 if (defmail.length()!=0) {
69 fromBox->insertItem(defmail); 69 fromBox->insertItem(defmail);
70 } 70 }
71 QStringList::ConstIterator sit = mails.begin(); 71 QStringList::ConstIterator sit = mails.begin();
72 for (;sit!=mails.end();++sit) { 72 for (;sit!=mails.end();++sit) {
73 if ( (*sit)==defmail) 73 if ( (*sit)==defmail)
74 continue; 74 continue;
75 fromBox->insertItem((*sit)); 75 fromBox->insertItem((*sit));
76 } 76 }
77 senderNameEdit->setText(con.formattedName()); 77 senderNameEdit->setText(con.formattedName());
78#endif 78#endif
79 Config cfg( "mail" ); 79 Config cfg( "mail" );
80 cfg.setGroup( "Compose" ); 80 cfg.setGroup( "Compose" );
81 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) ); 81 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) );
82 82
83 attList->addColumn( tr( "Name" ) ); 83 attList->addColumn( tr( "Name" ) );
84 attList->addColumn( tr( "Size" ) ); 84 attList->addColumn( tr( "Size" ) );
85 85
86 QList<Account> accounts = settings->getAccounts(); 86 QList<Account> accounts = settings->getAccounts();
87 87
88 Account *it; 88 Account *it;
89 for ( it = accounts.first(); it; it = accounts.next() ) { 89 for ( it = accounts.first(); it; it = accounts.next() ) {
90 if ( it->getType()==MAILLIB::A_SMTP ) { 90 if ( it->getType()==MAILLIB::A_SMTP ) {
91 SMTPaccount *smtp = static_cast<SMTPaccount *>(it); 91 SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
92 smtpAccountBox->insertItem( smtp->getAccountName() ); 92 smtpAccountBox->insertItem( smtp->getAccountName() );
93 smtpAccounts.append( smtp ); 93 smtpAccounts.append( smtp );
94 } 94 }
95 } 95 }
96 if ( smtpAccounts.count() > 0 ) { 96 if ( smtpAccounts.count() > 0 ) {
97 fillValues( smtpAccountBox->currentItem() ); 97 fillValues( smtpAccountBox->currentItem() );
98 } else { 98 } else {
99 QMessageBox::information( 0, tr( "Problem" ), 99 QMessageBox::information( 0, tr( "Problem" ),
100 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ), 100 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ),
101 tr( "Ok" ) ); 101 tr( "Ok" ) );
102 return; 102 return;
103 } 103 }
104 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); 104 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) );
105 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); 105 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
106 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); 106 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) );
107 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); 107 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) );
108 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); 108 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) );
109 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); 109 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) );
110 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); 110 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) );
111 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); 111 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) );
112 mMail = 0; 112 mMail = 0;
113 warnAttach = true; 113 warnAttach = true;
114 114
115} 115}
116 116
117 117
118 118
119void ComposeMail::saveAsDraft() 119void ComposeMail::saveAsDraft()
120{ 120{
121 121
122 Opie::Core::OSmartPointer<Mail> mail= new Mail(); 122 Opie::Core::OSmartPointer<Mail> mail= new Mail();
123 mail->setMail(fromBox->currentText()); 123 mail->setMail(fromBox->currentText());
124 mail->setTo( toLine->text() ); 124 mail->setTo( toLine->text() );
125 mail->setName(senderNameEdit->text()); 125 mail->setName(senderNameEdit->text());
126 mail->setCC( ccLine->text() ); 126 mail->setCC( ccLine->text() );
127 mail->setBCC( bccLine->text() ); 127 mail->setBCC( bccLine->text() );
128 mail->setReply( replyLine->text() ); 128 mail->setReply( replyLine->text() );
129 mail->setSubject( subjectLine->text() ); 129 mail->setSubject( subjectLine->text() );
130 if (!m_replyid.isEmpty()) { 130 if (!m_replyid.isEmpty()) {
131 QStringList ids; 131 QStringList ids;
132 ids.append(m_replyid); 132 ids.append(m_replyid);
133 mail->setInreply(ids); 133 mail->setInreply(ids);
134 } 134 }
135 QString txt = message->text(); 135 QString txt = message->text();
136 if ( !sigMultiLine->text().isEmpty() ) { 136 if ( !sigMultiLine->text().isEmpty() ) {
137 txt.append( "\n--\n" ); 137 txt.append( "\n--\n" );
138 txt.append( sigMultiLine->text() ); 138 txt.append( sigMultiLine->text() );
139 } 139 }
140 mail->setMessage( txt ); 140 mail->setMessage( txt );
141 141
142 /* only use the default drafts folder name! */ 142 /* only use the default drafts folder name! */
143 Storemail wrapper(AbstractMail::draftFolder()); 143 Storemail wrapper(AbstractMail::draftFolder());
144 wrapper.storeMail(mail); 144 wrapper.storeMail(mail);
145 145
146 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 146 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
147 /* attachments we will ignore! */ 147 /* attachments we will ignore! */
148 if ( it != 0 ) { 148 if ( it != 0 ) {
149 if ( warnAttach ) 149 if ( warnAttach )
150 QMessageBox::warning(0,tr("Store message"), 150 QMessageBox::warning(0,tr("Store message"),
151 tr("<center>Attachments will not be stored in \"Draft\" folder</center>")); 151 tr("<center>Attachments will not be stored in \"Draft\" folder</center>"));
152 warnAttach = false; 152 warnAttach = false;
153 } 153 }
154 setStatus( tr("Mail saved as draft!") ); 154 setStatus( tr("Mail saved as draft!") );
155} 155}
156void ComposeMail::clearStatus() 156void ComposeMail::clearStatus()
157{ 157{
158 topLevelWidget()->setCaption( tr("Compose mail") ); 158 topLevelWidget()->setCaption( tr("Compose mail") );
159} 159}
160void ComposeMail::setStatus( QString status ) 160void ComposeMail::setStatus( QString status )
161{ 161{
162 topLevelWidget()->setCaption( status ); 162 topLevelWidget()->setCaption( status );
163 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; 163 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ;
164} 164}
165void ComposeMail::pickAddress( ) 165void ComposeMail::pickAddress( )
166{ 166{
167 167
168 QLineEdit *line = mPickLineEdit; 168 QLineEdit *line = mPickLineEdit;
169 if ( line == 0 ) 169 if ( line == 0 )
170 return; 170 return;
171#ifdef DESKTOP_VERSION 171#ifdef DESKTOP_VERSION
172 //qDebug(" ComposeMail::pickAddress "); 172 //qDebug(" ComposeMail::pickAddress ");
173 QString names ;//= AddressPicker::getNames(); 173 QString names ;//= AddressPicker::getNames();
174 174
175 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 175 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
176 uint i=0; 176 uint i=0;
177 for (i=0; i < list.count(); i++) { 177 for (i=0; i < list.count(); i++) {
178 if ( !list[i].preferredEmail().isEmpty()) { 178 if ( !list[i].preferredEmail().isEmpty()) {
179 if ( ! names.isEmpty() ) 179 if ( ! names.isEmpty() )
180 names+= ","; 180 names+= ",";
181 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; 181 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">";
182 182
183 } 183 }
184 } 184 }
185 185
186 186
187 if ( line->text().isEmpty() ) { 187 if ( line->text().isEmpty() ) {
188 line->setText( names ); 188 line->setText( names );
189 } else if ( !names.isEmpty() ) { 189 } else if ( !names.isEmpty() ) {
190 line->setText( line->text() + ", " + names ); 190 line->setText( line->text() + ", " + names );
191 } 191 }
192#else 192#else
193 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); 193 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/);
194 // the result should now arrive through method insertAttendees 194 // the result should now arrive through method insertAttendees
195#endif 195#endif
196} 196}
197//the map includes name/email pairs, that comes from Ka/Pi 197//the map includes name/email pairs, that comes from Ka/Pi
198void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) 198void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
199{ 199{
200 qDebug("ComposeMail::insertAttendees "); 200 qDebug("ComposeMail::insertAttendees ");
201 raise(); 201 raise();
202 202
203 if ( mPickLineEdit == 0 ) { //whoami received 203 if ( mPickLineEdit == 0 ) { //whoami received
204 qDebug("returnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn "); 204 qDebug("returnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ");
205 QString defmail = uidList[0]; 205 QString defmail = uidList[0];
206 if ( emailList.count() == 0 ) 206 if ( emailList.count() == 0 )
207 QMessageBox::information( 0, tr( "Hint" ), 207 QMessageBox::information( 0, tr( "Hint" ),
208 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 208 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
209 tr( "Ok" ) ); 209 tr( "Ok" ) );
210 if (defmail.length()!=0) { 210 if (defmail.length()!=0) {
211 fromBox->insertItem(defmail); 211 fromBox->insertItem(defmail);
212 } 212 }
213 QStringList::ConstIterator sit = emailList.begin(); 213 QStringList::ConstIterator sit = emailList.begin();
214 int pref = 0; 214 int pref = 0;
215 for (;sit!=emailList.end();++sit) { 215 for (;sit!=emailList.end();++sit) {
216 if ( (*sit)==defmail) 216 if ( (*sit)==defmail)
217 continue; 217 continue;
218 fromBox->insertItem((*sit)); 218 fromBox->insertItem((*sit));
219 } 219 }
220 senderNameEdit->setText(nameList[0]); 220 senderNameEdit->setText(nameList[0]);
221 return; 221 return;
222 } 222 }
223 QString names ; 223 QString names ;
224 QLineEdit *line = mPickLineEdit; 224 QLineEdit *line = mPickLineEdit;
225 if (uid == this->name()) 225 if (uid == this->name())
226 { 226 {
227 for ( int i = 0; i < nameList.count(); i++) 227 for ( int i = 0; i < nameList.count(); i++)
228 { 228 {
229 QString _name = nameList[i]; 229 QString _name = nameList[i];
230 QString _email = emailList[i]; 230 QString _email = emailList[i];
231 QString _uid = uidList[i]; 231 QString _uid = uidList[i];
232 if ( ! _email.isEmpty() ) { 232 if ( ! _email.isEmpty() ) {
233 if ( ! names.isEmpty() ) 233 if ( ! names.isEmpty() )
234 names+= ","; 234 names+= ",";
235 names+= "\""+_name +"\"<" +_email +">"; 235 names+= "\""+_name +"\"<" +_email +">";
236 } 236 }
237 } 237 }
238 } 238 }
239 if ( line->text().isEmpty() ) { 239 if ( line->text().isEmpty() ) {
240 line->setText( names ); 240 line->setText( names );
241 } else if ( !names.isEmpty() ) { 241 } else if ( !names.isEmpty() ) {
242 line->setText( line->text() + ", " + names ); 242 line->setText( line->text() + ", " + names );
243 } 243 }
244} 244}
245 245
246void ComposeMail::setTo( const QString & to ) 246void ComposeMail::setTo( const QString & to )
247{ 247{
248 toLine->setText( to ); 248 toLine->setText( to );
249} 249}
250 250
251void ComposeMail::setSubject( const QString & subject ) 251void ComposeMail::setSubject( const QString & subject )
252{ 252{
253 subjectLine->setText( subject ); 253 subjectLine->setText( subject );
254} 254}
255 255
256void ComposeMail::setInReplyTo( const QString & messageId ) 256void ComposeMail::setInReplyTo( const QString & messageId )
257{ 257{
258 m_replyid = messageId; 258 m_replyid = messageId;
259} 259}
260 260
261void ComposeMail::setMessage( const QString & text ) 261void ComposeMail::setMessage( const QString & text )
262{ 262{
263 message->setText( text ); 263 message->setText( text );
264} 264}
265 265
266 266
267void ComposeMail::pickAddressTo() 267void ComposeMail::pickAddressTo()
268{ 268{
269 mPickLineEdit = toLine; 269 mPickLineEdit = toLine;
270 pickAddress( ); 270 pickAddress( );
271} 271}
272 272
273void ComposeMail::pickAddressCC() 273void ComposeMail::pickAddressCC()
274{ 274{
275 mPickLineEdit = ccLine; 275 mPickLineEdit = ccLine;
276 pickAddress( ); 276 pickAddress( );
277} 277}
278 278
279void ComposeMail::pickAddressBCC() 279void ComposeMail::pickAddressBCC()
280{ 280{
281 mPickLineEdit = bccLine; 281 mPickLineEdit = bccLine;
282 pickAddress( ); 282 pickAddress( );
283} 283}
284 284
285void ComposeMail::pickAddressReply() 285void ComposeMail::pickAddressReply()
286{ 286{
287 mPickLineEdit = replyLine; 287 mPickLineEdit = replyLine;
288 pickAddress( ); 288 pickAddress( );
289} 289}
290 290
291void ComposeMail::fillValues( int ) 291void ComposeMail::fillValues( int )
292{ 292{
293#if 0 293#if 0
294 SMTPaccount *smtp = smtpAccounts.at( current ); 294 SMTPaccount *smtp = smtpAccounts.at( current );
295 ccLine->clear(); 295 ccLine->clear();
296 if ( smtp->getUseCC() ) { 296 if ( smtp->getUseCC() ) {
297 ccLine->setText( smtp->getCC() ); 297 ccLine->setText( smtp->getCC() );
298 } 298 }
299 bccLine->clear(); 299 bccLine->clear();
300 if ( smtp->getUseBCC() ) { 300 if ( smtp->getUseBCC() ) {
301 bccLine->setText( smtp->getBCC() ); 301 bccLine->setText( smtp->getBCC() );
302 } 302 }
303 replyLine->clear(); 303 replyLine->clear();
304 if ( smtp->getUseReply() ) { 304 if ( smtp->getUseReply() ) {
305 replyLine->setText( smtp->getReply() ); 305 replyLine->setText( smtp->getReply() );
306 } 306 }
307 sigMultiLine->setText( smtp->getSignature() ); 307 sigMultiLine->setText( smtp->getSignature() );
308#endif 308#endif
309} 309}
310 310
311void ComposeMail::slotAdjustColumns() 311void ComposeMail::slotAdjustColumns()
312{ 312{
313 int currPage = tabWidget->currentPageIndex(); 313 int currPage = tabWidget->currentPageIndex();
314 314
315 tabWidget->showPage( attachTab ); 315 tabWidget->showPage( attachTab );
316 attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); 316 attList->setColumnWidth( 0, attList->visibleWidth() - 80 );
317 attList->setColumnWidth( 1, 80 ); 317 attList->setColumnWidth( 1, 80 );
318 318
319 tabWidget->setCurrentPage( currPage ); 319 tabWidget->setCurrentPage( currPage );
320} 320}
321 321
322void ComposeMail::addAttachment() 322void ComposeMail::addAttachment()
323{ 323{
324 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); 324 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this );
325 if ( !lnk.isEmpty() ) { 325 if ( !lnk.isEmpty() ) {
326 Attachment *att = new Attachment( lnk ); 326 Attachment *att = new Attachment( lnk );
327 (void) new AttachViewItem( attList, att ); 327 (void) new AttachViewItem( attList, att );
328 } 328 }
329} 329}
330 330
331void ComposeMail::removeAttachment() 331void ComposeMail::removeAttachment()
332{ 332{
333 if ( !attList->currentItem() ) { 333 if ( !attList->currentItem() ) {
334 QMessageBox::information( this, tr( "Error" ), 334 QMessageBox::information( this, tr( "Error" ),
335 tr( "<p>Please select a File.</p>" ), 335 tr( "<p>Please select a File.</p>" ),
336 tr( "Ok" ) ); 336 tr( "Ok" ) );
337 } else { 337 } else {
338 attList->takeItem( attList->currentItem() ); 338 attList->takeItem( attList->currentItem() );
339 } 339 }
340} 340}
341 341
342void ComposeMail::accept() 342void ComposeMail::accept()
343{ 343{
344 if ( smtpAccountBox->count() == 0 ) { 344 if ( smtpAccountBox->count() == 0 ) {
345 345
346 reject(); 346 reject();
347 return; 347 return;
348 } 348 }
349 349
350 if (! checkBoxLater->isChecked() ) { 350 if (! checkBoxLater->isChecked() ) {
351 int yesno = QMessageBox::warning(0,tr("Stop editing message"), 351 int yesno = QMessageBox::warning(0,tr("Stop editing message"),
352 tr("Send this message?"), 352 tr("Send this message?"),
353 tr("Yes"), 353 tr("Yes"),
354 tr("Cancel")); 354 tr("Cancel"));
355 355
356 if (yesno == 1) { 356 if (yesno == 1) {
357 return; 357 return;
358 } 358 }
359 } 359 }
360#if 0 360#if 0
361 odebug << "Sending Mail with " 361 odebug << "Sending Mail with "
362 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; 362 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl;
363#endif 363#endif
364 Opie::Core::OSmartPointer<Mail> mail=new Mail; 364 Opie::Core::OSmartPointer<Mail> mail=new Mail;
365 365
366 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); 366 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
367 mail->setMail(fromBox->currentText()); 367 mail->setMail(fromBox->currentText());
368 368
369 if ( !toLine->text().isEmpty() ) { 369 if ( !toLine->text().isEmpty() ) {
370 mail->setTo( toLine->text() ); 370 mail->setTo( toLine->text() );
371 } else { 371 } else {
372 QMessageBox::warning(0,tr("Sending mail"), 372 QMessageBox::warning(0,tr("Sending mail"),
373 tr("No Receiver spezified" ) ); 373 tr("No Receiver spezified" ) );
374 return; 374 return;
375 } 375 }
376 376
377 mail->setName(senderNameEdit->text()); 377 mail->setName(senderNameEdit->text());
378 mail->setCC( ccLine->text() ); 378 mail->setCC( ccLine->text() );
379 mail->setBCC( bccLine->text() ); 379 mail->setBCC( bccLine->text() );
380 mail->setReply( replyLine->text() ); 380 mail->setReply( replyLine->text() );
381 mail->setSubject( subjectLine->text() ); 381 mail->setSubject( subjectLine->text() );
382 if (!m_replyid.isEmpty()) { 382 if (!m_replyid.isEmpty()) {
383 QStringList ids; 383 QStringList ids;
384 ids.append(m_replyid); 384 ids.append(m_replyid);
385 mail->setInreply(ids); 385 mail->setInreply(ids);
386 } 386 }
387 QString txt = message->text(); 387 QString txt = message->text();
388 if ( !sigMultiLine->text().isEmpty() ) { 388 if ( !sigMultiLine->text().isEmpty() ) {
389 txt.append( "\n--\n" ); 389 txt.append( "\n--\n" );
390 txt.append( sigMultiLine->text() ); 390 txt.append( sigMultiLine->text() );
391 } 391 }
392 mail->setMessage( txt ); 392 mail->setMessage( txt );
393 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 393 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
394 while ( it != 0 ) { 394 while ( it != 0 ) {
395 mail->addAttachment( it->getAttachment() ); 395 mail->addAttachment( it->getAttachment() );
396 it = (AttachViewItem *) it->nextSibling(); 396 it = (AttachViewItem *) it->nextSibling();
397 } 397 }
398 398
399 SMTPwrapper wrapper( smtp ); 399 SMTPwrapper wrapper( smtp );
400 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) ) 400 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) )
401 setStatus( tr ("Mail sent")); 401 setStatus( tr ("Mail sent"));
402 else { 402 else {
403 setStatus( tr ("Error: Something went wrong. Nothing sent")); 403 setStatus( tr ("Error: Something went wrong. Nothing sent"));
404 return; 404 return;
405 } 405 }
406 406
407 407
408 QDialog::accept(); 408 QDialog::accept();
409} 409}
410 410
411void ComposeMail::reject() 411void ComposeMail::reject()
412{ 412{
413 //qDebug("ComposeMail::reject() "); 413 //qDebug("ComposeMail::reject() ");
414 int yesno = QMessageBox::warning(0,tr("Store message?"), 414 int yesno = QMessageBox::warning(0,tr("Store message?"),
415 tr("Store message into drafts?\n"), 415 tr("Store message into drafts?\n"),
416 tr("Yes"), 416 tr("Yes"),
417 tr("No")); 417 tr("No"));
418 418
419 //qDebug("button %d ", yesno); 419 //qDebug("button %d ", yesno);
420 if (yesno == 0) { 420 if (yesno == 0) {
421 if ( toLine->text().isEmpty() ) { 421 if ( toLine->text().isEmpty() ) {
422 QMessageBox::warning(0,tr("Sending mail"), 422 QMessageBox::warning(0,tr("Sending mail"),
423 tr("No Receiver spezified" ) ); 423 tr("No Receiver spezified" ) );
424 return; 424 return;
425 } 425 }
426 saveAsDraft(); 426 saveAsDraft();
427 } 427 }
428 if (yesno == 2) { 428 if (yesno == 2) {
429 qDebug("return "); 429 qDebug("return ");
430 return; 430 return;
431 } 431 }
432 QDialog::reject(); 432 QDialog::reject();
433} 433}
434 434
435ComposeMail::~ComposeMail() 435ComposeMail::~ComposeMail()
436{ 436{
437} 437}
438 438
439void ComposeMail::reEditMail(const RecMailP&current) 439void ComposeMail::reEditMail(const RecMailP&current)
440{ 440{
441 RecMailP data = current; 441 RecMailP data = current;
442 message->setText(data->Wrapper()->fetchBody(current)->Bodytext()); 442 message->setText(data->Wrapper()->fetchBody(current)->Bodytext());
443 subjectLine->setText( data->getSubject()); 443 subjectLine->setText( data->getSubject());
444 toLine->setText(data->To().join(",")); 444 toLine->setText(data->To().join(","));
445 ccLine->setText(data->CC().join(",")); 445 ccLine->setText(data->CC().join(","));
446 bccLine->setText(data->Bcc().join(",")); 446 bccLine->setText(data->Bcc().join(","));
447 replyLine->setText(data->Replyto()); 447 replyLine->setText(data->Replyto());
448} 448}
449 449
450AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) 450AttachViewItem::AttachViewItem( QListView *parent, Attachment *att )
451 : QListViewItem( parent ) 451 : QListViewItem( parent )
452{ 452{
453 attachment = att; 453 attachment = att;
454 if ( !attachment->getPixmap().isNull() ) 454 if ( !attachment->getPixmap().isNull() )
455 setPixmap( 0,attachment->getPixmap() ); 455 setPixmap( 0,attachment->getPixmap() );
456 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() ); 456 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() );
457 setText( 1, QString::number( att->getSize() ) ); 457 setText( 1, QString::number( att->getSize() ) );
458} 458}
459 459