summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountitem.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/accountitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountitem.cpp155
1 files changed, 86 insertions, 69 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp
index c1574fd..4869df8 100644
--- a/noncore/net/mail/accountitem.cpp
+++ b/noncore/net/mail/accountitem.cpp
@@ -79,7 +79,7 @@ void POP3viewItem::refresh()
79 79
80RECBODYP POP3viewItem::fetchBody( const RecMailP &mail ) 80RECBODYP POP3viewItem::fetchBody( const RecMailP &mail )
81{ 81{
82 odebug << "POP3 fetchBody" << oendl; 82 odebug << "POP3 fetchBody" << oendl;
83 return wrapper->fetchBody( mail ); 83 return wrapper->fetchBody( mail );
84} 84}
85 85
@@ -90,12 +90,12 @@ QPopupMenu * POP3viewItem::getContextMenu()
90 { 90 {
91 if (!account->getOffline()) 91 if (!account->getOffline())
92 { 92 {
93 m->insertItem(QObject::tr("Disconnect",contextName),0); 93 m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT);
94 m->insertItem(QObject::tr("Set offline",contextName),1); 94 m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE);
95 } 95 }
96 else 96 else
97 { 97 {
98 m->insertItem(QObject::tr("Set online",contextName),1); 98 m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE);
99 } 99 }
100 } 100 }
101 return m; 101 return m;
@@ -129,10 +129,10 @@ void POP3viewItem::contextMenuSelected(int which)
129{ 129{
130 switch (which) 130 switch (which)
131 { 131 {
132 case 0: 132 case SERVER_MENU_DISCONNECT:
133 disconnect(); 133 disconnect();
134 break; 134 break;
135 case 1: 135 case SERVER_MENU_OFFLINE:
136 setOnOffline(); 136 setOnOffline();
137 break; 137 break;
138 } 138 }
@@ -172,9 +172,9 @@ QPopupMenu * POP3folderItem::getContextMenu()
172 QPopupMenu *m = new QPopupMenu(0); 172 QPopupMenu *m = new QPopupMenu(0);
173 if (m) 173 if (m)
174 { 174 {
175 m->insertItem(QObject::tr("Refresh header list",contextName),0); 175 m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
176 m->insertItem(QObject::tr("Delete all mails",contextName),1); 176 m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
177 m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); 177 m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS);
178 } 178 }
179 return m; 179 return m;
180} 180}
@@ -191,15 +191,15 @@ void POP3folderItem::contextMenuSelected(int which)
191 AccountView * view = (AccountView*)listView(); 191 AccountView * view = (AccountView*)listView();
192 switch (which) 192 switch (which)
193 { 193 {
194 case 0: 194 case FOLDER_MENU_REFRESH_HEADER:
195 /* must be 'cause pop3 lists are cached */ 195 /* must be 'cause pop3 lists are cached */
196 pop3->getWrapper()->logout(); 196 pop3->getWrapper()->logout();
197 view->refreshCurrent(); 197 view->refreshCurrent();
198 break; 198 break;
199 case 1: 199 case FOLDER_MENU_DELETE_ALL_MAILS:
200 deleteAllMail(pop3->getWrapper(),folder); 200 deleteAllMail(pop3->getWrapper(),folder);
201 break; 201 break;
202 case 2: 202 case FOLDER_MENU_MOVE_MAILS:
203 downloadMails(); 203 downloadMails();
204 break; 204 break;
205 default: 205 default:
@@ -270,7 +270,7 @@ void NNTPviewItem::refresh()
270 270
271RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) 271RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail )
272{ 272{
273 odebug << "NNTP fetchBody" << oendl; 273 odebug << "NNTP fetchBody" << oendl;
274 return wrapper->fetchBody( mail ); 274 return wrapper->fetchBody( mail );
275} 275}
276 276
@@ -281,13 +281,13 @@ QPopupMenu * NNTPviewItem::getContextMenu()
281 { 281 {
282 if (!account->getOffline()) 282 if (!account->getOffline())
283 { 283 {
284 m->insertItem(QObject::tr("Disconnect",contextName),0); 284 m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT);
285 m->insertItem(QObject::tr("Set offline",contextName),1); 285 m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE);
286 m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),2); 286 m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),SERVER_MENU_SUBSCRIBE);
287 } 287 }
288 else 288 else
289 { 289 {
290 m->insertItem(QObject::tr("Set online",contextName),1); 290 m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE);
291 } 291 }
292 } 292 }
293 return m; 293 return m;
@@ -330,13 +330,13 @@ void NNTPviewItem::contextMenuSelected(int which)
330{ 330{
331 switch (which) 331 switch (which)
332 { 332 {
333 case 0: 333 case SERVER_MENU_DISCONNECT:
334 disconnect(); 334 disconnect();
335 break; 335 break;
336 case 1: 336 case SERVER_MENU_OFFLINE:
337 setOnOffline(); 337 setOnOffline();
338 break; 338 break;
339 case 2: 339 case SERVER_MENU_SUBSCRIBE:
340 subscribeGroups(); 340 subscribeGroups();
341 break; 341 break;
342 } 342 }
@@ -376,8 +376,8 @@ QPopupMenu * NNTPfolderItem::getContextMenu()
376 QPopupMenu *m = new QPopupMenu(0); 376 QPopupMenu *m = new QPopupMenu(0);
377 if (m) 377 if (m)
378 { 378 {
379 m->insertItem(QObject::tr("Refresh header list",contextName),0); 379 m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
380 m->insertItem(QObject::tr("Copy all postings",contextName),1); 380 m->insertItem(QObject::tr("Copy all postings",contextName),FOLDER_MENU_MOVE_MAILS);
381 } 381 }
382 return m; 382 return m;
383} 383}
@@ -394,12 +394,12 @@ void NNTPfolderItem::contextMenuSelected(int which)
394 AccountView * view = (AccountView*)listView(); 394 AccountView * view = (AccountView*)listView();
395 switch (which) 395 switch (which)
396 { 396 {
397 case 0: 397 case FOLDER_MENU_REFRESH_HEADER:
398 /* must be 'cause pop3 lists are cached */ 398 /* must be 'cause nntp lists are cached */
399 nntp->getWrapper()->logout(); 399 nntp->getWrapper()->logout();
400 view->refreshCurrent(); 400 view->refreshCurrent();
401 break; 401 break;
402 case 1: 402 case FOLDER_MENU_MOVE_MAILS:
403 downloadMails(); 403 downloadMails();
404 break; 404 break;
405 default: 405 default:
@@ -461,7 +461,7 @@ void IMAPviewItem::refreshFolders(bool force)
461 { 461 {
462 item = new IMAPfolderItem( (*it), this , item ); 462 item = new IMAPfolderItem( (*it), this , item );
463 folders->remove(it); 463 folders->remove(it);
464 odebug << "inbox found" << oendl; 464 odebug << "inbox found" << oendl;
465 break; 465 break;
466 } 466 }
467 } 467 }
@@ -498,15 +498,15 @@ QPopupMenu * IMAPviewItem::getContextMenu()
498 { 498 {
499 if (!account->getOffline()) 499 if (!account->getOffline())
500 { 500 {
501 m->insertItem(QObject::tr("Refresh folder list",contextName),0); 501 m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT);
502 m->insertItem(QObject::tr("Create new folder",contextName),1); 502 m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE);
503 m->insertSeparator(); 503 m->insertSeparator();
504 m->insertItem(QObject::tr("Disconnect",contextName),2); 504 m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER);
505 m->insertItem(QObject::tr("Set offline",contextName),3); 505 m->insertItem(QObject::tr("Create new folder",contextName),SERVER_MENU_CREATE_FOLDER);
506 } 506 }
507 else 507 else
508 { 508 {
509 m->insertItem(QObject::tr("Set online",contextName),3); 509 m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE);
510 } 510 }
511 } 511 }
512 return m; 512 return m;
@@ -534,20 +534,20 @@ void IMAPviewItem::createNewFolder()
534 534
535void IMAPviewItem::contextMenuSelected(int id) 535void IMAPviewItem::contextMenuSelected(int id)
536{ 536{
537 odebug << "Id selected: " << id << "" << oendl; 537 odebug << "Id selected: " << id << "" << oendl;
538 switch (id) 538 switch (id)
539 { 539 {
540 case 0: 540 case SERVER_MENU_REFRESH_FOLDER:
541 refreshFolders(true); 541 refreshFolders(true);
542 break; 542 break;
543 case 1: 543 case SERVER_MENU_CREATE_FOLDER:
544 createNewFolder(); 544 createNewFolder();
545 break; 545 break;
546 case 2: 546 case SERVER_MENU_DISCONNECT:
547 removeChilds(); 547 removeChilds();
548 wrapper->logout(); 548 wrapper->logout();
549 break; 549 break;
550 case 3: 550 case SERVER_MENU_OFFLINE:
551 if (account->getOffline()==false) 551 if (account->getOffline()==false)
552 { 552 {
553 removeChilds(); 553 removeChilds();
@@ -635,17 +635,17 @@ QPopupMenu * IMAPfolderItem::getContextMenu()
635 { 635 {
636 if (folder->may_select()) 636 if (folder->may_select())
637 { 637 {
638 m->insertItem(QObject::tr("Refresh header list",contextName),0); 638 m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
639 m->insertItem(QObject::tr("Move/Copie all mails",contextName),4); 639 m->insertItem(QObject::tr("Move/Copy all mails",contextName),FOLDER_MENU_MOVE_MAILS);
640 m->insertItem(QObject::tr("Delete all mails",contextName),1); 640 m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
641 } 641 }
642 if (folder->no_inferior()==false) 642 if (folder->no_inferior()==false)
643 { 643 {
644 m->insertItem(QObject::tr("Create new subfolder",contextName),2); 644 m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER);
645 } 645 }
646 if (folder->getDisplayName().lower()!="inbox") 646 if (folder->getDisplayName().lower()!="inbox")
647 { 647 {
648 m->insertItem(QObject::tr("Delete folder",contextName),3); 648 m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER);
649 } 649 }
650 } 650 }
651 return m; 651 return m;
@@ -672,7 +672,7 @@ void IMAPfolderItem::deleteFolder()
672 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), 672 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()),
673 QObject::tr("Yes",contextName), 673 QObject::tr("Yes",contextName),
674 QObject::tr("No",contextName),QString::null,1,1); 674 QObject::tr("No",contextName),QString::null,1,1);
675 odebug << "Auswahl: " << yesno << "" << oendl; 675 odebug << "Auswahl: " << yesno << "" << oendl;
676 if (yesno == 0) 676 if (yesno == 0)
677 { 677 {
678 if (imap->getWrapper()->deleteMbox(folder)) 678 if (imap->getWrapper()->deleteMbox(folder))
@@ -699,23 +699,27 @@ void IMAPfolderItem::downloadMails()
699 699
700void IMAPfolderItem::contextMenuSelected(int id) 700void IMAPfolderItem::contextMenuSelected(int id)
701{ 701{
702 odebug << "Selected id: " << id << "" << oendl; 702 odebug << "Selected id: " << id << "" << oendl;
703 AccountView * view = (AccountView*)listView(); 703 AccountView * view = (AccountView*)listView();
704 switch(id) 704 switch(id)
705 { 705 {
706 case 0: 706 case FOLDER_MENU_REFRESH_HEADER:
707 view->refreshCurrent(); 707 view->refreshCurrent();
708 break; 708 break;
709 case 1: 709 case FOLDER_MENU_DELETE_ALL_MAILS:
710 deleteAllMail(imap->getWrapper(),folder); 710 deleteAllMail(imap->getWrapper(),folder);
711 break; 711 break;
712 case 2: 712 case FOLDER_MENU_NEW_SUBFOLDER:
713 createNewFolder(); 713 if (folder->no_inferior()==false) {
714 createNewFolder();
715 }
714 break; 716 break;
715 case 3: 717 case FOLDER_MENU_DELETE_FOLDER:
716 deleteFolder(); 718 if (folder->getDisplayName().lower()!="inbox") {
719 deleteFolder();
720 }
717 break; 721 break;
718 case 4: 722 case FOLDER_MENU_MOVE_MAILS:
719 downloadMails(); 723 downloadMails();
720 break; 724 break;
721 default: 725 default:
@@ -759,6 +763,7 @@ void MHviewItem::refresh( QValueList<RecMailP> & target)
759void MHviewItem::refresh(bool force) 763void MHviewItem::refresh(bool force)
760{ 764{
761 if (childCount()>0 && force==false) return; 765 if (childCount()>0 && force==false) return;
766 odebug << "Refresh mh folders" << oendl;
762 removeChilds(); 767 removeChilds();
763 currentFolders.clear(); 768 currentFolders.clear();
764 QValueList<FolderP> *folders = wrapper->listFolders(); 769 QValueList<FolderP> *folders = wrapper->listFolders();
@@ -803,7 +808,7 @@ void MHviewItem::refresh(bool force)
803 808
804RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) 809RECBODYP MHviewItem::fetchBody( const RecMailP &mail )
805{ 810{
806 odebug << "MH fetchBody" << oendl; 811 odebug << "MH fetchBody" << oendl;
807 return wrapper->fetchBody( mail ); 812 return wrapper->fetchBody( mail );
808} 813}
809 814
@@ -812,10 +817,10 @@ QPopupMenu * MHviewItem::getContextMenu()
812 QPopupMenu *m = new QPopupMenu(0); 817 QPopupMenu *m = new QPopupMenu(0);
813 if (m) 818 if (m)
814 { 819 {
815 m->insertItem(QObject::tr("Refresh folder list",contextName),0); 820 m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER);
816 m->insertItem(QObject::tr("Create new folder",contextName),1); 821 m->insertItem(QObject::tr("Create new folder",contextName),FOLDER_MENU_NEW_SUBFOLDER);
817 m->insertItem(QObject::tr("Delete all mails",contextName),2); 822 m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
818 m->insertItem(QObject::tr("Move/Copie all mails",contextName),3); 823 m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS);
819 } 824 }
820 return m; 825 return m;
821} 826}
@@ -847,20 +852,26 @@ QStringList MHviewItem::subFolders()
847 852
848void MHviewItem::contextMenuSelected(int which) 853void MHviewItem::contextMenuSelected(int which)
849{ 854{
855 AccountView*view = 0;
856
850 switch (which) 857 switch (which)
851 { 858 {
852 case 0: 859 case SERVER_MENU_REFRESH_FOLDER:
853 refresh(true); 860 refresh(true);
854 break; 861 break;
855 case 1: 862 case FOLDER_MENU_NEW_SUBFOLDER:
856 createFolder(); 863 createFolder();
857 break; 864 break;
858 case 2: 865 case FOLDER_MENU_DELETE_ALL_MAILS:
859 deleteAllMail(getWrapper(),folder); 866 deleteAllMail(getWrapper(),folder);
860 break; 867 break;
861 case 3: 868 case FOLDER_MENU_MOVE_MAILS:
862 downloadMails(); 869 downloadMails();
863 break; 870 break;
871 case FOLDER_MENU_REFRESH_HEADER:
872 view = (AccountView*)listView();
873 if (view) view->refreshCurrent();
874 break;
864 default: 875 default:
865 break; 876 break;
866 } 877 }
@@ -933,7 +944,7 @@ void MHfolderItem::deleteFolder()
933 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), 944 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()),
934 QObject::tr("Yes",contextName), 945 QObject::tr("Yes",contextName),
935 QObject::tr("No",contextName),QString::null,1,1); 946 QObject::tr("No",contextName),QString::null,1,1);
936 odebug << "Auswahl: " << yesno << "" << oendl; 947 odebug << "Auswahl: " << yesno << "" << oendl;
937 if (yesno == 0) 948 if (yesno == 0)
938 { 949 {
939 if (mbox->getWrapper()->deleteMbox(folder)) 950 if (mbox->getWrapper()->deleteMbox(folder))
@@ -956,10 +967,11 @@ QPopupMenu * MHfolderItem::getContextMenu()
956 QPopupMenu *m = new QPopupMenu(0); 967 QPopupMenu *m = new QPopupMenu(0);
957 if (m) 968 if (m)
958 { 969 {
959 m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); 970 m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER);
960 m->insertItem(QObject::tr("Delete all mails",contextName),0); 971 m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
961 m->insertItem(QObject::tr("Create new subfolder",contextName),3); 972 m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS);
962 m->insertItem(QObject::tr("Delete folder",contextName),1); 973 m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
974 m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER);
963 } 975 }
964 return m; 976 return m;
965} 977}
@@ -994,20 +1006,25 @@ void MHfolderItem::createFolder()
994 1006
995void MHfolderItem::contextMenuSelected(int which) 1007void MHfolderItem::contextMenuSelected(int which)
996{ 1008{
1009 AccountView*view = 0;
997 switch(which) 1010 switch(which)
998 { 1011 {
999 case 0: 1012 case FOLDER_MENU_DELETE_ALL_MAILS:
1000 deleteAllMail(mbox->getWrapper(),folder); 1013 deleteAllMail(mbox->getWrapper(),folder);
1001 break; 1014 break;
1002 case 1: 1015 case FOLDER_MENU_DELETE_FOLDER:
1003 deleteFolder(); 1016 deleteFolder();
1004 break; 1017 break;
1005 case 2: 1018 case FOLDER_MENU_MOVE_MAILS:
1006 downloadMails(); 1019 downloadMails();
1007 break; 1020 break;
1008 case 3: 1021 case FOLDER_MENU_NEW_SUBFOLDER:
1009 createFolder(); 1022 createFolder();
1010 break; 1023 break;
1024 case FOLDER_MENU_REFRESH_HEADER:
1025 view = (AccountView*)listView();
1026 if (view) view->refreshCurrent();
1027 break;
1011 default: 1028 default:
1012 break; 1029 break;
1013 } 1030 }
@@ -1075,7 +1092,7 @@ void AccountViewItem::deleteAllMail(AbstractMail*wrapper,const FolderP&folder)
1075 arg(fname), 1092 arg(fname),
1076 QObject::tr("Yes",contextName), 1093 QObject::tr("Yes",contextName),
1077 QObject::tr("No",contextName),QString::null,1,1); 1094 QObject::tr("No",contextName),QString::null,1,1);
1078 odebug << "Auswahl: " << yesno << "" << oendl; 1095 odebug << "Auswahl: " << yesno << "" << oendl;
1079 if (yesno == 0) 1096 if (yesno == 0)
1080 { 1097 {
1081 if (wrapper->deleteAllMail(folder)) 1098 if (wrapper->deleteAllMail(folder))