summaryrefslogtreecommitdiffabout
path: root/kmicromail/opiemail.cpp
Unidiff
Diffstat (limited to 'kmicromail/opiemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/opiemail.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index c20c7ce..ec192ea 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -254,110 +254,126 @@ void OpieMail::slotEditAccounts()
254 settings = new Settings(); 254 settings = new Settings();
255 255
256 folderView->populate( settings->getAccounts() ); 256 folderView->populate( settings->getAccounts() );
257} 257}
258void OpieMail::replyMail() 258void OpieMail::replyMail()
259{ 259{
260 260
261 QListViewItem*item = mailView->currentItem(); 261 QListViewItem*item = mailView->currentItem();
262 if (!item) return; 262 if (!item) return;
263 RecMailP mail = ((MailListViewItem*)item)->data(); 263 RecMailP mail = ((MailListViewItem*)item)->data();
264 RecBodyP body = folderView->fetchBody(mail); 264 RecBodyP body = folderView->fetchBody(mail);
265 265
266 QString rtext; 266 QString rtext;
267 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose 267 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose
268 .arg( mail->getFrom()) 268 .arg( mail->getFrom())
269 .arg( mail->getDate()); 269 .arg( mail->getDate());
270 270
271 QString text = body->Bodytext(); 271 QString text = body->Bodytext();
272 QStringList lines = QStringList::split(QRegExp("\\n"), text); 272 QStringList lines = QStringList::split(QRegExp("\\n"), text);
273 QStringList::Iterator it; 273 QStringList::Iterator it;
274 for (it = lines.begin(); it != lines.end(); it++) 274 for (it = lines.begin(); it != lines.end(); it++)
275 { 275 {
276 rtext += "> " + *it + "\n"; 276 rtext += "> " + *it + "\n";
277 } 277 }
278 rtext += "\n"; 278 rtext += "\n";
279 279
280 QString prefix; 280 QString prefix;
281 if ( mail->getSubject().find(QRegExp("^Re: .*$")) != -1) prefix = ""; 281 if ( mail->getSubject().find(QRegExp("^Re: .*$")) != -1) prefix = "";
282 else prefix = "Re: "; // no i18n on purpose 282 else prefix = "Re: "; // no i18n on purpose
283 283
284 Settings *settings = new Settings(); 284 Settings *settings = new Settings();
285 ComposeMail composer( settings ,this, 0, true); 285 ComposeMail composer( settings ,this, 0, true);
286 if (mail->Replyto().isEmpty()) { 286 if (mail->Replyto().isEmpty()) {
287 composer.setTo( mail->getFrom()); 287 composer.setTo( mail->getFrom());
288 } else { 288 } else {
289 composer.setTo( mail->Replyto()); 289 composer.setTo( mail->Replyto());
290 } 290 }
291 composer.setSubject( prefix + mail->getSubject()); 291 composer.setSubject( prefix + mail->getSubject());
292 composer.setMessage( rtext ); 292 composer.setMessage( rtext );
293 composer.setInReplyTo( mail->Msgid()); 293 composer.setInReplyTo( mail->Msgid());
294 composer.setCharset( body->getCharset() ); 294 composer.setCharset( body->getCharset() );
295 if ( QDialog::Accepted == KApplication::execDialog( &composer ) ) 295 if ( QDialog::Accepted == KApplication::execDialog( &composer ) )
296 { 296 {
297 mail->Wrapper()->answeredMail(mail); 297 mail->Wrapper()->answeredMail(mail);
298 } 298 }
299 delete settings; 299 delete settings;
300 300
301} 301}
302void OpieMail::displayNextMail(ViewMail * vm)
303{
304 QListViewItem*item = mailView->currentItem();
305 if (!item) return;
306 item = item->itemBelow();
307 if (!item) {
308 vm->setCaption(i18n("End of List" ));
309 return;
310 }
311 mailView->setCurrentItem(item);
312 RecMailP mail = ((MailListViewItem*)item)->data();
313 RecBodyP body = folderView->fetchBody(mail);
314 vm->setBody( body );
315 vm->setMail( mail );
316}
302void OpieMail::displayMail() 317void OpieMail::displayMail()
303{ 318{
304 QListViewItem*item = mailView->currentItem(); 319 QListViewItem*item = mailView->currentItem();
305 if (!item) return; 320 if (!item) return;
306 RecMailP mail = ((MailListViewItem*)item)->data(); 321 RecMailP mail = ((MailListViewItem*)item)->data();
307 RecBodyP body = folderView->fetchBody(mail); 322 RecBodyP body = folderView->fetchBody(mail);
308 ViewMail readMail( this,"", Qt::WType_Modal ); 323 ViewMail readMail( this,"", Qt::WType_Modal );
309 readMail.setBody( body ); 324 readMail.setBody( body );
310 readMail.setMail( mail ); 325 readMail.setMail( mail );
311#ifndef DESKTOP_VERSION 326#ifndef DESKTOP_VERSION
312 readMail.showMaximized(); 327 readMail.showMaximized();
313#else 328#else
314 readMail.resize( 640, 480); 329 readMail.resize( 640, 480);
315#endif 330#endif
331 connect( &readMail,SIGNAL( showNextMail(ViewMail *) ), this, SLOT( displayNextMail(ViewMail *) ) );
316 readMail.exec(); 332 readMail.exec();
317 333
318 if ( readMail.deleted ) 334 if ( readMail.deleted )
319 { 335 {
320 folderView->refreshCurrent(); 336 folderView->refreshCurrent();
321 } 337 }
322 else 338 else
323 { 339 {
324 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 340 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
325 } 341 }
326} 342}
327void OpieMail::slotGetAllMail() 343void OpieMail::slotGetAllMail()
328{ 344{
329 QListViewItem * item = folderView->firstChild(); 345 QListViewItem * item = folderView->firstChild();
330 while ( item ){ 346 while ( item ){
331 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 347 ((AccountViewItem *)item)->contextMenuSelected( 101 );
332 item = item->nextSibling (); 348 item = item->nextSibling ();
333 } 349 }
334} 350}
335void OpieMail::slotGetMail() 351void OpieMail::slotGetMail()
336{ 352{
337 QListViewItem * item = folderView->currentItem(); 353 QListViewItem * item = folderView->currentItem();
338 if ( ! item ) return; 354 if ( ! item ) return;
339 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 355 ((AccountViewItem *)item)->contextMenuSelected( 101 );
340} 356}
341void OpieMail::slotDeleteMail() 357void OpieMail::slotDeleteMail()
342{ 358{
343 if (!mailView->currentItem()) return; 359 if (!mailView->currentItem()) return;
344 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 360 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
345 if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 361 if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
346 { 362 {
347 mail->Wrapper()->deleteMail( mail ); 363 mail->Wrapper()->deleteMail( mail );
348 folderView->refreshCurrent(); 364 folderView->refreshCurrent();
349 } 365 }
350} 366}
351void OpieMail::slotDeleteAllMail() 367void OpieMail::slotDeleteAllMail()
352{ 368{
353 369
354 QValueList<RecMailP> t; 370 QValueList<RecMailP> t;
355 if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 371 if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
356 { 372 {
357 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 373 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
358 while ( item ) { 374 while ( item ) {
359 if ( item->isSelected() ) { 375 if ( item->isSelected() ) {
360 t.append( item->data() ); 376 t.append( item->data() );
361 } 377 }
362 item = (MailListViewItem*)item->nextSibling(); 378 item = (MailListViewItem*)item->nextSibling();
363 } 379 }