summaryrefslogtreecommitdiffabout
path: root/kmicromail/accountitem.cpp
Unidiff
Diffstat (limited to 'kmicromail/accountitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/accountitem.cpp97
1 files changed, 49 insertions, 48 deletions
diff --git a/kmicromail/accountitem.cpp b/kmicromail/accountitem.cpp
index 49d86fc..567de87 100644
--- a/kmicromail/accountitem.cpp
+++ b/kmicromail/accountitem.cpp
@@ -1,41 +1,42 @@
1 1
2#include "accountitem.h" 2#include "accountitem.h"
3#include "accountview.h" 3#include "accountview.h"
4#include "newmaildir.h" 4#include "newmaildir.h"
5#include "nntpgroupsdlg.h" 5#include "nntpgroupsdlg.h"
6#include "defines.h" 6#include "defines.h"
7 7
8#include <libmailwrapper/mailtypes.h> 8#include <libmailwrapper/mailtypes.h>
9#include <libmailwrapper/abstractmail.h> 9#include <libmailwrapper/abstractmail.h>
10#include <libmailwrapper/mailwrapper.h> 10#include <libmailwrapper/mailwrapper.h>
11/* OPIE */ 11/* OPIE */
12//#include <qpe/qpeapplication.h> 12//#include <qpe/qpeapplication.h>
13 13
14/* QT */ 14/* QT */
15#include <qpopupmenu.h> 15#include <qpopupmenu.h>
16#include <qmessagebox.h> 16#include <qmessagebox.h>
17#include <kiconloader.h> 17#include <kiconloader.h>
18#include <klocale.h>
18 19
19#define GET_NEW_MAILS 101 20#define GET_NEW_MAILS 101
20 21
21using namespace Opie::Core; 22using namespace Opie::Core;
22#define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );} 23#define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );}
23/** 24/**
24 * POP3 Account stuff 25 * POP3 Account stuff
25 */ 26 */
26POP3viewItem::POP3viewItem( POP3account *a, AccountView *parent ) 27POP3viewItem::POP3viewItem( POP3account *a, AccountView *parent )
27 : AccountViewItem( parent ) 28 : AccountViewItem( parent )
28{ 29{
29 account = a; 30 account = a;
30 wrapper = AbstractMail::getWrapper( account ); 31 wrapper = AbstractMail::getWrapper( account );
31 SETPIX(PIXMAP_POP3FOLDER); 32 SETPIX(PIXMAP_POP3FOLDER);
32#if 0 33#if 0
33 if (!account->getOffline()) 34 if (!account->getOffline())
34 { 35 {
35 setPixmap( 0, ); 36 setPixmap( 0, );
36 } 37 }
37 else 38 else
38 { 39 {
39 setPixmap( 0, PIXMAP_OFFLINE ); 40 setPixmap( 0, PIXMAP_OFFLINE );
40 } 41 }
41#endif 42#endif
@@ -71,56 +72,56 @@ void POP3viewItem::refresh()
71 } 72 }
72 QValueList<FolderP>::ConstIterator it; 73 QValueList<FolderP>::ConstIterator it;
73 QListViewItem*item = 0; 74 QListViewItem*item = 0;
74 for ( it = folders->begin(); it!=folders->end(); ++it) 75 for ( it = folders->begin(); it!=folders->end(); ++it)
75 { 76 {
76 item = new POP3folderItem( (*it), this , item ); 77 item = new POP3folderItem( (*it), this , item );
77 item->setSelectable( (*it)->may_select()); 78 item->setSelectable( (*it)->may_select());
78 } 79 }
79 delete folders; 80 delete folders;
80} 81}
81 82
82RECBODYP POP3viewItem::fetchBody( const RecMailP &mail ) 83RECBODYP POP3viewItem::fetchBody( const RecMailP &mail )
83{ 84{
84 85
85 return wrapper->fetchBody( mail ); 86 return wrapper->fetchBody( mail );
86} 87}
87 88
88QPopupMenu * POP3viewItem::getContextMenu() 89QPopupMenu * POP3viewItem::getContextMenu()
89{ 90{
90 QPopupMenu *m = new QPopupMenu(0); 91 QPopupMenu *m = new QPopupMenu(0);
91 if (m) 92 if (m)
92 { 93 {
93 if (!account->getOffline()) 94 if (!account->getOffline())
94 { 95 {
95 m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); 96 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
96 m->insertItem(QObject::tr("Disconnect",contextName),0); 97 m->insertItem(i18n("Disconnect"),0);
97 m->insertItem(QObject::tr("Set offline",contextName),1); 98 m->insertItem(i18n("Set offline"),1);
98 } 99 }
99 else 100 else
100 { 101 {
101 m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); 102 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
102 m->insertItem(QObject::tr("Set online",contextName),1); 103 m->insertItem(i18n("Set online"),1);
103 } 104 }
104 } 105 }
105 return m; 106 return m;
106} 107}
107 108
108void POP3viewItem::disconnect() 109void POP3viewItem::disconnect()
109{ 110{
110 QListViewItem *child = firstChild(); 111 QListViewItem *child = firstChild();
111 while ( child ) 112 while ( child )
112 { 113 {
113 QListViewItem *tmp = child; 114 QListViewItem *tmp = child;
114 child = child->nextSibling(); 115 child = child->nextSibling();
115 delete tmp; 116 delete tmp;
116 } 117 }
117 wrapper->logout(); 118 wrapper->logout();
118} 119}
119 120
120void POP3viewItem::setOnOffline() 121void POP3viewItem::setOnOffline()
121{ 122{
122 if (!account->getOffline()) 123 if (!account->getOffline())
123 { 124 {
124 disconnect(); 125 disconnect();
125 } 126 }
126 account->setOffline(!account->getOffline()); 127 account->setOffline(!account->getOffline());
@@ -166,52 +167,52 @@ POP3folderItem::POP3folderItem( const FolderP&folderInit, POP3viewItem *parent ,
166 } 167 }
167 else 168 else
168 { 169 {
169 setPixmap( 0, PIXMAP_INBOXFOLDER); 170 setPixmap( 0, PIXMAP_INBOXFOLDER);
170 } 171 }
171 setText( 0, folder->getDisplayName() ); 172 setText( 0, folder->getDisplayName() );
172} 173}
173 174
174void POP3folderItem::refresh(QValueList<RecMailP>&target) 175void POP3folderItem::refresh(QValueList<RecMailP>&target)
175{ 176{
176 if (folder->may_select()) 177 if (folder->may_select())
177 pop3->getWrapper()->listMessages( folder->getName(),target ); 178 pop3->getWrapper()->listMessages( folder->getName(),target );
178} 179}
179 180
180RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) 181RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail)
181{ 182{
182 return pop3->getWrapper()->fetchBody(aMail); 183 return pop3->getWrapper()->fetchBody(aMail);
183} 184}
184 185
185QPopupMenu * POP3folderItem::getContextMenu() 186QPopupMenu * POP3folderItem::getContextMenu()
186{ 187{
187 QPopupMenu *m = new QPopupMenu(0); 188 QPopupMenu *m = new QPopupMenu(0);
188 if (m) 189 if (m)
189 { 190 {
190 m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); 191 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
191 m->insertItem(QObject::tr("Refresh header list",contextName),0); 192 m->insertItem(i18n("Refresh header list"),0);
192 m->insertItem(QObject::tr("Delete all mails",contextName),1); 193 m->insertItem(i18n("Delete all mails"),1);
193 m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); 194 m->insertItem(i18n("Move/Copie all mails"),2);
194 } 195 }
195 return m; 196 return m;
196} 197}
197 198
198void POP3folderItem::downloadMails() 199void POP3folderItem::downloadMails()
199{ 200{
200 AccountView*bl = pop3->accountView(); 201 AccountView*bl = pop3->accountView();
201 if (!bl) return; 202 if (!bl) return;
202 bl->downloadMails(folder,pop3->getWrapper()); 203 bl->downloadMails(folder,pop3->getWrapper());
203} 204}
204 205
205void POP3folderItem::contextMenuSelected(int which) 206void POP3folderItem::contextMenuSelected(int which)
206{ 207{
207 AccountView * view = (AccountView*)listView(); 208 AccountView * view = (AccountView*)listView();
208 switch (which) 209 switch (which)
209 { 210 {
210 case 0: 211 case 0:
211 /* must be 'cause pop3 lists are cached */ 212 /* must be 'cause pop3 lists are cached */
212 pop3->getWrapper()->logout(); 213 pop3->getWrapper()->logout();
213 view->refreshCurrent(); 214 view->refreshCurrent();
214 break; 215 break;
215 case 1: 216 case 1:
216 deleteAllMail(pop3->getWrapper(),folder); 217 deleteAllMail(pop3->getWrapper(),folder);
217 break; 218 break;
@@ -279,55 +280,55 @@ void NNTPviewItem::refresh()
279 } 280 }
280 QValueList<FolderP>::ConstIterator it; 281 QValueList<FolderP>::ConstIterator it;
281 QListViewItem*item = 0; 282 QListViewItem*item = 0;
282 for ( it = folders->begin(); it!=folders->end(); ++it) 283 for ( it = folders->begin(); it!=folders->end(); ++it)
283 { 284 {
284 item = new NNTPfolderItem( (*it), this , item ); 285 item = new NNTPfolderItem( (*it), this , item );
285 item->setSelectable( (*it)->may_select()); 286 item->setSelectable( (*it)->may_select());
286 } 287 }
287 delete folders; 288 delete folders;
288} 289}
289 290
290RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) 291RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail )
291{ 292{
292 293
293 return wrapper->fetchBody( mail ); 294 return wrapper->fetchBody( mail );
294} 295}
295 296
296QPopupMenu * NNTPviewItem::getContextMenu() 297QPopupMenu * NNTPviewItem::getContextMenu()
297{ 298{
298 QPopupMenu *m = new QPopupMenu(0); 299 QPopupMenu *m = new QPopupMenu(0);
299 if (m) 300 if (m)
300 { 301 {
301 if (!account->getOffline()) 302 if (!account->getOffline())
302 { 303 {
303 m->insertItem(QObject::tr("Disconnect",contextName),0); 304 m->insertItem(i18n("Disconnect"),0);
304 m->insertItem(QObject::tr("Set offline",contextName),1); 305 m->insertItem(i18n("Set offline"),1);
305 //m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),2); 306 //m->insertItem(i18n("(Un-)Subscribe groups"),2);
306 } 307 }
307 else 308 else
308 { 309 {
309 m->insertItem(QObject::tr("Set online",contextName),1); 310 m->insertItem(i18n("Set online"),1);
310 } 311 }
311 } 312 }
312 return m; 313 return m;
313} 314}
314 315
315void NNTPviewItem::subscribeGroups() 316void NNTPviewItem::subscribeGroups()
316{ 317{
317 NNTPGroupsDlg dlg(account); 318 NNTPGroupsDlg dlg(account);
318 dlg.showMaximized(); 319 dlg.showMaximized();
319 if ( dlg.exec()== QDialog::Accepted ){ 320 if ( dlg.exec()== QDialog::Accepted ){
320 refresh(); 321 refresh();
321 } 322 }
322} 323}
323 324
324void NNTPviewItem::disconnect() 325void NNTPviewItem::disconnect()
325{ 326{
326 QListViewItem *child = firstChild(); 327 QListViewItem *child = firstChild();
327 while ( child ) 328 while ( child )
328 { 329 {
329 QListViewItem *tmp = child; 330 QListViewItem *tmp = child;
330 child = child->nextSibling(); 331 child = child->nextSibling();
331 delete tmp; 332 delete tmp;
332 } 333 }
333 wrapper->logout(); 334 wrapper->logout();
@@ -375,50 +376,50 @@ NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent
375 } 376 }
376 else 377 else
377 { 378 {
378 setPixmap( 0, PIXMAP_INBOXFOLDER); 379 setPixmap( 0, PIXMAP_INBOXFOLDER);
379 } 380 }
380 setText( 0, folder->getDisplayName() ); 381 setText( 0, folder->getDisplayName() );
381} 382}
382 383
383void NNTPfolderItem::refresh(QValueList<RecMailP>&target) 384void NNTPfolderItem::refresh(QValueList<RecMailP>&target)
384{ 385{
385 if (folder->may_select()) 386 if (folder->may_select())
386 nntp->getWrapper()->listMessages( folder->getName(),target ); 387 nntp->getWrapper()->listMessages( folder->getName(),target );
387} 388}
388 389
389RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) 390RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail)
390{ 391{
391 return nntp->getWrapper()->fetchBody(aMail); 392 return nntp->getWrapper()->fetchBody(aMail);
392} 393}
393 394
394QPopupMenu * NNTPfolderItem::getContextMenu() 395QPopupMenu * NNTPfolderItem::getContextMenu()
395{ 396{
396 QPopupMenu *m = new QPopupMenu(0); 397 QPopupMenu *m = new QPopupMenu(0);
397 if (m) 398 if (m)
398 { 399 {
399 m->insertItem(QObject::tr("Refresh header list",contextName),0); 400 m->insertItem(i18n("Refresh header list"),0);
400 m->insertItem(QObject::tr("Copy all postings",contextName),1); 401 m->insertItem(i18n("Copy all postings"),1);
401 } 402 }
402 return m; 403 return m;
403} 404}
404 405
405void NNTPfolderItem::downloadMails() 406void NNTPfolderItem::downloadMails()
406{ 407{
407 AccountView*bl = nntp->accountView(); 408 AccountView*bl = nntp->accountView();
408 if (!bl) return; 409 if (!bl) return;
409 bl->downloadMails(folder,nntp->getWrapper()); 410 bl->downloadMails(folder,nntp->getWrapper());
410} 411}
411 412
412void NNTPfolderItem::contextMenuSelected(int which) 413void NNTPfolderItem::contextMenuSelected(int which)
413{ 414{
414 AccountView * view = (AccountView*)listView(); 415 AccountView * view = (AccountView*)listView();
415 switch (which) 416 switch (which)
416 { 417 {
417 case 0: 418 case 0:
418 /* must be 'cause pop3 lists are cached */ 419 /* must be 'cause pop3 lists are cached */
419 nntp->getWrapper()->logout(); 420 nntp->getWrapper()->logout();
420 view->refreshCurrent(); 421 view->refreshCurrent();
421 break; 422 break;
422 case 1: 423 case 1:
423 downloadMails(); 424 downloadMails();
424 break; 425 break;
@@ -496,60 +497,60 @@ void IMAPviewItem::refreshFolders(bool force)
496 IMAPfolderItem*pitem = (IMAPfolderItem*)findSubItem(fname); 497 IMAPfolderItem*pitem = (IMAPfolderItem*)findSubItem(fname);
497 if (pitem) 498 if (pitem)
498 { 499 {
499 titem = item; 500 titem = item;
500 item = new IMAPfolderItem( (*it),pitem,pitem->firstChild(),this); 501 item = new IMAPfolderItem( (*it),pitem,pitem->firstChild(),this);
501 /* setup the short name */ 502 /* setup the short name */
502 item->setText(0,(*it)->getDisplayName().mid(pos+1)); 503 item->setText(0,(*it)->getDisplayName().mid(pos+1));
503 item = titem; 504 item = titem;
504 } 505 }
505 else 506 else
506 { 507 {
507 item = new IMAPfolderItem( (*it), this , item ); 508 item = new IMAPfolderItem( (*it), this , item );
508 } 509 }
509 } 510 }
510 delete folders; 511 delete folders;
511} 512}
512 513
513QPopupMenu * IMAPviewItem::getContextMenu() 514QPopupMenu * IMAPviewItem::getContextMenu()
514{ 515{
515 QPopupMenu *m = new QPopupMenu(0); 516 QPopupMenu *m = new QPopupMenu(0);
516 if (m) 517 if (m)
517 { 518 {
518 if (!account->getOffline()) 519 if (!account->getOffline())
519 { 520 {
520 m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); 521 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
521 m->insertItem(QObject::tr("Refresh folder list",contextName),0); 522 m->insertItem(i18n("Refresh folder list"),0);
522 m->insertItem(QObject::tr("Create new folder",contextName),1); 523 m->insertItem(i18n("Create new folder"),1);
523 m->insertSeparator(); 524 m->insertSeparator();
524 m->insertItem(QObject::tr("Disconnect",contextName),2); 525 m->insertItem(i18n("Disconnect"),2);
525 m->insertItem(QObject::tr("Set offline",contextName),3); 526 m->insertItem(i18n("Set offline"),3);
526 m->insertSeparator(); 527 m->insertSeparator();
527 } 528 }
528 else 529 else
529 { 530 {
530 m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); 531 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
531 m->insertItem(QObject::tr("Set online",contextName),3); 532 m->insertItem(i18n("Set online"),3);
532 } 533 }
533 } 534 }
534 return m; 535 return m;
535} 536}
536 537
537void IMAPviewItem::createNewFolder() 538void IMAPviewItem::createNewFolder()
538{ 539{
539 Newmdirdlg ndirdlg; 540 Newmdirdlg ndirdlg;
540 541
541 ndirdlg.showMaximized(); 542 ndirdlg.showMaximized();
542 if ( ndirdlg.exec() ) 543 if ( ndirdlg.exec() )
543 { 544 {
544 QString ndir = ndirdlg.Newdir(); 545 QString ndir = ndirdlg.Newdir();
545 bool makesubs = ndirdlg.subpossible(); 546 bool makesubs = ndirdlg.subpossible();
546 QString delemiter = "/"; 547 QString delemiter = "/";
547 IMAPfolderItem*item = (IMAPfolderItem*)firstChild(); 548 IMAPfolderItem*item = (IMAPfolderItem*)firstChild();
548 if (item) 549 if (item)
549 { 550 {
550 delemiter = item->Delemiter(); 551 delemiter = item->Delemiter();
551 } 552 }
552 if (wrapper->createMbox(ndir,0,delemiter,makesubs)) 553 if (wrapper->createMbox(ndir,0,delemiter,makesubs))
553 { 554 {
554 refreshFolders(true); 555 refreshFolders(true);
555 } 556 }
@@ -651,87 +652,87 @@ const QString& IMAPfolderItem::Delemiter()const
651void IMAPfolderItem::refresh(QValueList<RecMailP>&target) 652void IMAPfolderItem::refresh(QValueList<RecMailP>&target)
652{ 653{
653 if (folder->may_select()) 654 if (folder->may_select())
654 { 655 {
655 imap->getWrapper()->listMessages( folder->getName(),target ); 656 imap->getWrapper()->listMessages( folder->getName(),target );
656 } 657 }
657 else 658 else
658 { 659 {
659 target.clear(); 660 target.clear();
660 } 661 }
661} 662}
662 663
663RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) 664RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail)
664{ 665{
665 return imap->getWrapper()->fetchBody(aMail); 666 return imap->getWrapper()->fetchBody(aMail);
666} 667}
667 668
668QPopupMenu * IMAPfolderItem::getContextMenu() 669QPopupMenu * IMAPfolderItem::getContextMenu()
669{ 670{
670 QPopupMenu *m = new QPopupMenu(0); 671 QPopupMenu *m = new QPopupMenu(0);
671 if (m) 672 if (m)
672 { 673 {
673 if (folder->may_select()) 674 if (folder->may_select())
674 { 675 {
675 m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); 676 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
676 m->insertItem(QObject::tr("Refresh header list",contextName),0); 677 m->insertItem(i18n("Refresh header list"),0);
677 m->insertItem(QObject::tr("Move/Copie all mails",contextName),4); 678 m->insertItem(i18n("Move/Copie all mails"),4);
678 m->insertItem(QObject::tr("Delete all mails",contextName),1); 679 m->insertItem(i18n("Delete all mails"),1);
679 } 680 }
680 if (folder->no_inferior()==false) 681 if (folder->no_inferior()==false)
681 { 682 {
682 m->insertItem(QObject::tr("Create new subfolder",contextName),2); 683 m->insertItem(i18n("Create new subfolder"),2);
683 } 684 }
684 if (folder->getDisplayName().lower()!="inbox") 685 if (folder->getDisplayName().lower()!="inbox")
685 { 686 {
686 m->insertItem(QObject::tr("Delete folder",contextName),3); 687 m->insertItem(i18n("Delete folder"),3);
687 } 688 }
688 } 689 }
689 return m; 690 return m;
690} 691}
691 692
692void IMAPfolderItem::createNewFolder() 693void IMAPfolderItem::createNewFolder()
693{ 694{
694 Newmdirdlg ndirdlg; 695 Newmdirdlg ndirdlg;
695 ndirdlg.showMaximized(); 696 ndirdlg.showMaximized();
696 if ( ndirdlg.exec() ) 697 if ( ndirdlg.exec() )
697 { 698 {
698 QString ndir = ndirdlg.Newdir(); 699 QString ndir = ndirdlg.Newdir();
699 bool makesubs = ndirdlg.subpossible(); 700 bool makesubs = ndirdlg.subpossible();
700 QString delemiter = Delemiter(); 701 QString delemiter = Delemiter();
701 if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) 702 if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs))
702 { 703 {
703 imap->refreshFolders(true); 704 imap->refreshFolders(true);
704 } 705 }
705 } 706 }
706} 707}
707 708
708void IMAPfolderItem::deleteFolder() 709void IMAPfolderItem::deleteFolder()
709{ 710{
710 int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), 711 int yesno = QMessageBox::warning(0,i18n("Delete folder"),
711 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), 712 i18n("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>").arg(folder->getDisplayName()),
712 QObject::tr("Yes",contextName), 713 i18n("Yes"),
713 QObject::tr("No",contextName),QString::null,1,1); 714 i18n("No"),QString::null,1,1);
714 715
715 if (yesno == 0) 716 if (yesno == 0)
716 { 717 {
717 if (imap->getWrapper()->deleteMbox(folder)) 718 if (imap->getWrapper()->deleteMbox(folder))
718 { 719 {
719 QListView*v=listView(); 720 QListView*v=listView();
720 IMAPviewItem * box = imap; 721 IMAPviewItem * box = imap;
721 /* be carefull - after that this object is destroyd so don't use 722 /* be carefull - after that this object is destroyd so don't use
722 * any member of it after that call!!*/ 723 * any member of it after that call!!*/
723 imap->refreshFolders(true); 724 imap->refreshFolders(true);
724 if (v) 725 if (v)
725 { 726 {
726 v->setSelected(box,true); 727 v->setSelected(box,true);
727 } 728 }
728 } 729 }
729 } 730 }
730} 731}
731 732
732void IMAPfolderItem::downloadMails() 733void IMAPfolderItem::downloadMails()
733{ 734{
734 AccountView*bl = imap->accountView(); 735 AccountView*bl = imap->accountView();
735 if (!bl) return; 736 if (!bl) return;
736 bl->downloadMails(folder,imap->getWrapper()); 737 bl->downloadMails(folder,imap->getWrapper());
737} 738}
@@ -836,52 +837,52 @@ void MHviewItem::refresh(bool force)
836 if (pmaster) 837 if (pmaster)
837 { 838 {
838 item = new MHfolderItem( (*it), pmaster, item, this ); 839 item = new MHfolderItem( (*it), pmaster, item, this );
839 } 840 }
840 else 841 else
841 { 842 {
842 item = new MHfolderItem( (*it), this , item ); 843 item = new MHfolderItem( (*it), this , item );
843 } 844 }
844 item->setSelectable((*it)->may_select()); 845 item->setSelectable((*it)->may_select());
845 } 846 }
846 delete folders; 847 delete folders;
847} 848}
848 849
849RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) 850RECBODYP MHviewItem::fetchBody( const RecMailP &mail )
850{ 851{
851 852
852 return wrapper->fetchBody( mail ); 853 return wrapper->fetchBody( mail );
853} 854}
854 855
855QPopupMenu * MHviewItem::getContextMenu() 856QPopupMenu * MHviewItem::getContextMenu()
856{ 857{
857 QPopupMenu *m = new QPopupMenu(0); 858 QPopupMenu *m = new QPopupMenu(0);
858 if (m) 859 if (m)
859 { 860 {
860 m->insertItem(QObject::tr("Refresh folder list",contextName),0); 861 m->insertItem(i18n("Refresh folder list"),0);
861 m->insertItem(QObject::tr("Create new folder",contextName),1); 862 m->insertItem(i18n("Create new folder"),1);
862 m->insertItem(QObject::tr("Delete all mails",contextName),2); 863 m->insertItem(i18n("Delete all mails"),2);
863 m->insertItem(QObject::tr("Move/Copie all mails",contextName),3); 864 m->insertItem(i18n("Move/Copie all mails"),3);
864 } 865 }
865 return m; 866 return m;
866} 867}
867 868
868void MHviewItem::createFolder() 869void MHviewItem::createFolder()
869{ 870{
870 Newmdirdlg ndirdlg(0,0,true); 871 Newmdirdlg ndirdlg(0,0,true);
871 ndirdlg.showMaximized(); 872 ndirdlg.showMaximized();
872 if ( ndirdlg.exec() ) 873 if ( ndirdlg.exec() )
873 { 874 {
874 QString ndir = ndirdlg.Newdir(); 875 QString ndir = ndirdlg.Newdir();
875 if (wrapper->createMbox(ndir)) 876 if (wrapper->createMbox(ndir))
876 { 877 {
877 refresh(true); 878 refresh(true);
878 } 879 }
879 } 880 }
880} 881}
881 882
882void MHviewItem::downloadMails() 883void MHviewItem::downloadMails()
883{ 884{
884 AccountView*bl = accountView(); 885 AccountView*bl = accountView();
885 if (!bl) return; 886 if (!bl) return;
886 bl->downloadMails(folder,getWrapper()); 887 bl->downloadMails(folder,getWrapper());
887} 888}
@@ -954,79 +955,79 @@ void MHfolderItem::initName()
954 } else { 955 } else {
955 setPixmap( 0, PIXMAP_MBOXFOLDER ); 956 setPixmap( 0, PIXMAP_MBOXFOLDER );
956 } 957 }
957 setText( 0, bName ); 958 setText( 0, bName );
958} 959}
959 960
960const FolderP&MHfolderItem::getFolder()const 961const FolderP&MHfolderItem::getFolder()const
961{ 962{
962 return folder; 963 return folder;
963} 964}
964 965
965void MHfolderItem::refresh(QValueList<RecMailP>&target) 966void MHfolderItem::refresh(QValueList<RecMailP>&target)
966{ 967{
967 if (folder->may_select()) 968 if (folder->may_select())
968 mbox->getWrapper()->listMessages( folder->getName(),target ); 969 mbox->getWrapper()->listMessages( folder->getName(),target );
969} 970}
970 971
971RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail) 972RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail)
972{ 973{
973 return mbox->getWrapper()->fetchBody(aMail); 974 return mbox->getWrapper()->fetchBody(aMail);
974} 975}
975 976
976void MHfolderItem::deleteFolder() 977void MHfolderItem::deleteFolder()
977{ 978{
978 int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), 979 int yesno = QMessageBox::warning(0,i18n("Delete folder"),
979 QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), 980 i18n("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>").arg(folder->getDisplayName()),
980 QObject::tr("Yes",contextName), 981 i18n("Yes"),
981 QObject::tr("No",contextName),QString::null,1,1); 982 i18n("No"),QString::null,1,1);
982 983
983 if (yesno == 0) 984 if (yesno == 0)
984 { 985 {
985 if (mbox->getWrapper()->deleteMbox(folder)) 986 if (mbox->getWrapper()->deleteMbox(folder))
986 { 987 {
987 QListView*v=listView(); 988 QListView*v=listView();
988 MHviewItem * box = mbox; 989 MHviewItem * box = mbox;
989 /* be carefull - after that this object is destroyd so don't use 990 /* be carefull - after that this object is destroyd so don't use
990 * any member of it after that call!!*/ 991 * any member of it after that call!!*/
991 mbox->refresh(true); 992 mbox->refresh(true);
992 if (v) 993 if (v)
993 { 994 {
994 v->setSelected(box,true); 995 v->setSelected(box,true);
995 } 996 }
996 } 997 }
997 } 998 }
998} 999}
999 1000
1000QPopupMenu * MHfolderItem::getContextMenu() 1001QPopupMenu * MHfolderItem::getContextMenu()
1001{ 1002{
1002 QPopupMenu *m = new QPopupMenu(0); 1003 QPopupMenu *m = new QPopupMenu(0);
1003 if (m) 1004 if (m)
1004 { 1005 {
1005 m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); 1006 m->insertItem(i18n("Move/Copie all mails"),2);
1006 m->insertItem(QObject::tr("Delete all mails",contextName),0); 1007 m->insertItem(i18n("Delete all mails"),0);
1007 m->insertItem(QObject::tr("Create new subfolder",contextName),3); 1008 m->insertItem(i18n("Create new subfolder"),3);
1008 m->insertItem(QObject::tr("Delete folder",contextName),1); 1009 m->insertItem(i18n("Delete folder"),1);
1009 } 1010 }
1010 return m; 1011 return m;
1011} 1012}
1012 1013
1013void MHfolderItem::downloadMails() 1014void MHfolderItem::downloadMails()
1014{ 1015{
1015 AccountView*bl = mbox->accountView(); 1016 AccountView*bl = mbox->accountView();
1016 if (!bl) return; 1017 if (!bl) return;
1017 bl->downloadMails(folder,mbox->getWrapper()); 1018 bl->downloadMails(folder,mbox->getWrapper());
1018} 1019}
1019 1020
1020void MHfolderItem::createFolder() 1021void MHfolderItem::createFolder()
1021{ 1022{
1022 Newmdirdlg ndirdlg(0,0,true); 1023 Newmdirdlg ndirdlg(0,0,true);
1023 ndirdlg.showMaximized(); 1024 ndirdlg.showMaximized();
1024 if (ndirdlg.exec() ) 1025 if (ndirdlg.exec() )
1025 { 1026 {
1026 QString ndir = ndirdlg.Newdir(); 1027 QString ndir = ndirdlg.Newdir();
1027 if (mbox->getWrapper()->createMbox(ndir,folder)) 1028 if (mbox->getWrapper()->createMbox(ndir,folder))
1028 { 1029 {
1029 QListView*v=listView(); 1030 QListView*v=listView();
1030 MHviewItem * box = mbox; 1031 MHviewItem * box = mbox;
1031 /* be carefull - after that this object is destroyd so don't use 1032 /* be carefull - after that this object is destroyd so don't use
1032 * any member of it after that call!!*/ 1033 * any member of it after that call!!*/
@@ -1096,53 +1097,53 @@ AccountViewItem::AccountViewItem( const Opie::Core::OSmartPointer<Folder>&folder
1096{ 1097{
1097 init(); 1098 init();
1098} 1099}
1099 1100
1100void AccountViewItem::init() 1101void AccountViewItem::init()
1101{ 1102{
1102 m_Backlink = 0; 1103 m_Backlink = 0;
1103} 1104}
1104 1105
1105AccountViewItem::~AccountViewItem() 1106AccountViewItem::~AccountViewItem()
1106{ 1107{
1107 folder = 0; 1108 folder = 0;
1108} 1109}
1109 1110
1110AccountView*AccountViewItem::accountView() 1111AccountView*AccountViewItem::accountView()
1111{ 1112{
1112 return m_Backlink; 1113 return m_Backlink;
1113} 1114}
1114 1115
1115void AccountViewItem::deleteAllMail(AbstractMail*wrapper,const FolderP&folder) 1116void AccountViewItem::deleteAllMail(AbstractMail*wrapper,const FolderP&folder)
1116{ 1117{
1117 if (!wrapper) return; 1118 if (!wrapper) return;
1118 QString fname=""; 1119 QString fname="";
1119 if (folder) fname = folder->getDisplayName(); 1120 if (folder) fname = folder->getDisplayName();
1120 int yesno = QMessageBox::warning(0,QObject::tr("Delete all mails",contextName), 1121 int yesno = QMessageBox::warning(0,i18n("Delete all mails"),
1121 QObject::tr("<center>Realy delete all mails in box <br>%1</center>",contextName). 1122 i18n("<center>Realy delete all mails in box <br>%1</center>").
1122 arg(fname), 1123 arg(fname),
1123 QObject::tr("Yes",contextName), 1124 i18n("Yes"),
1124 QObject::tr("No",contextName),QString::null,1,1); 1125 i18n("No"),QString::null,1,1);
1125 1126
1126 if (yesno == 0) 1127 if (yesno == 0)
1127 { 1128 {
1128 if (wrapper->deleteAllMail(folder)) 1129 if (wrapper->deleteAllMail(folder))
1129 { 1130 {
1130 AccountView * view = (AccountView*)listView(); 1131 AccountView * view = (AccountView*)listView();
1131 if (view) view->refreshCurrent(); 1132 if (view) view->refreshCurrent();
1132 } 1133 }
1133 } 1134 }
1134} 1135}
1135 1136
1136void AccountViewItem::removeChilds() 1137void AccountViewItem::removeChilds()
1137{ 1138{
1138 QListViewItem *child = firstChild(); 1139 QListViewItem *child = firstChild();
1139 while ( child ) 1140 while ( child )
1140 { 1141 {
1141 QListViewItem *tmp = child; 1142 QListViewItem *tmp = child;
1142 child = child->nextSibling(); 1143 child = child->nextSibling();
1143 delete tmp; 1144 delete tmp;
1144 } 1145 }
1145} 1146}
1146 1147
1147bool AccountViewItem::matchName(const QString&name)const 1148bool AccountViewItem::matchName(const QString&name)const
1148{ 1149{