summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountview.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/accountview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountview.cpp76
1 files changed, 44 insertions, 32 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp
index 30765cf..f861c20 100644
--- a/noncore/net/mail/accountview.cpp
+++ b/noncore/net/mail/accountview.cpp
@@ -81,12 +81,37 @@ void POP3folderItem::refresh(QList<RecMail>&target)
81 81
82RecBody POP3folderItem::fetchBody(const RecMail&aMail) 82RecBody POP3folderItem::fetchBody(const RecMail&aMail)
83{ 83{
84 return pop3->getWrapper()->fetchBody(aMail); 84 return pop3->getWrapper()->fetchBody(aMail);
85} 85}
86 86
87QPopupMenu * POP3folderItem::getContextMenu()
88{
89 QPopupMenu *m = new QPopupMenu(0);
90 if (m) {
91 m->insertItem(QObject::tr("Refresh header list",contextName),0);
92 m->insertItem(QObject::tr("Delete all mails",contextName),1);
93 }
94 return m;
95}
96
97void POP3folderItem::contextMenuSelected(int which)
98{
99 AccountView * view = (AccountView*)listView();
100 switch (which) {
101 case 0:
102 view->refreshCurrent();
103 break;
104 case 1:
105 deleteAllMail(pop3->getWrapper(),folder);
106 break;
107 default:
108 break;
109 }
110}
111
87/** 112/**
88 * IMAP Account stuff 113 * IMAP Account stuff
89 */ 114 */
90IMAPviewItem::IMAPviewItem( IMAPaccount *a, QListView *parent ) 115IMAPviewItem::IMAPviewItem( IMAPaccount *a, QListView *parent )
91 : AccountViewItem( parent ) 116 : AccountViewItem( parent )
92{ 117{
@@ -301,27 +326,12 @@ QPopupMenu * IMAPfolderItem::getContextMenu()
301 m->insertItem(QObject::tr("Delete folder",contextName),3); 326 m->insertItem(QObject::tr("Delete folder",contextName),3);
302 } 327 }
303 } 328 }
304 return m; 329 return m;
305} 330}
306 331
307void IMAPfolderItem::deleteAllMails()
308{
309 int yesno = QMessageBox::warning(0,QObject::tr("Delete all mails",contextName),
310 QObject::tr("<center>Realy delete all mails in box <br>%1</center>",contextName).arg(folder->getDisplayName()),
311 QObject::tr("Yes",contextName),
312 QObject::tr("No",contextName),QString::null,1,1);
313 qDebug("Auswahl: %i",yesno);
314 if (yesno == 0) {
315 if (imap->getWrapper()->deleteAllMail(folder)) {
316 AccountView * view = (AccountView*)listView();
317 if (view) view->refreshCurrent();
318 }
319 }
320}
321
322void IMAPfolderItem::createNewFolder() 332void IMAPfolderItem::createNewFolder()
323{ 333{
324 Newmdirdlg ndirdlg; 334 Newmdirdlg ndirdlg;
325 ndirdlg.showMaximized(); 335 ndirdlg.showMaximized();
326 if (ndirdlg.exec()) { 336 if (ndirdlg.exec()) {
327 QString ndir = ndirdlg.Newdir(); 337 QString ndir = ndirdlg.Newdir();
@@ -360,13 +370,13 @@ void IMAPfolderItem::contextMenuSelected(int id)
360 AccountView * view = (AccountView*)listView(); 370 AccountView * view = (AccountView*)listView();
361 switch(id) { 371 switch(id) {
362 case 0: 372 case 0:
363 view->refreshCurrent(); 373 view->refreshCurrent();
364 break; 374 break;
365 case 1: 375 case 1:
366 deleteAllMails(); 376 deleteAllMail(imap->getWrapper(),folder);
367 break; 377 break;
368 case 2: 378 case 2:
369 createNewFolder(); 379 createNewFolder();
370 break; 380 break;
371 case 3: 381 case 3:
372 deleteFolder(); 382 deleteFolder();
@@ -379,12 +389,29 @@ void IMAPfolderItem::contextMenuSelected(int id)
379/** 389/**
380 * Generic stuff 390 * Generic stuff
381 */ 391 */
382 392
383const QString AccountViewItem::contextName="AccountViewItem"; 393const QString AccountViewItem::contextName="AccountViewItem";
384 394
395void AccountViewItem::deleteAllMail(AbstractMail*wrapper,Folder*folder)
396{
397 if (!wrapper) return;
398 int yesno = QMessageBox::warning(0,QObject::tr("Delete all mails",contextName),
399 QObject::tr("<center>Realy delete all mails in box <br>%1</center>",contextName).
400 arg((folder?folder->getDisplayName():"")),
401 QObject::tr("Yes",contextName),
402 QObject::tr("No",contextName),QString::null,1,1);
403 qDebug("Auswahl: %i",yesno);
404 if (yesno == 0) {
405 if (wrapper->deleteAllMail(folder)) {
406 AccountView * view = (AccountView*)listView();
407 if (view) view->refreshCurrent();
408 }
409 }
410}
411
385AccountView::AccountView( QWidget *parent, const char *name, WFlags flags ) 412AccountView::AccountView( QWidget *parent, const char *name, WFlags flags )
386 : QListView( parent, name, flags ) 413 : QListView( parent, name, flags )
387{ 414{
388 connect( this, SIGNAL( selectionChanged( QListViewItem * ) ), 415 connect( this, SIGNAL( selectionChanged( QListViewItem * ) ),
389 SLOT( refresh( QListViewItem * ) ) ); 416 SLOT( refresh( QListViewItem * ) ) );
390 connect( this, SIGNAL( mouseButtonPressed(int, QListViewItem *,const QPoint&,int ) ),this, 417 connect( this, SIGNAL( mouseButtonPressed(int, QListViewItem *,const QPoint&,int ) ),this,
@@ -591,27 +618,12 @@ void MBOXfolderItem::refresh(QList<RecMail>&target)
591 618
592RecBody MBOXfolderItem::fetchBody(const RecMail&aMail) 619RecBody MBOXfolderItem::fetchBody(const RecMail&aMail)
593{ 620{
594 return mbox->getWrapper()->fetchBody(aMail); 621 return mbox->getWrapper()->fetchBody(aMail);
595} 622}
596 623
597void MBOXfolderItem::deleteAllMails()
598{
599 int yesno = QMessageBox::warning(0,QObject::tr("Delete all mails",contextName),
600 QObject::tr("<center>Realy delete all mails in box <br>%1</center>",contextName).arg(folder->getDisplayName()),
601 QObject::tr("Yes",contextName),
602 QObject::tr("No",contextName),QString::null,1,1);
603 qDebug("Auswahl: %i",yesno);
604 if (yesno == 0) {
605 if (mbox->getWrapper()->deleteAllMail(folder)) {
606 AccountView * view = (AccountView*)listView();
607 if (view) view->refreshCurrent();
608 }
609 }
610}
611
612void MBOXfolderItem::deleteFolder() 624void MBOXfolderItem::deleteFolder()
613{ 625{
614 int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), 626 int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName),
615 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), 627 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()),
616 QObject::tr("Yes",contextName), 628 QObject::tr("Yes",contextName),
617 QObject::tr("No",contextName),QString::null,1,1); 629 QObject::tr("No",contextName),QString::null,1,1);
@@ -641,13 +653,13 @@ QPopupMenu * MBOXfolderItem::getContextMenu()
641} 653}
642 654
643void MBOXfolderItem::contextMenuSelected(int which) 655void MBOXfolderItem::contextMenuSelected(int which)
644{ 656{
645 switch(which) { 657 switch(which) {
646 case 0: 658 case 0:
647 deleteAllMails(); 659 deleteAllMail(mbox->getWrapper(),folder);
648 break; 660 break;
649 case 1: 661 case 1:
650 deleteFolder(); 662 deleteFolder();
651 break; 663 break;
652 default: 664 default:
653 break; 665 break;