Diffstat (limited to 'noncore/net/mail/accountitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/accountitem.cpp | 240 |
1 files changed, 126 insertions, 114 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp index 10db2c6..f7fdccd 100644 --- a/noncore/net/mail/accountitem.cpp +++ b/noncore/net/mail/accountitem.cpp | |||
@@ -85,18 +85,12 @@ RECBODYP POP3viewItem::fetchBody( const RecMailP &mail ) | |||
85 | 85 | ||
86 | QPopupMenu * POP3viewItem::getContextMenu() | 86 | QMap<int,QString> POP3viewItem::serverMenu() |
87 | { | 87 | { |
88 | QPopupMenu *m = new QPopupMenu(0); | 88 | QMap<int,QString> _entries; |
89 | if (m) | 89 | if (!account->getOffline()) { |
90 | { | 90 | _entries[SERVER_MENU_DISCONNECT]=QObject::tr("Disconnect",contextName); |
91 | if (!account->getOffline()) | 91 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set offline",contextName); |
92 | { | 92 | } else { |
93 | m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT); | 93 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set online",contextName); |
94 | m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE); | ||
95 | } | ||
96 | else | ||
97 | { | ||
98 | m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE); | ||
99 | } | ||
100 | } | 94 | } |
101 | return m; | 95 | return _entries; |
102 | } | 96 | } |
@@ -127,3 +121,3 @@ void POP3viewItem::setOnOffline() | |||
127 | 121 | ||
128 | void POP3viewItem::contextMenuSelected(int which) | 122 | bool POP3viewItem::contextMenuSelected(int which) |
129 | { | 123 | { |
@@ -138,2 +132,3 @@ void POP3viewItem::contextMenuSelected(int which) | |||
138 | } | 132 | } |
133 | return false; | ||
139 | } | 134 | } |
@@ -169,12 +164,9 @@ RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) | |||
169 | 164 | ||
170 | QPopupMenu * POP3folderItem::getContextMenu() | 165 | QMap<int,QString> POP3folderItem::folderMenu() |
171 | { | 166 | { |
172 | QPopupMenu *m = new QPopupMenu(0); | 167 | QMap<int,QString> _entries; |
173 | if (m) | 168 | _entries[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
174 | { | 169 | _entries[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); |
175 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | 170 | _entries[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copie all mails",contextName); |
176 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | 171 | return _entries; |
177 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS); | ||
178 | } | ||
179 | return m; | ||
180 | } | 172 | } |
@@ -188,3 +180,3 @@ void POP3folderItem::downloadMails() | |||
188 | 180 | ||
189 | void POP3folderItem::contextMenuSelected(int which) | 181 | bool POP3folderItem::contextMenuSelected(int which) |
190 | { | 182 | { |
@@ -207,2 +199,3 @@ void POP3folderItem::contextMenuSelected(int which) | |||
207 | } | 199 | } |
200 | return false; | ||
208 | } | 201 | } |
@@ -276,19 +269,14 @@ RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) | |||
276 | 269 | ||
277 | QPopupMenu * NNTPviewItem::getContextMenu() | 270 | QMap<int,QString> NNTPviewItem::serverMenu() |
278 | { | 271 | { |
279 | QPopupMenu *m = new QPopupMenu(0); | 272 | QMap<int,QString> _entries; |
280 | if (m) | 273 | if (!account->getOffline()) |
281 | { | 274 | { |
282 | if (!account->getOffline()) | 275 | _entries[SERVER_MENU_DISCONNECT]=QObject::tr("Disconnect",contextName); |
283 | { | 276 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set offline",contextName); |
284 | m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT); | 277 | _entries[SERVER_MENU_SUBSCRIBE]=QObject::tr("(Un-)Subscribe groups",contextName); |
285 | m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE); | 278 | } else { |
286 | m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),SERVER_MENU_SUBSCRIBE); | 279 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set online",contextName); |
287 | } | ||
288 | else | ||
289 | { | ||
290 | m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE); | ||
291 | } | ||
292 | } | 280 | } |
293 | return m; | 281 | return _entries; |
294 | } | 282 | } |
@@ -328,3 +316,3 @@ void NNTPviewItem::setOnOffline() | |||
328 | 316 | ||
329 | void NNTPviewItem::contextMenuSelected(int which) | 317 | bool NNTPviewItem::contextMenuSelected(int which) |
330 | { | 318 | { |
@@ -342,2 +330,3 @@ void NNTPviewItem::contextMenuSelected(int which) | |||
342 | } | 330 | } |
331 | return false; | ||
343 | } | 332 | } |
@@ -373,11 +362,8 @@ RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) | |||
373 | 362 | ||
374 | QPopupMenu * NNTPfolderItem::getContextMenu() | 363 | QMap<int,QString> NNTPfolderItem::folderMenu() |
375 | { | 364 | { |
376 | QPopupMenu *m = new QPopupMenu(0); | 365 | QMap<int,QString> _entries; |
377 | if (m) | 366 | _entries[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
378 | { | 367 | _entries[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Copy all postings",contextName); |
379 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | 368 | return _entries; |
380 | m->insertItem(QObject::tr("Copy all postings",contextName),FOLDER_MENU_MOVE_MAILS); | ||
381 | } | ||
382 | return m; | ||
383 | } | 369 | } |
@@ -391,3 +377,3 @@ void NNTPfolderItem::downloadMails() | |||
391 | 377 | ||
392 | void NNTPfolderItem::contextMenuSelected(int which) | 378 | bool NNTPfolderItem::contextMenuSelected(int which) |
393 | { | 379 | { |
@@ -407,2 +393,3 @@ void NNTPfolderItem::contextMenuSelected(int which) | |||
407 | } | 393 | } |
394 | return false; | ||
408 | } | 395 | } |
@@ -493,21 +480,14 @@ void IMAPviewItem::refreshFolders(bool force) | |||
493 | 480 | ||
494 | QPopupMenu * IMAPviewItem::getContextMenu() | 481 | QMap<int,QString> IMAPviewItem::serverMenu() |
495 | { | 482 | { |
496 | QPopupMenu *m = new QPopupMenu(0); | 483 | QMap<int,QString> e; |
497 | if (m) | 484 | if (!account->getOffline()) { |
498 | { | 485 | e[SERVER_MENU_DISCONNECT]=QObject::tr("Disconnect",contextName); |
499 | if (!account->getOffline()) | 486 | e[SERVER_MENU_OFFLINE]=QObject::tr("Set offline",contextName); |
500 | { | 487 | e[SERVER_MENU_REFRESH_FOLDER]=QObject::tr("Refresh folder list",contextName); |
501 | m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT); | 488 | e[SERVER_MENU_CREATE_FOLDER]=QObject::tr("Create new folder",contextName); |
502 | m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE); | 489 | } else { |
503 | m->insertSeparator(); | 490 | e[SERVER_MENU_OFFLINE]=QObject::tr("Set online",contextName); |
504 | m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER); | ||
505 | m->insertItem(QObject::tr("Create new folder",contextName),SERVER_MENU_CREATE_FOLDER); | ||
506 | } | ||
507 | else | ||
508 | { | ||
509 | m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE); | ||
510 | } | ||
511 | } | 491 | } |
512 | return m; | 492 | return e; |
513 | } | 493 | } |
@@ -534,3 +514,3 @@ void IMAPviewItem::createNewFolder() | |||
534 | 514 | ||
535 | void IMAPviewItem::contextMenuSelected(int id) | 515 | bool IMAPviewItem::contextMenuSelected(int id) |
536 | { | 516 | { |
@@ -563,2 +543,3 @@ void IMAPviewItem::contextMenuSelected(int id) | |||
563 | } | 543 | } |
544 | return false; | ||
564 | } | 545 | } |
@@ -630,23 +611,17 @@ RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) | |||
630 | 611 | ||
631 | QPopupMenu * IMAPfolderItem::getContextMenu() | 612 | QMap<int,QString> IMAPfolderItem::folderMenu() |
632 | { | 613 | { |
633 | QPopupMenu *m = new QPopupMenu(0); | 614 | QMap<int,QString> e; |
634 | if (m) | 615 | if (folder->may_select()) { |
635 | { | 616 | e[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
636 | if (folder->may_select()) | 617 | e[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copy all mails",contextName); |
637 | { | 618 | e[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); |
638 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | ||
639 | m->insertItem(QObject::tr("Move/Copy all mails",contextName),FOLDER_MENU_MOVE_MAILS); | ||
640 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | ||
641 | } | ||
642 | if (folder->no_inferior()==false) | ||
643 | { | ||
644 | m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER); | ||
645 | } | ||
646 | if (folder->getDisplayName().lower()!="inbox") | ||
647 | { | ||
648 | m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER); | ||
649 | } | ||
650 | } | 619 | } |
651 | return m; | 620 | if (folder->no_inferior()==false) { |
621 | e[FOLDER_MENU_NEW_SUBFOLDER]=QObject::tr("Create new subfolder",contextName); | ||
622 | } | ||
623 | if (folder->getDisplayName().lower()!="inbox") { | ||
624 | e[FOLDER_MENU_DELETE_FOLDER]=QObject::tr("Delete folder",contextName); | ||
625 | } | ||
626 | return e; | ||
652 | } | 627 | } |
@@ -668,3 +643,3 @@ void IMAPfolderItem::createNewFolder() | |||
668 | 643 | ||
669 | void IMAPfolderItem::deleteFolder() | 644 | bool IMAPfolderItem::deleteFolder() |
670 | { | 645 | { |
@@ -688,4 +663,6 @@ void IMAPfolderItem::deleteFolder() | |||
688 | } | 663 | } |
664 | return true; | ||
689 | } | 665 | } |
690 | } | 666 | } |
667 | return false; | ||
691 | } | 668 | } |
@@ -699,3 +676,3 @@ void IMAPfolderItem::downloadMails() | |||
699 | 676 | ||
700 | void IMAPfolderItem::contextMenuSelected(int id) | 677 | bool IMAPfolderItem::contextMenuSelected(int id) |
701 | { | 678 | { |
@@ -718,3 +695,3 @@ void IMAPfolderItem::contextMenuSelected(int id) | |||
718 | if (folder->getDisplayName().lower()!="inbox") { | 695 | if (folder->getDisplayName().lower()!="inbox") { |
719 | deleteFolder(); | 696 | return deleteFolder(); |
720 | } | 697 | } |
@@ -727,2 +704,3 @@ void IMAPfolderItem::contextMenuSelected(int id) | |||
727 | } | 704 | } |
705 | return false; | ||
728 | } | 706 | } |
@@ -814,13 +792,17 @@ RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) | |||
814 | 792 | ||
815 | QPopupMenu * MHviewItem::getContextMenu() | 793 | QMap<int,QString> MHviewItem::serverMenu() |
816 | { | 794 | { |
817 | QPopupMenu *m = new QPopupMenu(0); | 795 | QMap<int,QString> e; |
818 | if (m) | 796 | e[SERVER_MENU_REFRESH_FOLDER]=QObject::tr("Refresh folder list",contextName); |
819 | { | 797 | return e; |
820 | m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER); | 798 | } |
821 | m->insertItem(QObject::tr("Create new folder",contextName),FOLDER_MENU_NEW_SUBFOLDER); | 799 | |
822 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | 800 | QMap<int,QString> MHviewItem::folderMenu() |
823 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS); | 801 | { |
824 | } | 802 | QMap<int,QString> e; |
825 | return m; | 803 | e[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
804 | e[FOLDER_MENU_NEW_SUBFOLDER]=QObject::tr("Create new folder",contextName); | ||
805 | e[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); | ||
806 | e[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copie all mails",contextName); | ||
807 | return e; | ||
826 | } | 808 | } |
@@ -852,3 +834,3 @@ QStringList MHviewItem::subFolders() | |||
852 | 834 | ||
853 | void MHviewItem::contextMenuSelected(int which) | 835 | bool MHviewItem::contextMenuSelected(int which) |
854 | { | 836 | { |
@@ -877,2 +859,3 @@ void MHviewItem::contextMenuSelected(int which) | |||
877 | } | 859 | } |
860 | return false; | ||
878 | } | 861 | } |
@@ -940,3 +923,3 @@ RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail) | |||
940 | 923 | ||
941 | void MHfolderItem::deleteFolder() | 924 | bool MHfolderItem::deleteFolder() |
942 | { | 925 | { |
@@ -960,18 +943,17 @@ void MHfolderItem::deleteFolder() | |||
960 | } | 943 | } |
944 | return true; | ||
961 | } | 945 | } |
962 | } | 946 | } |
947 | return false; | ||
963 | } | 948 | } |
964 | 949 | ||
965 | QPopupMenu * MHfolderItem::getContextMenu() | 950 | QMap<int,QString> MHfolderItem::folderMenu() |
966 | { | 951 | { |
967 | QPopupMenu *m = new QPopupMenu(0); | 952 | QMap<int,QString> e; |
968 | if (m) | 953 | e[FOLDER_MENU_NEW_SUBFOLDER]=QObject::tr("Create new subfolder",contextName); |
969 | { | 954 | e[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
970 | m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER); | 955 | e[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copie all mails",contextName); |
971 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | 956 | e[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); |
972 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS); | 957 | e[FOLDER_MENU_DELETE_FOLDER]=QObject::tr("Delete folder",contextName); |
973 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | 958 | return e; |
974 | m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER); | ||
975 | } | ||
976 | return m; | ||
977 | } | 959 | } |
@@ -1006,3 +988,3 @@ void MHfolderItem::createFolder() | |||
1006 | 988 | ||
1007 | void MHfolderItem::contextMenuSelected(int which) | 989 | bool MHfolderItem::contextMenuSelected(int which) |
1008 | { | 990 | { |
@@ -1015,3 +997,3 @@ void MHfolderItem::contextMenuSelected(int which) | |||
1015 | case FOLDER_MENU_DELETE_FOLDER: | 997 | case FOLDER_MENU_DELETE_FOLDER: |
1016 | deleteFolder(); | 998 | return deleteFolder(); |
1017 | break; | 999 | break; |
@@ -1030,2 +1012,3 @@ void MHfolderItem::contextMenuSelected(int which) | |||
1030 | } | 1012 | } |
1013 | return false; | ||
1031 | } | 1014 | } |
@@ -1152 +1135,30 @@ bool AccountViewItem::isDraftfolder() | |||
1152 | } | 1135 | } |
1136 | |||
1137 | QMap<int,QString> AccountViewItem::serverMenu() | ||
1138 | { | ||
1139 | return QMap<int,QString>(); | ||
1140 | } | ||
1141 | |||
1142 | QMap<int,QString> AccountViewItem::folderMenu() | ||
1143 | { | ||
1144 | return QMap<int,QString>(); | ||
1145 | } | ||
1146 | |||
1147 | QPopupMenu * AccountViewItem::getContextMenu() | ||
1148 | { | ||
1149 | QPopupMenu *m = new QPopupMenu(0); | ||
1150 | if (m) | ||
1151 | { | ||
1152 | QMap<int,QString> entries; | ||
1153 | entries = folderMenu(); | ||
1154 | QMap<int,QString>::Iterator it; | ||
1155 | for (it=entries.begin();it!=entries.end();++it) { | ||
1156 | m->insertItem(it.data(),it.key()); | ||
1157 | } | ||
1158 | entries = serverMenu(); | ||
1159 | for (it=entries.begin();it!=entries.end();++it) { | ||
1160 | m->insertItem(it.data(),it.key()); | ||
1161 | } | ||
1162 | } | ||
1163 | return m; | ||
1164 | } | ||