summaryrefslogtreecommitdiffabout
path: root/kmicromail/accountitem.cpp
Unidiff
Diffstat (limited to 'kmicromail/accountitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/accountitem.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/kmicromail/accountitem.cpp b/kmicromail/accountitem.cpp
index 567de87..fcb2052 100644
--- a/kmicromail/accountitem.cpp
+++ b/kmicromail/accountitem.cpp
@@ -255,129 +255,131 @@ NNTPviewItem::~NNTPviewItem()
255{ 255{
256 delete wrapper; 256 delete wrapper;
257} 257}
258 258
259AbstractMail *NNTPviewItem::getWrapper() 259AbstractMail *NNTPviewItem::getWrapper()
260{ 260{
261 return wrapper; 261 return wrapper;
262} 262}
263 263
264void NNTPviewItem::refresh( QValueList<RecMailP> & ) 264void NNTPviewItem::refresh( QValueList<RecMailP> & )
265{ 265{
266 refresh(); 266 refresh();
267} 267}
268 268
269void NNTPviewItem::refresh() 269void NNTPviewItem::refresh()
270{ 270{
271 if (account->getOffline()) return; 271 if (account->getOffline()) return;
272 QValueList<FolderP> *folders = wrapper->listFolders(); 272 QValueList<FolderP> *folders = wrapper->listFolders();
273 273
274 QListViewItem *child = firstChild(); 274 QListViewItem *child = firstChild();
275 while ( child ) 275 while ( child )
276 { 276 {
277 QListViewItem *tmp = child; 277 QListViewItem *tmp = child;
278 child = child->nextSibling(); 278 child = child->nextSibling();
279 delete tmp; 279 delete tmp;
280 } 280 }
281 QValueList<FolderP>::ConstIterator it; 281 QValueList<FolderP>::ConstIterator it;
282 QListViewItem*item = 0; 282 QListViewItem*item = 0;
283 for ( it = folders->begin(); it!=folders->end(); ++it) 283 for ( it = folders->begin(); it!=folders->end(); ++it)
284 { 284 {
285 item = new NNTPfolderItem( (*it), this , item ); 285 item = new NNTPfolderItem( (*it), this , item );
286 item->setSelectable( (*it)->may_select()); 286 item->setSelectable( (*it)->may_select());
287 } 287 }
288 delete folders; 288 delete folders;
289} 289}
290 290
291RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) 291RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail )
292{ 292{
293 293
294 return wrapper->fetchBody( mail ); 294 return wrapper->fetchBody( mail );
295} 295}
296 296
297QPopupMenu * NNTPviewItem::getContextMenu() 297QPopupMenu * NNTPviewItem::getContextMenu()
298{ 298{
299 QPopupMenu *m = new QPopupMenu(0); 299 QPopupMenu *m = new QPopupMenu(0);
300 if (m) 300 if (m)
301 { 301 {
302 if (!account->getOffline()) 302 if (!account->getOffline())
303 { 303 {
304 m->insertItem(i18n("Disconnect"),0); 304 m->insertItem(i18n("Disconnect"),0);
305 m->insertItem(i18n("Set offline"),1); 305 m->insertItem(i18n("Set offline"),1);
306 //m->insertItem(i18n("(Un-)Subscribe groups"),2); 306 //m->insertItem(i18n("(Un-)Subscribe groups"),2);
307 } 307 }
308 else 308 else
309 { 309 {
310 m->insertItem(i18n("Set online"),1); 310 m->insertItem(i18n("Set online"),1);
311 } 311 }
312 } 312 }
313 return m; 313 return m;
314} 314}
315 315
316void NNTPviewItem::subscribeGroups() 316void NNTPviewItem::subscribeGroups()
317{ 317{
318 NNTPGroupsDlg dlg(account); 318 NNTPGroupsDlg dlg(account);
319#ifndef DESKTOP_VERSION
319 dlg.showMaximized(); 320 dlg.showMaximized();
321#endif
320 if ( dlg.exec()== QDialog::Accepted ){ 322 if ( dlg.exec()== QDialog::Accepted ){
321 refresh(); 323 refresh();
322 } 324 }
323} 325}
324 326
325void NNTPviewItem::disconnect() 327void NNTPviewItem::disconnect()
326{ 328{
327 QListViewItem *child = firstChild(); 329 QListViewItem *child = firstChild();
328 while ( child ) 330 while ( child )
329 { 331 {
330 QListViewItem *tmp = child; 332 QListViewItem *tmp = child;
331 child = child->nextSibling(); 333 child = child->nextSibling();
332 delete tmp; 334 delete tmp;
333 } 335 }
334 wrapper->logout(); 336 wrapper->logout();
335} 337}
336 338
337void NNTPviewItem::setOnOffline() 339void NNTPviewItem::setOnOffline()
338{ 340{
339 if (!account->getOffline()) 341 if (!account->getOffline())
340 { 342 {
341 disconnect(); 343 disconnect();
342 } 344 }
343 account->setOffline(!account->getOffline()); 345 account->setOffline(!account->getOffline());
344 account->save(); 346 account->save();
345 //FIXME 347 //FIXME
346 SETPIX(PIXMAP_POP3FOLDER); 348 SETPIX(PIXMAP_POP3FOLDER);
347 refresh(); 349 refresh();
348} 350}
349 351
350void NNTPviewItem::contextMenuSelected(int which) 352void NNTPviewItem::contextMenuSelected(int which)
351{ 353{
352 switch (which) 354 switch (which)
353 { 355 {
354 case 0: 356 case 0:
355 disconnect(); 357 disconnect();
356 break; 358 break;
357 case 1: 359 case 1:
358 setOnOffline(); 360 setOnOffline();
359 break; 361 break;
360 case 2: 362 case 2:
361 subscribeGroups(); 363 subscribeGroups();
362 break; 364 break;
363 } 365 }
364} 366}
365 367
366NNTPfolderItem::~NNTPfolderItem() 368NNTPfolderItem::~NNTPfolderItem()
367{} 369{}
368 370
369NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after ) 371NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after )
370 : AccountViewItem( folderInit, parent,after ) 372 : AccountViewItem( folderInit, parent,after )
371{ 373{
372 nntp = parent; 374 nntp = parent;
373 if (folder->getDisplayName().lower()!="inbox") 375 if (folder->getDisplayName().lower()!="inbox")
374 { 376 {
375 setPixmap( 0, PIXMAP_POP3FOLDER ); 377 setPixmap( 0, PIXMAP_POP3FOLDER );
376 } 378 }
377 else 379 else
378 { 380 {
379 setPixmap( 0, PIXMAP_INBOXFOLDER); 381 setPixmap( 0, PIXMAP_INBOXFOLDER);
380 } 382 }
381 setText( 0, folder->getDisplayName() ); 383 setText( 0, folder->getDisplayName() );
382} 384}
383 385
@@ -478,129 +480,131 @@ void IMAPviewItem::refreshFolders(bool force)
478 480
479 for ( it = folders->begin(); it!=folders->end(); ++it) 481 for ( it = folders->begin(); it!=folders->end(); ++it)
480 { 482 {
481 if ((*it)->getDisplayName().lower()=="inbox") 483 if ((*it)->getDisplayName().lower()=="inbox")
482 { 484 {
483 item = new IMAPfolderItem( (*it), this , item ); 485 item = new IMAPfolderItem( (*it), this , item );
484 folders->remove(it); 486 folders->remove(it);
485 break; 487 break;
486 } 488 }
487 } 489 }
488 for ( it = folders->begin(); it!=folders->end(); ++it) 490 for ( it = folders->begin(); it!=folders->end(); ++it)
489 { 491 {
490 fname = (*it)->getDisplayName(); 492 fname = (*it)->getDisplayName();
491 currentFolders.append((*it)->getName()); 493 currentFolders.append((*it)->getName());
492 pos = fname.findRev((*it)->Separator()); 494 pos = fname.findRev((*it)->Separator());
493 if (pos != -1) 495 if (pos != -1)
494 { 496 {
495 fname = fname.left(pos); 497 fname = fname.left(pos);
496 } 498 }
497 IMAPfolderItem*pitem = (IMAPfolderItem*)findSubItem(fname); 499 IMAPfolderItem*pitem = (IMAPfolderItem*)findSubItem(fname);
498 if (pitem) 500 if (pitem)
499 { 501 {
500 titem = item; 502 titem = item;
501 item = new IMAPfolderItem( (*it),pitem,pitem->firstChild(),this); 503 item = new IMAPfolderItem( (*it),pitem,pitem->firstChild(),this);
502 /* setup the short name */ 504 /* setup the short name */
503 item->setText(0,(*it)->getDisplayName().mid(pos+1)); 505 item->setText(0,(*it)->getDisplayName().mid(pos+1));
504 item = titem; 506 item = titem;
505 } 507 }
506 else 508 else
507 { 509 {
508 item = new IMAPfolderItem( (*it), this , item ); 510 item = new IMAPfolderItem( (*it), this , item );
509 } 511 }
510 } 512 }
511 delete folders; 513 delete folders;
512} 514}
513 515
514QPopupMenu * IMAPviewItem::getContextMenu() 516QPopupMenu * IMAPviewItem::getContextMenu()
515{ 517{
516 QPopupMenu *m = new QPopupMenu(0); 518 QPopupMenu *m = new QPopupMenu(0);
517 if (m) 519 if (m)
518 { 520 {
519 if (!account->getOffline()) 521 if (!account->getOffline())
520 { 522 {
521 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS); 523 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
522 m->insertItem(i18n("Refresh folder list"),0); 524 m->insertItem(i18n("Refresh folder list"),0);
523 m->insertItem(i18n("Create new folder"),1); 525 m->insertItem(i18n("Create new folder"),1);
524 m->insertSeparator(); 526 m->insertSeparator();
525 m->insertItem(i18n("Disconnect"),2); 527 m->insertItem(i18n("Disconnect"),2);
526 m->insertItem(i18n("Set offline"),3); 528 m->insertItem(i18n("Set offline"),3);
527 m->insertSeparator(); 529 m->insertSeparator();
528 } 530 }
529 else 531 else
530 { 532 {
531 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS); 533 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
532 m->insertItem(i18n("Set online"),3); 534 m->insertItem(i18n("Set online"),3);
533 } 535 }
534 } 536 }
535 return m; 537 return m;
536} 538}
537 539
538void IMAPviewItem::createNewFolder() 540void IMAPviewItem::createNewFolder()
539{ 541{
540 Newmdirdlg ndirdlg; 542 Newmdirdlg ndirdlg;
541 543
542 ndirdlg.showMaximized(); 544#ifndef DESKTOP_VERSION
545 //ndirdlg.showMaximized();
546#endif
543 if ( ndirdlg.exec() ) 547 if ( ndirdlg.exec() )
544 { 548 {
545 QString ndir = ndirdlg.Newdir(); 549 QString ndir = ndirdlg.Newdir();
546 bool makesubs = ndirdlg.subpossible(); 550 bool makesubs = ndirdlg.subpossible();
547 QString delemiter = "/"; 551 QString delemiter = "/";
548 IMAPfolderItem*item = (IMAPfolderItem*)firstChild(); 552 IMAPfolderItem*item = (IMAPfolderItem*)firstChild();
549 if (item) 553 if (item)
550 { 554 {
551 delemiter = item->Delemiter(); 555 delemiter = item->Delemiter();
552 } 556 }
553 if (wrapper->createMbox(ndir,0,delemiter,makesubs)) 557 if (wrapper->createMbox(ndir,0,delemiter,makesubs))
554 { 558 {
555 refreshFolders(true); 559 refreshFolders(true);
556 } 560 }
557 } 561 }
558} 562}
559 563
560void IMAPviewItem::contextMenuSelected(int id) 564void IMAPviewItem::contextMenuSelected(int id)
561{ 565{
562 566
563 switch (id) 567 switch (id)
564 { 568 {
565 case 0: 569 case 0:
566 refreshFolders(true); 570 refreshFolders(true);
567 break; 571 break;
568 case 1: 572 case 1:
569 createNewFolder(); 573 createNewFolder();
570 break; 574 break;
571 case 2: 575 case 2:
572 removeChilds(); 576 removeChilds();
573 wrapper->logout(); 577 wrapper->logout();
574 break; 578 break;
575 case 3: 579 case 3:
576 if (account->getOffline()==false) 580 if (account->getOffline()==false)
577 { 581 {
578 removeChilds(); 582 removeChilds();
579 wrapper->logout(); 583 wrapper->logout();
580 } 584 }
581 account->setOffline(!account->getOffline()); 585 account->setOffline(!account->getOffline());
582 account->save(); 586 account->save();
583 SETPIX(PIXMAP_IMAPFOLDER); 587 SETPIX(PIXMAP_IMAPFOLDER);
584 refreshFolders(false); 588 refreshFolders(false);
585 break; 589 break;
586 case GET_NEW_MAILS: // daunlood 590 case GET_NEW_MAILS: // daunlood
587 { 591 {
588 if (account->getOffline()) { 592 if (account->getOffline()) {
589 contextMenuSelected( 3 ); 593 contextMenuSelected( 3 );
590 } 594 }
591 AccountView*bl = accountView(); 595 AccountView*bl = accountView();
592 if (!bl) return; 596 if (!bl) return;
593 AccountViewItem* in = findSubItem( "inbox" , 0); 597 AccountViewItem* in = findSubItem( "inbox" , 0);
594 if ( ! in ) 598 if ( ! in )
595 return; 599 return;
596 bl->downloadMailsInbox(in->getFolder(),getWrapper()); 600 bl->downloadMailsInbox(in->getFolder(),getWrapper());
597 } 601 }
598 break; 602 break;
599 default: 603 default:
600 break; 604 break;
601 } 605 }
602} 606}
603 607
604RECBODYP IMAPviewItem::fetchBody(const RecMailP&) 608RECBODYP IMAPviewItem::fetchBody(const RecMailP&)
605{ 609{
606 return new RecBody(); 610 return new RecBody();
@@ -632,129 +636,129 @@ IMAPfolderItem::IMAPfolderItem(const FolderP &folderInit, IMAPfolderItem *parent
632 imap = master; 636 imap = master;
633 if (folder->getDisplayName().lower()!="inbox") 637 if (folder->getDisplayName().lower()!="inbox")
634 { 638 {
635 setPixmap( 0, PIXMAP_IMAPFOLDER ); 639 setPixmap( 0, PIXMAP_IMAPFOLDER );
636 } 640 }
637 else 641 else
638 { 642 {
639 setPixmap( 0, PIXMAP_INBOXFOLDER); 643 setPixmap( 0, PIXMAP_INBOXFOLDER);
640 } 644 }
641 setText( 0, folder->getDisplayName() ); 645 setText( 0, folder->getDisplayName() );
642} 646}
643 647
644IMAPfolderItem::~IMAPfolderItem() 648IMAPfolderItem::~IMAPfolderItem()
645{} 649{}
646 650
647const QString& IMAPfolderItem::Delemiter()const 651const QString& IMAPfolderItem::Delemiter()const
648{ 652{
649 return folder->Separator(); 653 return folder->Separator();
650} 654}
651 655
652void IMAPfolderItem::refresh(QValueList<RecMailP>&target) 656void IMAPfolderItem::refresh(QValueList<RecMailP>&target)
653{ 657{
654 if (folder->may_select()) 658 if (folder->may_select())
655 { 659 {
656 imap->getWrapper()->listMessages( folder->getName(),target ); 660 imap->getWrapper()->listMessages( folder->getName(),target );
657 } 661 }
658 else 662 else
659 { 663 {
660 target.clear(); 664 target.clear();
661 } 665 }
662} 666}
663 667
664RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) 668RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail)
665{ 669{
666 return imap->getWrapper()->fetchBody(aMail); 670 return imap->getWrapper()->fetchBody(aMail);
667} 671}
668 672
669QPopupMenu * IMAPfolderItem::getContextMenu() 673QPopupMenu * IMAPfolderItem::getContextMenu()
670{ 674{
671 QPopupMenu *m = new QPopupMenu(0); 675 QPopupMenu *m = new QPopupMenu(0);
672 if (m) 676 if (m)
673 { 677 {
674 if (folder->may_select()) 678 if (folder->may_select())
675 { 679 {
676 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS); 680 m->insertItem(i18n("Get new messages"),GET_NEW_MAILS);
677 m->insertItem(i18n("Refresh header list"),0); 681 m->insertItem(i18n("Refresh header list"),0);
678 m->insertItem(i18n("Move/Copie all mails"),4); 682 m->insertItem(i18n("Move/Copie all mails"),4);
679 m->insertItem(i18n("Delete all mails"),1); 683 m->insertItem(i18n("Delete all mails"),1);
680 } 684 }
681 if (folder->no_inferior()==false) 685 if (folder->no_inferior()==false)
682 { 686 {
683 m->insertItem(i18n("Create new subfolder"),2); 687 m->insertItem(i18n("Create new subfolder"),2);
684 } 688 }
685 if (folder->getDisplayName().lower()!="inbox") 689 if (folder->getDisplayName().lower()!="inbox")
686 { 690 {
687 m->insertItem(i18n("Delete folder"),3); 691 m->insertItem(i18n("Delete folder"),3);
688 } 692 }
689 } 693 }
690 return m; 694 return m;
691} 695}
692 696
693void IMAPfolderItem::createNewFolder() 697void IMAPfolderItem::createNewFolder()
694{ 698{
695 Newmdirdlg ndirdlg; 699 Newmdirdlg ndirdlg;
696 ndirdlg.showMaximized(); 700 //ndirdlg.showMaximized();
697 if ( ndirdlg.exec() ) 701 if ( ndirdlg.exec() )
698 { 702 {
699 QString ndir = ndirdlg.Newdir(); 703 QString ndir = ndirdlg.Newdir();
700 bool makesubs = ndirdlg.subpossible(); 704 bool makesubs = ndirdlg.subpossible();
701 QString delemiter = Delemiter(); 705 QString delemiter = Delemiter();
702 if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) 706 if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs))
703 { 707 {
704 imap->refreshFolders(true); 708 imap->refreshFolders(true);
705 } 709 }
706 } 710 }
707} 711}
708 712
709void IMAPfolderItem::deleteFolder() 713void IMAPfolderItem::deleteFolder()
710{ 714{
711 int yesno = QMessageBox::warning(0,i18n("Delete folder"), 715 int yesno = QMessageBox::warning(0,i18n("Delete folder"),
712 i18n("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>").arg(folder->getDisplayName()), 716 i18n("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>").arg(folder->getDisplayName()),
713 i18n("Yes"), 717 i18n("Yes"),
714 i18n("No"),QString::null,1,1); 718 i18n("No"),QString::null,1,1);
715 719
716 if (yesno == 0) 720 if (yesno == 0)
717 { 721 {
718 if (imap->getWrapper()->deleteMbox(folder)) 722 if (imap->getWrapper()->deleteMbox(folder))
719 { 723 {
720 QListView*v=listView(); 724 QListView*v=listView();
721 IMAPviewItem * box = imap; 725 IMAPviewItem * box = imap;
722 /* be carefull - after that this object is destroyd so don't use 726 /* be carefull - after that this object is destroyd so don't use
723 * any member of it after that call!!*/ 727 * any member of it after that call!!*/
724 imap->refreshFolders(true); 728 imap->refreshFolders(true);
725 if (v) 729 if (v)
726 { 730 {
727 v->setSelected(box,true); 731 v->setSelected(box,true);
728 } 732 }
729 } 733 }
730 } 734 }
731} 735}
732 736
733void IMAPfolderItem::downloadMails() 737void IMAPfolderItem::downloadMails()
734{ 738{
735 AccountView*bl = imap->accountView(); 739 AccountView*bl = imap->accountView();
736 if (!bl) return; 740 if (!bl) return;
737 bl->downloadMails(folder,imap->getWrapper()); 741 bl->downloadMails(folder,imap->getWrapper());
738} 742}
739 743
740void IMAPfolderItem::contextMenuSelected(int id) 744void IMAPfolderItem::contextMenuSelected(int id)
741{ 745{
742 746
743 AccountView * view = (AccountView*)listView(); 747 AccountView * view = (AccountView*)listView();
744 switch(id) 748 switch(id)
745 { 749 {
746 case 0: 750 case 0:
747 view->refreshCurrent(); 751 view->refreshCurrent();
748 break; 752 break;
749 case 1: 753 case 1:
750 deleteAllMail(imap->getWrapper(),folder); 754 deleteAllMail(imap->getWrapper(),folder);
751 break; 755 break;
752 case 2: 756 case 2:
753 createNewFolder(); 757 createNewFolder();
754 break; 758 break;
755 case 3: 759 case 3:
756 deleteFolder(); 760 deleteFolder();
757 break; 761 break;
758 case 4: 762 case 4:
759 downloadMails(); 763 downloadMails();
760 break; 764 break;
@@ -808,129 +812,129 @@ void MHviewItem::refresh(bool force)
808 removeChilds(); 812 removeChilds();
809 currentFolders.clear(); 813 currentFolders.clear();
810 QValueList<FolderP> *folders = wrapper->listFolders(); 814 QValueList<FolderP> *folders = wrapper->listFolders();
811 QValueList<FolderP>::ConstIterator it; 815 QValueList<FolderP>::ConstIterator it;
812 MHfolderItem*item = 0; 816 MHfolderItem*item = 0;
813 MHfolderItem*pmaster = 0; 817 MHfolderItem*pmaster = 0;
814 QString fname = ""; 818 QString fname = "";
815 int pos; 819 int pos;
816 for ( it = folders->begin(); it!=folders->end(); ++it) 820 for ( it = folders->begin(); it!=folders->end(); ++it)
817 { 821 {
818 fname = (*it)->getDisplayName(); 822 fname = (*it)->getDisplayName();
819 /* this folder itself */ 823 /* this folder itself */
820 if (fname=="/") 824 if (fname=="/")
821 { 825 {
822 currentFolders.append(fname); 826 currentFolders.append(fname);
823 folder = (*it); 827 folder = (*it);
824 continue; 828 continue;
825 } 829 }
826 currentFolders.append(fname); 830 currentFolders.append(fname);
827 pos = fname.findRev("/"); 831 pos = fname.findRev("/");
828 if (pos > 0) 832 if (pos > 0)
829 { 833 {
830 fname = fname.left(pos); 834 fname = fname.left(pos);
831 pmaster = (MHfolderItem*)findSubItem(fname); 835 pmaster = (MHfolderItem*)findSubItem(fname);
832 } 836 }
833 else 837 else
834 { 838 {
835 pmaster = 0; 839 pmaster = 0;
836 } 840 }
837 if (pmaster) 841 if (pmaster)
838 { 842 {
839 item = new MHfolderItem( (*it), pmaster, item, this ); 843 item = new MHfolderItem( (*it), pmaster, item, this );
840 } 844 }
841 else 845 else
842 { 846 {
843 item = new MHfolderItem( (*it), this , item ); 847 item = new MHfolderItem( (*it), this , item );
844 } 848 }
845 item->setSelectable((*it)->may_select()); 849 item->setSelectable((*it)->may_select());
846 } 850 }
847 delete folders; 851 delete folders;
848} 852}
849 853
850RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) 854RECBODYP MHviewItem::fetchBody( const RecMailP &mail )
851{ 855{
852 856
853 return wrapper->fetchBody( mail ); 857 return wrapper->fetchBody( mail );
854} 858}
855 859
856QPopupMenu * MHviewItem::getContextMenu() 860QPopupMenu * MHviewItem::getContextMenu()
857{ 861{
858 QPopupMenu *m = new QPopupMenu(0); 862 QPopupMenu *m = new QPopupMenu(0);
859 if (m) 863 if (m)
860 { 864 {
861 m->insertItem(i18n("Refresh folder list"),0); 865 m->insertItem(i18n("Refresh folder list"),0);
862 m->insertItem(i18n("Create new folder"),1); 866 m->insertItem(i18n("Create new folder"),1);
863 m->insertItem(i18n("Delete all mails"),2); 867 m->insertItem(i18n("Delete all mails"),2);
864 m->insertItem(i18n("Move/Copie all mails"),3); 868 m->insertItem(i18n("Move/Copie all mails"),3);
865 } 869 }
866 return m; 870 return m;
867} 871}
868 872
869void MHviewItem::createFolder() 873void MHviewItem::createFolder()
870{ 874{
871 Newmdirdlg ndirdlg(0,0,true); 875 Newmdirdlg ndirdlg(0,0,true);
872 ndirdlg.showMaximized(); 876 //ndirdlg.showMaximized();
873 if ( ndirdlg.exec() ) 877 if ( ndirdlg.exec() )
874 { 878 {
875 QString ndir = ndirdlg.Newdir(); 879 QString ndir = ndirdlg.Newdir();
876 if (wrapper->createMbox(ndir)) 880 if (wrapper->createMbox(ndir))
877 { 881 {
878 refresh(true); 882 refresh(true);
879 } 883 }
880 } 884 }
881} 885}
882 886
883void MHviewItem::downloadMails() 887void MHviewItem::downloadMails()
884{ 888{
885 AccountView*bl = accountView(); 889 AccountView*bl = accountView();
886 if (!bl) return; 890 if (!bl) return;
887 bl->downloadMails(folder,getWrapper()); 891 bl->downloadMails(folder,getWrapper());
888} 892}
889 893
890QStringList MHviewItem::subFolders() 894QStringList MHviewItem::subFolders()
891{ 895{
892 return currentFolders; 896 return currentFolders;
893} 897}
894 898
895void MHviewItem::contextMenuSelected(int which) 899void MHviewItem::contextMenuSelected(int which)
896{ 900{
897 switch (which) 901 switch (which)
898 { 902 {
899 case 0: 903 case 0:
900 refresh(true); 904 refresh(true);
901 break; 905 break;
902 case 1: 906 case 1:
903 createFolder(); 907 createFolder();
904 break; 908 break;
905 case 2: 909 case 2:
906 deleteAllMail(getWrapper(),folder); 910 deleteAllMail(getWrapper(),folder);
907 break; 911 break;
908 case 3: 912 case 3:
909 downloadMails(); 913 downloadMails();
910 break; 914 break;
911 default: 915 default:
912 break; 916 break;
913 } 917 }
914} 918}
915 919
916MHfolderItem::~MHfolderItem() 920MHfolderItem::~MHfolderItem()
917{} 921{}
918 922
919MHfolderItem::MHfolderItem( const FolderP &folderInit, MHviewItem *parent , QListViewItem*after ) 923MHfolderItem::MHfolderItem( const FolderP &folderInit, MHviewItem *parent , QListViewItem*after )
920 : AccountViewItem(folderInit, parent,after ) 924 : AccountViewItem(folderInit, parent,after )
921{ 925{
922 mbox = parent; 926 mbox = parent;
923 initName(); 927 initName();
924} 928}
925 929
926MHfolderItem::MHfolderItem(const FolderP& folderInit, MHfolderItem *parent, QListViewItem*after, MHviewItem*master) 930MHfolderItem::MHfolderItem(const FolderP& folderInit, MHfolderItem *parent, QListViewItem*after, MHviewItem*master)
927 : AccountViewItem(folderInit, parent,after ) 931 : AccountViewItem(folderInit, parent,after )
928{ 932{
929 folder = folderInit; 933 folder = folderInit;
930 mbox = master; 934 mbox = master;
931 initName(); 935 initName();
932} 936}
933 937
934void MHfolderItem::initName() 938void MHfolderItem::initName()
935{ 939{
936 QString bName = folder->getDisplayName(); 940 QString bName = folder->getDisplayName();
@@ -960,129 +964,129 @@ void MHfolderItem::initName()
960 964
961const FolderP&MHfolderItem::getFolder()const 965const FolderP&MHfolderItem::getFolder()const
962{ 966{
963 return folder; 967 return folder;
964} 968}
965 969
966void MHfolderItem::refresh(QValueList<RecMailP>&target) 970void MHfolderItem::refresh(QValueList<RecMailP>&target)
967{ 971{
968 if (folder->may_select()) 972 if (folder->may_select())
969 mbox->getWrapper()->listMessages( folder->getName(),target ); 973 mbox->getWrapper()->listMessages( folder->getName(),target );
970} 974}
971 975
972RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail) 976RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail)
973{ 977{
974 return mbox->getWrapper()->fetchBody(aMail); 978 return mbox->getWrapper()->fetchBody(aMail);
975} 979}
976 980
977void MHfolderItem::deleteFolder() 981void MHfolderItem::deleteFolder()
978{ 982{
979 int yesno = QMessageBox::warning(0,i18n("Delete folder"), 983 int yesno = QMessageBox::warning(0,i18n("Delete folder"),
980 i18n("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>").arg(folder->getDisplayName()), 984 i18n("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>").arg(folder->getDisplayName()),
981 i18n("Yes"), 985 i18n("Yes"),
982 i18n("No"),QString::null,1,1); 986 i18n("No"),QString::null,1,1);
983 987
984 if (yesno == 0) 988 if (yesno == 0)
985 { 989 {
986 if (mbox->getWrapper()->deleteMbox(folder)) 990 if (mbox->getWrapper()->deleteMbox(folder))
987 { 991 {
988 QListView*v=listView(); 992 QListView*v=listView();
989 MHviewItem * box = mbox; 993 MHviewItem * box = mbox;
990 /* be carefull - after that this object is destroyd so don't use 994 /* be carefull - after that this object is destroyd so don't use
991 * any member of it after that call!!*/ 995 * any member of it after that call!!*/
992 mbox->refresh(true); 996 mbox->refresh(true);
993 if (v) 997 if (v)
994 { 998 {
995 v->setSelected(box,true); 999 v->setSelected(box,true);
996 } 1000 }
997 } 1001 }
998 } 1002 }
999} 1003}
1000 1004
1001QPopupMenu * MHfolderItem::getContextMenu() 1005QPopupMenu * MHfolderItem::getContextMenu()
1002{ 1006{
1003 QPopupMenu *m = new QPopupMenu(0); 1007 QPopupMenu *m = new QPopupMenu(0);
1004 if (m) 1008 if (m)
1005 { 1009 {
1006 m->insertItem(i18n("Move/Copie all mails"),2); 1010 m->insertItem(i18n("Move/Copie all mails"),2);
1007 m->insertItem(i18n("Delete all mails"),0); 1011 m->insertItem(i18n("Delete all mails"),0);
1008 m->insertItem(i18n("Create new subfolder"),3); 1012 m->insertItem(i18n("Create new subfolder"),3);
1009 m->insertItem(i18n("Delete folder"),1); 1013 m->insertItem(i18n("Delete folder"),1);
1010 } 1014 }
1011 return m; 1015 return m;
1012} 1016}
1013 1017
1014void MHfolderItem::downloadMails() 1018void MHfolderItem::downloadMails()
1015{ 1019{
1016 AccountView*bl = mbox->accountView(); 1020 AccountView*bl = mbox->accountView();
1017 if (!bl) return; 1021 if (!bl) return;
1018 bl->downloadMails(folder,mbox->getWrapper()); 1022 bl->downloadMails(folder,mbox->getWrapper());
1019} 1023}
1020 1024
1021void MHfolderItem::createFolder() 1025void MHfolderItem::createFolder()
1022{ 1026{
1023 Newmdirdlg ndirdlg(0,0,true); 1027 Newmdirdlg ndirdlg(0,0,true);
1024 ndirdlg.showMaximized(); 1028 //ndirdlg.showMaximized();
1025 if (ndirdlg.exec() ) 1029 if (ndirdlg.exec() )
1026 { 1030 {
1027 QString ndir = ndirdlg.Newdir(); 1031 QString ndir = ndirdlg.Newdir();
1028 if (mbox->getWrapper()->createMbox(ndir,folder)) 1032 if (mbox->getWrapper()->createMbox(ndir,folder))
1029 { 1033 {
1030 QListView*v=listView(); 1034 QListView*v=listView();
1031 MHviewItem * box = mbox; 1035 MHviewItem * box = mbox;
1032 /* be carefull - after that this object is destroyd so don't use 1036 /* be carefull - after that this object is destroyd so don't use
1033 * any member of it after that call!!*/ 1037 * any member of it after that call!!*/
1034 mbox->refresh(true); 1038 mbox->refresh(true);
1035 if (v) 1039 if (v)
1036 { 1040 {
1037 v->setSelected(box,true); 1041 v->setSelected(box,true);
1038 } 1042 }
1039 } 1043 }
1040 } 1044 }
1041} 1045}
1042 1046
1043void MHfolderItem::contextMenuSelected(int which) 1047void MHfolderItem::contextMenuSelected(int which)
1044{ 1048{
1045 switch(which) 1049 switch(which)
1046 { 1050 {
1047 case 0: 1051 case 0:
1048 deleteAllMail(mbox->getWrapper(),folder); 1052 deleteAllMail(mbox->getWrapper(),folder);
1049 break; 1053 break;
1050 case 1: 1054 case 1:
1051 deleteFolder(); 1055 deleteFolder();
1052 break; 1056 break;
1053 case 2: 1057 case 2:
1054 downloadMails(); 1058 downloadMails();
1055 break; 1059 break;
1056 case 3: 1060 case 3:
1057 createFolder(); 1061 createFolder();
1058 break; 1062 break;
1059 default: 1063 default:
1060 break; 1064 break;
1061 } 1065 }
1062} 1066}
1063 1067
1064bool MHfolderItem::isDraftfolder() 1068bool MHfolderItem::isDraftfolder()
1065{ 1069{
1066 if (folder && folder->getName()==AbstractMail::defaultLocalfolder()+"/"+AbstractMail::draftFolder()) return true; 1070 if (folder && folder->getName()==AbstractMail::defaultLocalfolder()+"/"+AbstractMail::draftFolder()) return true;
1067 return false; 1071 return false;
1068} 1072}
1069 1073
1070/** 1074/**
1071 * Generic stuff 1075 * Generic stuff
1072 */ 1076 */
1073 1077
1074const QString AccountViewItem::contextName="AccountViewItem"; 1078const QString AccountViewItem::contextName="AccountViewItem";
1075 1079
1076AccountViewItem::AccountViewItem( AccountView *parent ) 1080AccountViewItem::AccountViewItem( AccountView *parent )
1077 : QListViewItem( parent ) 1081 : QListViewItem( parent )
1078{ 1082{
1079 init(); 1083 init();
1080 m_Backlink = parent; 1084 m_Backlink = parent;
1081} 1085}
1082 1086
1083AccountViewItem::AccountViewItem( QListViewItem *parent) 1087AccountViewItem::AccountViewItem( QListViewItem *parent)
1084 : QListViewItem( parent),folder(0) 1088 : QListViewItem( parent),folder(0)
1085{ 1089{
1086 init(); 1090 init();
1087} 1091}
1088 1092