summaryrefslogtreecommitdiffabout
path: root/kmicromail/opiemail.cpp
Unidiff
Diffstat (limited to 'kmicromail/opiemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/opiemail.cpp47
1 files changed, 26 insertions, 21 deletions
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 75a75b9..f453be5 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -1,14 +1,19 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2// CHANGED 2004-08-06 Lutz Rogowski 2// CHANGED 2004-08-06 Lutz Rogowski
3 3
4 4
5#define protected public 5#define protected public
6#include <qwidget.h> 6#include <qwidget.h>
7//Added by qt3to4:
8#include <Q3ValueList>
9#include <Q3CString>
10#include <QPixmap>
11#include <Q3PopupMenu>
7#undef protected 12#undef protected
8#include "koprefsdialog.h" 13#include "koprefsdialog.h"
9#include <kapplication.h> 14#include <kapplication.h>
10#include <libkdepim/externalapphandler.h> 15#include <libkdepim/externalapphandler.h>
11#include <libkdepim/kpimglobalprefs.h> 16#include <libkdepim/kpimglobalprefs.h>
12#ifdef MINIKDE_KDIALOG_H 17#ifdef MINIKDE_KDIALOG_H
13#undef MINIKDE_KDIALOG_H 18#undef MINIKDE_KDIALOG_H
14#endif 19#endif
@@ -22,17 +27,17 @@
22#include "selectsmtp.h" 27#include "selectsmtp.h"
23#include "accountitem.h" 28#include "accountitem.h"
24#include "accountview.h" 29#include "accountview.h"
25#include "klocale.h" 30#include "klocale.h"
26 31
27#include <qmessagebox.h> 32#include <qmessagebox.h>
28#include <qtimer.h> 33#include <qtimer.h>
29#include <qcursor.h> 34#include <qcursor.h>
30#include <qtextbrowser.h> 35#include <q3textbrowser.h>
31#include <qregexp.h> 36#include <qregexp.h>
32#include <qpe/global.h> 37#include <qpe/global.h>
33 38
34#ifdef DESKTOP_VERSION 39#ifdef DESKTOP_VERSION
35#include <qapplication.h> 40#include <qapplication.h>
36#else 41#else
37#include <qpe/qpeapplication.h> 42#include <qpe/qpeapplication.h>
38#endif 43#endif
@@ -58,54 +63,54 @@ OpieMail::OpieMail( QWidget *parent, const char *name )
58 63
59OpieMail::~OpieMail() 64OpieMail::~OpieMail()
60{ 65{
61 if (settings) delete settings; 66 if (settings) delete settings;
62 if ( tb ) 67 if ( tb )
63 delete tb; 68 delete tb;
64} 69}
65 70
66void OpieMail::appMessage(const QCString &msg, const QByteArray &data) 71void OpieMail::appMessage(const Q3CString &msg, const QByteArray &data)
67{ 72{
68 73
69} 74}
70#include <stdlib.h> 75#include <stdlib.h>
71void OpieMail::message(const QCString &msg, const QByteArray &data) 76void OpieMail::message(const Q3CString &msg, const QByteArray &data)
72{ 77{
73 // copied from old mail2 78 // copied from old mail2
74 static int ii = 0; 79 static int ii = 0;
75 //qDebug("QCOP CALL ############################# %d ", ii); 80 //qDebug("QCOP CALL ############################# %d ", ii);
76 //QString mess ( msg ); 81 //QString mess ( msg );
77 //qDebug("Message = %s ",mess.latin1()); 82 //qDebug("Message = %s ",mess.latin1());
78 ++ii; 83 ++ii;
79 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this); 84 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this);
80 85
81 mPendingEmail = QString::null; 86 mPendingEmail = QString::null;
82 mPendingName = QString::null; 87 mPendingName = QString::null;
83 if (msg == "writeMail(QString,QString)") 88 if (msg == "writeMail(QString,QString)")
84 { 89 {
85 //qDebug("writeMail(QString,QString) "); 90 //qDebug("writeMail(QString,QString) ");
86 QDataStream stream(data,IO_ReadOnly); 91 QDataStream stream(data,QIODevice::ReadOnly);
87 stream >> mPendingName >> mPendingEmail; 92 stream >> mPendingName >> mPendingEmail;
88 // removing the whitespaces at beginning and end is needed! 93 // removing the whitespaces at beginning and end is needed!
89 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) ); 94 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
90 } 95 }
91 else if (msg == "newMail()") 96 else if (msg == "newMail()")
92 { 97 {
93 //qDebug("slotComposeMail() "); 98 //qDebug("slotComposeMail() ");
94 // we cannot call slotComposeMail(); directly, because may be executing a QCOP call 99 // we cannot call slotComposeMail(); directly, because may be executing a QCOP call
95 // and a QCOP call does not like a processevents in his execution 100 // and a QCOP call does not like a processevents in his execution
96 // with the Qtimer we call slotComposeMail() after we reached the main event loop 101 // with the Qtimer we call slotComposeMail() after we reached the main event loop
97 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) ); 102 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
98 // slotComposeMail(); 103 // slotComposeMail();
99 } 104 }
100 else if (msg == "newMail(QString)") 105 else if (msg == "newMail(QString)")
101 { 106 {
102 //qDebug(" newMail(QString)"); 107 //qDebug(" newMail(QString)");
103 QDataStream stream(data,IO_ReadOnly); 108 QDataStream stream(data,QIODevice::ReadOnly);
104 stream >> mPendingName; 109 stream >> mPendingName;
105 // the format is 110 // the format is
106 // NAME <EMAIL>:SUBJECT 111 // NAME <EMAIL>:SUBJECT
107 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) ); 112 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
108 } else { 113 } else {
109 mPendingData = data; 114 mPendingData = data;
110 mPendingMessage = msg; 115 mPendingMessage = msg;
111 QTimer::singleShot ( 50, this, SLOT(slotExtAppHandler() ) ); 116 QTimer::singleShot ( 50, this, SLOT(slotExtAppHandler() ) );
@@ -274,17 +279,17 @@ void OpieMail::slotEditAccounts()
274 if ( settings ) delete settings; 279 if ( settings ) delete settings;
275 settings = new Settings(); 280 settings = new Settings();
276 281
277 folderView->populate( settings->getAccounts() ); 282 folderView->populate( settings->getAccounts() );
278} 283}
279void OpieMail::replyMail() 284void OpieMail::replyMail()
280{ 285{
281 286
282 QListViewItem*item = mailView->currentItem(); 287 Q3ListViewItem*item = mailView->currentItem();
283 if (!item) return; 288 if (!item) return;
284 RecMailP mail = ((MailListViewItem*)item)->data(); 289 RecMailP mail = ((MailListViewItem*)item)->data();
285 RecBodyP body = folderView->fetchBody(mail); 290 RecBodyP body = folderView->fetchBody(mail);
286 291
287 QString rtext; 292 QString rtext;
288 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose 293 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose
289 .arg( mail->getFrom()) 294 .arg( mail->getFrom())
290 .arg( mail->getDate()); 295 .arg( mail->getDate());
@@ -326,17 +331,17 @@ void OpieMail::replyMail()
326} 331}
327void OpieMail::closeViewMail(ViewMail * vm) 332void OpieMail::closeViewMail(ViewMail * vm)
328{ 333{
329 vm->hide(); 334 vm->hide();
330} 335}
331 336
332void OpieMail::slotDownloadMail( ) 337void OpieMail::slotDownloadMail( )
333{ 338{
334 QListViewItem*item = mailView->currentItem(); 339 Q3ListViewItem*item = mailView->currentItem();
335 if (!item ) { 340 if (!item ) {
336 Global::statusMessage("Error: No item slected!"); 341 Global::statusMessage("Error: No item slected!");
337 return; 342 return;
338 } 343 }
339 RecMailP mail = ((MailListViewItem*)item)->data(); 344 RecMailP mail = ((MailListViewItem*)item)->data();
340 Account * acc = mail->Wrapper()->getAccount(); 345 Account * acc = mail->Wrapper()->getAccount();
341 if ( !acc ) { 346 if ( !acc ) {
342 Global::statusMessage("Mail is already stored locally!"); 347 Global::statusMessage("Mail is already stored locally!");
@@ -367,17 +372,17 @@ void OpieMail::slotDownloadMail( )
367 } else { 372 } else {
368 Global::statusMessage("Error: Cannot fetch mail!"); 373 Global::statusMessage("Error: Cannot fetch mail!");
369 } 374 }
370} 375}
371 376
372 377
373void OpieMail::deleteAndDisplayNextMail(ViewMail * vm) 378void OpieMail::deleteAndDisplayNextMail(ViewMail * vm)
374{ 379{
375 QListViewItem*item = mailView->currentItem(); 380 Q3ListViewItem*item = mailView->currentItem();
376 if (!item ) { 381 if (!item ) {
377 closeViewMail(vm); 382 closeViewMail(vm);
378 return; 383 return;
379 } 384 }
380 RecMailP mail = ((MailListViewItem*)item)->data(); 385 RecMailP mail = ((MailListViewItem*)item)->data();
381 mail->Wrapper()->deleteMail( mail ); 386 mail->Wrapper()->deleteMail( mail );
382 item = item->itemBelow(); 387 item = item->itemBelow();
383 if (!item ) { 388 if (!item ) {
@@ -387,33 +392,33 @@ void OpieMail::deleteAndDisplayNextMail(ViewMail * vm)
387 mailView->setCurrentItem(item); 392 mailView->setCurrentItem(item);
388 mail = ((MailListViewItem*)item)->data(); 393 mail = ((MailListViewItem*)item)->data();
389 RecBodyP body = folderView->fetchBody(mail); 394 RecBodyP body = folderView->fetchBody(mail);
390 vm->setBody( body ); 395 vm->setBody( body );
391 vm->setMail( mail ); 396 vm->setMail( mail );
392} 397}
393void OpieMail::displayNextMail(ViewMail * vm) 398void OpieMail::displayNextMail(ViewMail * vm)
394{ 399{
395 QListViewItem*item = mailView->currentItem(); 400 Q3ListViewItem*item = mailView->currentItem();
396 if (!item) return; 401 if (!item) return;
397 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 402 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
398 item = item->itemBelow(); 403 item = item->itemBelow();
399 if (!item) { 404 if (!item) {
400 vm->setCaption(i18n("End of List" )); 405 vm->setCaption(i18n("End of List" ));
401 return; 406 return;
402 } 407 }
403 mailView->setCurrentItem(item); 408 mailView->setCurrentItem(item);
404 RecMailP mail = ((MailListViewItem*)item)->data(); 409 RecMailP mail = ((MailListViewItem*)item)->data();
405 RecBodyP body = folderView->fetchBody(mail); 410 RecBodyP body = folderView->fetchBody(mail);
406 vm->setBody( body ); 411 vm->setBody( body );
407 vm->setMail( mail ); 412 vm->setMail( mail );
408} 413}
409void OpieMail::displayMail() 414void OpieMail::displayMail()
410{ 415{
411 QListViewItem*item = mailView->currentItem(); 416 Q3ListViewItem*item = mailView->currentItem();
412 if (!item) return; 417 if (!item) return;
413 RecMailP mail = ((MailListViewItem*)item)->data(); 418 RecMailP mail = ((MailListViewItem*)item)->data();
414 RecBodyP body = folderView->fetchBody(mail); 419 RecBodyP body = folderView->fetchBody(mail);
415 ViewMail readMail( this,"", Qt::WType_Modal ); 420 ViewMail readMail( this,"", Qt::WType_Modal );
416 readMail.setBody( body ); 421 readMail.setBody( body );
417 readMail.setMail( mail ); 422 readMail.setMail( mail );
418#ifndef DESKTOP_VERSION 423#ifndef DESKTOP_VERSION
419 readMail.showMaximized(); 424 readMail.showMaximized();
@@ -427,49 +432,49 @@ void OpieMail::displayMail()
427 readMail.exec(); 432 readMail.exec();
428 433
429 if ( readMail.deleted ) 434 if ( readMail.deleted )
430 { 435 {
431 folderView->refreshCurrent(); 436 folderView->refreshCurrent();
432 } 437 }
433 else 438 else
434 { 439 {
435 QListViewItem*item = mailView->currentItem(); 440 Q3ListViewItem*item = mailView->currentItem();
436 if (item) 441 if (item)
437 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 442 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
438 } 443 }
439} 444}
440void OpieMail::slotGetAllMail() 445void OpieMail::slotGetAllMail()
441{ 446{
442 QListViewItem * item = folderView->firstChild(); 447 Q3ListViewItem * item = folderView->firstChild();
443 while ( item ){ 448 while ( item ){
444 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 449 ((AccountViewItem *)item)->contextMenuSelected( 101 );
445 item = item->nextSibling (); 450 item = item->nextSibling ();
446 } 451 }
447} 452}
448void OpieMail::slotGetMail() 453void OpieMail::slotGetMail()
449{ 454{
450 QListViewItem * item = folderView->currentItem(); 455 Q3ListViewItem * item = folderView->currentItem();
451 if ( ! item ) return; 456 if ( ! item ) return;
452 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 457 ((AccountViewItem *)item)->contextMenuSelected( 101 );
453} 458}
454void OpieMail::slotDeleteMail() 459void OpieMail::slotDeleteMail()
455{ 460{
456 if (!mailView->currentItem()) return; 461 if (!mailView->currentItem()) return;
457 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 462 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
458 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 ) 463 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 )
459 { 464 {
460 mail->Wrapper()->deleteMail( mail ); 465 mail->Wrapper()->deleteMail( mail );
461 folderView->refreshCurrent(); 466 folderView->refreshCurrent();
462 } 467 }
463} 468}
464void OpieMail::slotDeleteAllMail() 469void OpieMail::slotDeleteAllMail()
465{ 470{
466 471
467 QValueList<RecMailP> t; 472 Q3ValueList<RecMailP> t;
468 if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 473 if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
469 { 474 {
470 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 475 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
471 while ( item ) { 476 while ( item ) {
472 if ( item->isSelected() ) { 477 if ( item->isSelected() ) {
473 t.append( item->data() ); 478 t.append( item->data() );
474 } 479 }
475 item = (MailListViewItem*)item->nextSibling(); 480 item = (MailListViewItem*)item->nextSibling();
@@ -487,31 +492,31 @@ void OpieMail::slotDeleteAllMail()
487} 492}
488void OpieMail::clearSelection() 493void OpieMail::clearSelection()
489{ 494{
490 mailView->clearSelection(); 495 mailView->clearSelection();
491 496
492} 497}
493void OpieMail::selectAll() 498void OpieMail::selectAll()
494{ 499{
495 QListViewItem* item = mailView->firstChild (); 500 Q3ListViewItem* item = mailView->firstChild ();
496 while ( item ) { 501 while ( item ) {
497 mailView->setSelected ( item, true ); 502 mailView->setSelected ( item, true );
498 item = item->nextSibling(); 503 item = item->nextSibling();
499 } 504 }
500} 505}
501 506
502void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) 507void OpieMail::mailHold(int button, Q3ListViewItem *item,const QPoint&,int )
503{ 508{
504 if (!mailView->currentItem()) return; 509 if (!mailView->currentItem()) return;
505 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); 510 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType();
506 /* just the RIGHT button - or hold on pda */ 511 /* just the RIGHT button - or hold on pda */
507 if (button!=2) {return;} 512 if (button!=2) {return;}
508 if (!item) return; 513 if (!item) return;
509 QPopupMenu *m = new QPopupMenu(0); 514 Q3PopupMenu *m = new Q3PopupMenu(0);
510 if (m) 515 if (m)
511 { 516 {
512 if (mailtype==MAILLIB::A_NNTP) { 517 if (mailtype==MAILLIB::A_NNTP) {
513 m->insertItem(i18n("Read this posting"),this,SLOT(displayMail())); 518 m->insertItem(i18n("Read this posting"),this,SLOT(displayMail()));
514 m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail())); 519 m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail()));
515 m->insertSeparator(); 520 m->insertSeparator();
516 m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail())); 521 m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail()));
517 m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); 522 m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection()));
@@ -548,32 +553,32 @@ void OpieMail::slotShowFolders( bool show )
548 else if ( !show && !folderView->isHidden() ) 553 else if ( !show && !folderView->isHidden() )
549 { 554 {
550 slotAdjustColumnsWide(); 555 slotAdjustColumnsWide();
551 folderView->hide(); 556 folderView->hide();
552 //slotAdjustColumnsWide(); 557 //slotAdjustColumnsWide();
553 } 558 }
554} 559}
555 560
556void OpieMail::refreshMailView(const QValueList<RecMailP>&list) 561void OpieMail::refreshMailView(const Q3ValueList<RecMailP>&list)
557{ 562{
558 MailListViewItem*item = 0; 563 MailListViewItem*item = 0;
559 mailView->clear(); 564 mailView->clear();
560 565
561 QValueList<RecMailP>::ConstIterator it; 566 Q3ValueList<RecMailP>::ConstIterator it;
562 for (it = list.begin(); it != list.end();++it) 567 for (it = list.begin(); it != list.end();++it)
563 { 568 {
564 item = new MailListViewItem(mailView,item); 569 item = new MailListViewItem(mailView,item);
565 item->storeData((*it)); 570 item->storeData((*it));
566 item->showEntry(); 571 item->showEntry();
567 } 572 }
568 mailView->setSorting ( 4, false ); 573 mailView->setSorting ( 4, false );
569} 574}
570 575
571void OpieMail::mailLeftClicked( QListViewItem *item ) 576void OpieMail::mailLeftClicked( Q3ListViewItem *item )
572{ 577{
573 mailView->clearSelection(); 578 mailView->clearSelection();
574 /* just LEFT button - or tap with stylus on pda */ 579 /* just LEFT button - or tap with stylus on pda */
575 //if (button!=1) return; 580 //if (button!=1) return;
576 if (!item) return; 581 if (!item) return;
577 if (folderView->currentisDraft()) { 582 if (folderView->currentisDraft()) {
578 reEditMail(); 583 reEditMail();
579 } else { 584 } else {
@@ -609,17 +614,17 @@ void OpieMail::slotMoveCopyMail()
609 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails()); 614 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
610 folderView->refreshCurrent(); 615 folderView->refreshCurrent();
611} 616}
612 617
613void OpieMail::slotMoveCopyAllMail() 618void OpieMail::slotMoveCopyAllMail()
614{ 619{
615 620
616 if (!mailView->currentItem()) return; 621 if (!mailView->currentItem()) return;
617 QValueList<RecMailP> t; 622 Q3ValueList<RecMailP> t;
618 // if ( QMessageBox::warning(this, i18n("Move/Copy all selected mails"), i18n("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 623 // if ( QMessageBox::warning(this, i18n("Move/Copy all selected mails"), i18n("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
619 { 624 {
620 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 625 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
621 while ( item ) { 626 while ( item ) {
622 if ( item->isSelected() ) { 627 if ( item->isSelected() ) {
623 t.append( item->data() ); 628 t.append( item->data() );
624 } 629 }
625 item = (MailListViewItem*)item->nextSibling(); 630 item = (MailListViewItem*)item->nextSibling();