Diffstat (limited to 'noncore/net/mail/accountitem.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/accountitem.cpp | 115 |
1 files changed, 54 insertions, 61 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp index 396dcb7..3e12563 100644 --- a/noncore/net/mail/accountitem.cpp +++ b/noncore/net/mail/accountitem.cpp | |||
@@ -57,7 +57,7 @@ void POP3viewItem::refresh( QList<RecMail> & ) | |||
57 | void POP3viewItem::refresh() | 57 | void POP3viewItem::refresh() |
58 | { | 58 | { |
59 | if (account->getOffline()) return; | 59 | if (account->getOffline()) return; |
60 | QList<Folder> *folders = wrapper->listFolders(); | 60 | QValueList<FolderP> *folders = wrapper->listFolders(); |
61 | QListViewItem *child = firstChild(); | 61 | QListViewItem *child = firstChild(); |
62 | while ( child ) | 62 | while ( child ) |
63 | { | 63 | { |
@@ -65,15 +65,13 @@ void POP3viewItem::refresh() | |||
65 | child = child->nextSibling(); | 65 | child = child->nextSibling(); |
66 | delete tmp; | 66 | delete tmp; |
67 | } | 67 | } |
68 | Folder *it; | 68 | QValueList<FolderP>::ConstIterator it; |
69 | QListViewItem*item = 0; | 69 | QListViewItem*item = 0; |
70 | for ( it = folders->first(); it; it = folders->next() ) | 70 | for ( it = folders->begin(); it!=folders->end(); ++it) |
71 | { | 71 | { |
72 | item = new POP3folderItem( it, this , item ); | 72 | item = new POP3folderItem( (*it), this , item ); |
73 | item->setSelectable(it->may_select()); | 73 | item->setSelectable( (*it)->may_select()); |
74 | } | 74 | } |
75 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
76 | folders->setAutoDelete(false); | ||
77 | delete folders; | 75 | delete folders; |
78 | } | 76 | } |
79 | 77 | ||
@@ -141,10 +139,9 @@ void POP3viewItem::contextMenuSelected(int which) | |||
141 | POP3folderItem::~POP3folderItem() | 139 | POP3folderItem::~POP3folderItem() |
142 | {} | 140 | {} |
143 | 141 | ||
144 | POP3folderItem::POP3folderItem( Folder *folderInit, POP3viewItem *parent , QListViewItem*after ) | 142 | POP3folderItem::POP3folderItem( const FolderP&folderInit, POP3viewItem *parent , QListViewItem*after ) |
145 | : AccountViewItem( parent,after ) | 143 | : AccountViewItem(folderInit,parent,after ) |
146 | { | 144 | { |
147 | folder = folderInit; | ||
148 | pop3 = parent; | 145 | pop3 = parent; |
149 | if (folder->getDisplayName().lower()!="inbox") | 146 | if (folder->getDisplayName().lower()!="inbox") |
150 | { | 147 | { |
@@ -250,7 +247,8 @@ void NNTPviewItem::refresh( QList<RecMail> & ) | |||
250 | void NNTPviewItem::refresh() | 247 | void NNTPviewItem::refresh() |
251 | { | 248 | { |
252 | if (account->getOffline()) return; | 249 | if (account->getOffline()) return; |
253 | QList<Folder> *folders = wrapper->listFolders(); | 250 | QValueList<FolderP> *folders = wrapper->listFolders(); |
251 | |||
254 | QListViewItem *child = firstChild(); | 252 | QListViewItem *child = firstChild(); |
255 | while ( child ) | 253 | while ( child ) |
256 | { | 254 | { |
@@ -258,15 +256,13 @@ void NNTPviewItem::refresh() | |||
258 | child = child->nextSibling(); | 256 | child = child->nextSibling(); |
259 | delete tmp; | 257 | delete tmp; |
260 | } | 258 | } |
261 | Folder *it; | 259 | QValueList<FolderP>::ConstIterator it; |
262 | QListViewItem*item = 0; | 260 | QListViewItem*item = 0; |
263 | for ( it = folders->first(); it; it = folders->next() ) | 261 | for ( it = folders->begin(); it!=folders->end(); ++it) |
264 | { | 262 | { |
265 | item = new NNTPfolderItem( it, this , item ); | 263 | item = new NNTPfolderItem( (*it), this , item ); |
266 | item->setSelectable(it->may_select()); | 264 | item->setSelectable( (*it)->may_select()); |
267 | } | 265 | } |
268 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
269 | folders->setAutoDelete(false); | ||
270 | delete folders; | 266 | delete folders; |
271 | } | 267 | } |
272 | 268 | ||
@@ -347,10 +343,9 @@ void NNTPviewItem::contextMenuSelected(int which) | |||
347 | NNTPfolderItem::~NNTPfolderItem() | 343 | NNTPfolderItem::~NNTPfolderItem() |
348 | {} | 344 | {} |
349 | 345 | ||
350 | NNTPfolderItem::NNTPfolderItem( Folder *folderInit, NNTPviewItem *parent , QListViewItem*after ) | 346 | NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after ) |
351 | : AccountViewItem( parent,after ) | 347 | : AccountViewItem( folderInit, parent,after ) |
352 | { | 348 | { |
353 | folder = folderInit; | ||
354 | nntp = parent; | 349 | nntp = parent; |
355 | if (folder->getDisplayName().lower()!="inbox") | 350 | if (folder->getDisplayName().lower()!="inbox") |
356 | { | 351 | { |
@@ -450,31 +445,29 @@ void IMAPviewItem::refreshFolders(bool force) | |||
450 | 445 | ||
451 | removeChilds(); | 446 | removeChilds(); |
452 | currentFolders.clear(); | 447 | currentFolders.clear(); |
453 | QList<Folder> *folders = wrapper->listFolders(); | 448 | QValueList<FolderP> * folders = wrapper->listFolders(); |
454 | 449 | ||
455 | Folder *it; | 450 | QValueList<FolderP>::Iterator it; |
456 | QListViewItem*item = 0; | 451 | QListViewItem*item = 0; |
457 | QListViewItem*titem = 0; | 452 | QListViewItem*titem = 0; |
458 | QString fname,del,search; | 453 | QString fname,del,search; |
459 | int pos; | 454 | int pos; |
460 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
461 | folders->setAutoDelete(false); | ||
462 | 455 | ||
463 | for ( it = folders->first(); it; it = folders->next() ) | 456 | for ( it = folders->begin(); it!=folders->end(); ++it) |
464 | { | 457 | { |
465 | if (it->getDisplayName().lower()=="inbox") | 458 | if ((*it)->getDisplayName().lower()=="inbox") |
466 | { | 459 | { |
467 | item = new IMAPfolderItem( it, this , item ); | 460 | item = new IMAPfolderItem( (*it), this , item ); |
468 | folders->remove(it); | 461 | folders->remove(it); |
469 | qDebug("inbox found"); | 462 | qDebug("inbox found"); |
470 | break; | 463 | break; |
471 | } | 464 | } |
472 | } | 465 | } |
473 | for ( it = folders->first(); it; it = folders->next() ) | 466 | for ( it = folders->begin(); it!=folders->end(); ++it) |
474 | { | 467 | { |
475 | fname = it->getDisplayName(); | 468 | fname = (*it)->getDisplayName(); |
476 | currentFolders.append(it->getName()); | 469 | currentFolders.append((*it)->getName()); |
477 | pos = fname.findRev(it->Separator()); | 470 | pos = fname.findRev((*it)->Separator()); |
478 | if (pos != -1) | 471 | if (pos != -1) |
479 | { | 472 | { |
480 | fname = fname.left(pos); | 473 | fname = fname.left(pos); |
@@ -483,14 +476,14 @@ void IMAPviewItem::refreshFolders(bool force) | |||
483 | if (pitem) | 476 | if (pitem) |
484 | { | 477 | { |
485 | titem = item; | 478 | titem = item; |
486 | item = new IMAPfolderItem(it,pitem,pitem->firstChild(),this); | 479 | item = new IMAPfolderItem( (*it),pitem,pitem->firstChild(),this); |
487 | /* setup the short name */ | 480 | /* setup the short name */ |
488 | item->setText(0,it->getDisplayName().right(it->getDisplayName().length()-pos-1)); | 481 | item->setText(0,(*it)->getDisplayName().right((*it)->getDisplayName().length()-pos-1)); |
489 | item = titem; | 482 | item = titem; |
490 | } | 483 | } |
491 | else | 484 | else |
492 | { | 485 | { |
493 | item = new IMAPfolderItem( it, this , item ); | 486 | item = new IMAPfolderItem( (*it), this , item ); |
494 | } | 487 | } |
495 | } | 488 | } |
496 | delete folders; | 489 | delete folders; |
@@ -578,10 +571,9 @@ bool IMAPviewItem::offline() | |||
578 | return account->getOffline(); | 571 | return account->getOffline(); |
579 | } | 572 | } |
580 | 573 | ||
581 | IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPviewItem *parent , QListViewItem*after ) | 574 | IMAPfolderItem::IMAPfolderItem( const FolderP& folderInit, IMAPviewItem *parent , QListViewItem*after ) |
582 | : AccountViewItem( parent , after ) | 575 | : AccountViewItem( folderInit, parent , after ) |
583 | { | 576 | { |
584 | folder = folderInit; | ||
585 | imap = parent; | 577 | imap = parent; |
586 | if (folder->getDisplayName().lower()!="inbox") | 578 | if (folder->getDisplayName().lower()!="inbox") |
587 | { | 579 | { |
@@ -594,10 +586,9 @@ IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPviewItem *parent , QList | |||
594 | setText( 0, folder->getDisplayName() ); | 586 | setText( 0, folder->getDisplayName() ); |
595 | } | 587 | } |
596 | 588 | ||
597 | IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ) | 589 | IMAPfolderItem::IMAPfolderItem(const FolderP &folderInit, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ) |
598 | : AccountViewItem( parent,after ) | 590 | : AccountViewItem(folderInit, parent,after ) |
599 | { | 591 | { |
600 | folder = folderInit; | ||
601 | imap = master; | 592 | imap = master; |
602 | if (folder->getDisplayName().lower()!="inbox") | 593 | if (folder->getDisplayName().lower()!="inbox") |
603 | { | 594 | { |
@@ -768,20 +759,20 @@ void MHviewItem::refresh(bool force) | |||
768 | if (childCount()>0 && force==false) return; | 759 | if (childCount()>0 && force==false) return; |
769 | removeChilds(); | 760 | removeChilds(); |
770 | currentFolders.clear(); | 761 | currentFolders.clear(); |
771 | QList<Folder> *folders = wrapper->listFolders(); | 762 | QValueList<FolderP> *folders = wrapper->listFolders(); |
772 | Folder *it; | 763 | QValueList<FolderP>::ConstIterator it; |
773 | MHfolderItem*item = 0; | 764 | MHfolderItem*item = 0; |
774 | MHfolderItem*pmaster = 0; | 765 | MHfolderItem*pmaster = 0; |
775 | QString fname = ""; | 766 | QString fname = ""; |
776 | int pos; | 767 | int pos; |
777 | for ( it = folders->first(); it; it = folders->next() ) | 768 | for ( it = folders->begin(); it!=folders->end(); ++it) |
778 | { | 769 | { |
779 | fname = it->getDisplayName(); | 770 | fname = (*it)->getDisplayName(); |
780 | /* this folder itself */ | 771 | /* this folder itself */ |
781 | if (fname=="/") | 772 | if (fname=="/") |
782 | { | 773 | { |
783 | currentFolders.append(fname); | 774 | currentFolders.append(fname); |
784 | folder = it; | 775 | folder = (*it); |
785 | continue; | 776 | continue; |
786 | } | 777 | } |
787 | currentFolders.append(fname); | 778 | currentFolders.append(fname); |
@@ -797,16 +788,14 @@ void MHviewItem::refresh(bool force) | |||
797 | } | 788 | } |
798 | if (pmaster) | 789 | if (pmaster) |
799 | { | 790 | { |
800 | item = new MHfolderItem( it, pmaster, item, this ); | 791 | item = new MHfolderItem( (*it), pmaster, item, this ); |
801 | } | 792 | } |
802 | else | 793 | else |
803 | { | 794 | { |
804 | item = new MHfolderItem( it, this , item ); | 795 | item = new MHfolderItem( (*it), this , item ); |
805 | } | 796 | } |
806 | item->setSelectable(it->may_select()); | 797 | item->setSelectable((*it)->may_select()); |
807 | } | 798 | } |
808 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
809 | folders->setAutoDelete(false); | ||
810 | delete folders; | 799 | delete folders; |
811 | } | 800 | } |
812 | 801 | ||
@@ -878,16 +867,15 @@ void MHviewItem::contextMenuSelected(int which) | |||
878 | MHfolderItem::~MHfolderItem() | 867 | MHfolderItem::~MHfolderItem() |
879 | {} | 868 | {} |
880 | 869 | ||
881 | MHfolderItem::MHfolderItem( Folder *folderInit, MHviewItem *parent , QListViewItem*after ) | 870 | MHfolderItem::MHfolderItem( const FolderP &folderInit, MHviewItem *parent , QListViewItem*after ) |
882 | : AccountViewItem( parent,after ) | 871 | : AccountViewItem(folderInit, parent,after ) |
883 | { | 872 | { |
884 | folder = folderInit; | ||
885 | mbox = parent; | 873 | mbox = parent; |
886 | initName(); | 874 | initName(); |
887 | } | 875 | } |
888 | 876 | ||
889 | MHfolderItem::MHfolderItem( Folder *folderInit, MHfolderItem *parent, QListViewItem*after, MHviewItem*master) | 877 | MHfolderItem::MHfolderItem(const FolderP& folderInit, MHfolderItem *parent, QListViewItem*after, MHviewItem*master) |
890 | : AccountViewItem( parent,after ) | 878 | : AccountViewItem(folderInit, parent,after ) |
891 | { | 879 | { |
892 | folder = folderInit; | 880 | folder = folderInit; |
893 | mbox = master; | 881 | mbox = master; |
@@ -921,7 +909,7 @@ void MHfolderItem::initName() | |||
921 | setText( 0, bName ); | 909 | setText( 0, bName ); |
922 | } | 910 | } |
923 | 911 | ||
924 | Folder*MHfolderItem::getFolder() | 912 | const FolderP&MHfolderItem::getFolder()const |
925 | { | 913 | { |
926 | return folder; | 914 | return folder; |
927 | } | 915 | } |
@@ -1043,13 +1031,19 @@ AccountViewItem::AccountViewItem( AccountView *parent ) | |||
1043 | } | 1031 | } |
1044 | 1032 | ||
1045 | AccountViewItem::AccountViewItem( QListViewItem *parent) | 1033 | AccountViewItem::AccountViewItem( QListViewItem *parent) |
1046 | : QListViewItem( parent) | 1034 | : QListViewItem( parent),folder(0) |
1047 | { | 1035 | { |
1048 | init(); | 1036 | init(); |
1049 | } | 1037 | } |
1050 | 1038 | ||
1051 | AccountViewItem::AccountViewItem( QListViewItem *parent , QListViewItem*after ) | 1039 | AccountViewItem::AccountViewItem( QListViewItem *parent , QListViewItem*after ) |
1052 | :QListViewItem( parent,after ) | 1040 | :QListViewItem( parent,after ),folder(0) |
1041 | { | ||
1042 | init(); | ||
1043 | } | ||
1044 | |||
1045 | AccountViewItem::AccountViewItem( const Opie::osmart_pointer<Folder>&folderInit,QListViewItem *parent , QListViewItem*after ) | ||
1046 | :QListViewItem( parent,after ),folder(folderInit) | ||
1053 | { | 1047 | { |
1054 | init(); | 1048 | init(); |
1055 | } | 1049 | } |
@@ -1057,12 +1051,11 @@ AccountViewItem::AccountViewItem( QListViewItem *parent , QListViewItem*after ) | |||
1057 | void AccountViewItem::init() | 1051 | void AccountViewItem::init() |
1058 | { | 1052 | { |
1059 | m_Backlink = 0; | 1053 | m_Backlink = 0; |
1060 | folder = 0; | ||
1061 | } | 1054 | } |
1062 | 1055 | ||
1063 | AccountViewItem::~AccountViewItem() | 1056 | AccountViewItem::~AccountViewItem() |
1064 | { | 1057 | { |
1065 | if (folder) delete folder; | 1058 | folder = 0; |
1066 | } | 1059 | } |
1067 | 1060 | ||
1068 | AccountView*AccountViewItem::accountView() | 1061 | AccountView*AccountViewItem::accountView() |
@@ -1070,7 +1063,7 @@ AccountView*AccountViewItem::accountView() | |||
1070 | return m_Backlink; | 1063 | return m_Backlink; |
1071 | } | 1064 | } |
1072 | 1065 | ||
1073 | void AccountViewItem::deleteAllMail(AbstractMail*wrapper,Folder*folder) | 1066 | void AccountViewItem::deleteAllMail(AbstractMail*wrapper,const FolderP&folder) |
1074 | { | 1067 | { |
1075 | if (!wrapper) return; | 1068 | if (!wrapper) return; |
1076 | QString fname=""; | 1069 | QString fname=""; |