author | alwin <alwin> | 2004-01-09 01:16:31 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-01-09 01:16:31 (UTC) |
commit | d3a4757e062ffc5ce5840cb1c52215435a468ff0 (patch) (unidiff) | |
tree | df5fdfdf42909e31c112b8e147e9e80c9bc0e94d /noncore/net/mail/accountview.cpp | |
parent | 9fc7d401f1445c5f3d3d74e173dea6de2ea4784a (diff) | |
download | opie-d3a4757e062ffc5ce5840cb1c52215435a468ff0.zip opie-d3a4757e062ffc5ce5840cb1c52215435a468ff0.tar.gz opie-d3a4757e062ffc5ce5840cb1c52215435a468ff0.tar.bz2 |
- MHfolder in accountview enhanced
- mv/cp mails has special methods when copy between folder inside a
mh storage
- removed obsolete vars inside pop3wrapper
Diffstat (limited to 'noncore/net/mail/accountview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/accountview.cpp | 77 |
1 files changed, 66 insertions, 11 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 62cbf62..3048e49 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp | |||
@@ -242,7 +242,6 @@ void IMAPviewItem::removeChilds() | |||
242 | child = child->nextSibling(); | 242 | child = child->nextSibling(); |
243 | delete tmp; | 243 | delete tmp; |
244 | } | 244 | } |
245 | |||
246 | } | 245 | } |
247 | 246 | ||
248 | const QStringList&IMAPviewItem::subFolders() | 247 | const QStringList&IMAPviewItem::subFolders() |
@@ -706,7 +705,8 @@ void AccountView::downloadMails(Folder*fromFolder,AbstractMail*fromWrapper) | |||
706 | /** | 705 | /** |
707 | * MH Account stuff | 706 | * MH Account stuff |
708 | */ | 707 | */ |
709 | 708 | /* MH is a little bit different - the top folder can contains messages other than in IMAP and | |
709 | POP3 and MBOX */ | ||
710 | MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) | 710 | MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) |
711 | : AccountViewItem( parent ) | 711 | : AccountViewItem( parent ) |
712 | { | 712 | { |
@@ -716,11 +716,13 @@ MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) | |||
716 | setPixmap( 0, PIXMAP_LOCALFOLDER ); | 716 | setPixmap( 0, PIXMAP_LOCALFOLDER ); |
717 | setText( 0, " Local Folders" ); | 717 | setText( 0, " Local Folders" ); |
718 | setOpen( true ); | 718 | setOpen( true ); |
719 | folder = 0; | ||
719 | } | 720 | } |
720 | 721 | ||
721 | MHviewItem::~MHviewItem() | 722 | MHviewItem::~MHviewItem() |
722 | { | 723 | { |
723 | delete wrapper; | 724 | delete wrapper; |
725 | if (folder) delete folder; | ||
724 | } | 726 | } |
725 | 727 | ||
726 | AbstractMail *MHviewItem::getWrapper() | 728 | AbstractMail *MHviewItem::getWrapper() |
@@ -728,25 +730,43 @@ AbstractMail *MHviewItem::getWrapper() | |||
728 | return wrapper; | 730 | return wrapper; |
729 | } | 731 | } |
730 | 732 | ||
731 | void MHviewItem::refresh( QList<RecMail> & ) | 733 | void MHviewItem::refresh( QList<RecMail> & target) |
732 | { | 734 | { |
733 | refresh(false); | 735 | refresh(false); |
736 | getWrapper()->listMessages( "",target ); | ||
734 | } | 737 | } |
735 | 738 | ||
736 | void MHviewItem::refresh(bool force) | 739 | void MHviewItem::removeChilds() |
737 | { | 740 | { |
738 | if (childCount()>0 && force==false) return; | ||
739 | QList<Folder> *folders = wrapper->listFolders(); | ||
740 | QListViewItem *child = firstChild(); | 741 | QListViewItem *child = firstChild(); |
741 | while ( child ) { | 742 | while ( child ) { |
742 | QListViewItem *tmp = child; | 743 | QListViewItem *tmp = child; |
743 | child = child->nextSibling(); | 744 | child = child->nextSibling(); |
744 | delete tmp; | 745 | delete tmp; |
745 | } | 746 | } |
747 | } | ||
748 | |||
749 | void MHviewItem::refresh(bool force) | ||
750 | { | ||
751 | if (childCount()>0 && force==false) return; | ||
752 | removeChilds(); | ||
753 | QList<Folder> *folders = wrapper->listFolders(); | ||
746 | Folder *it; | 754 | Folder *it; |
747 | QListViewItem*item = 0; | 755 | MHfolderItem*item = 0; |
756 | MHfolderItem*pmaster = 0; | ||
757 | QString fname = ""; | ||
748 | for ( it = folders->first(); it; it = folders->next() ) { | 758 | for ( it = folders->first(); it; it = folders->next() ) { |
749 | item = new MHfolderItem( it, this , item ); | 759 | fname = it->getDisplayName(); |
760 | /* this folder itself */ | ||
761 | if (fname=="/") { | ||
762 | folder = it; | ||
763 | continue; | ||
764 | } | ||
765 | if (pmaster) { | ||
766 | item = new MHfolderItem( it, pmaster, item, this ); | ||
767 | } else { | ||
768 | item = new MHfolderItem( it, this , item ); | ||
769 | } | ||
750 | item->setSelectable(it->may_select()); | 770 | item->setSelectable(it->may_select()); |
751 | } | 771 | } |
752 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 772 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
@@ -766,6 +786,8 @@ QPopupMenu * MHviewItem::getContextMenu() | |||
766 | if (m) { | 786 | if (m) { |
767 | m->insertItem(QObject::tr("Refresh folder list",contextName),0); | 787 | m->insertItem(QObject::tr("Refresh folder list",contextName),0); |
768 | m->insertItem(QObject::tr("Create new folder",contextName),1); | 788 | m->insertItem(QObject::tr("Create new folder",contextName),1); |
789 | m->insertItem(QObject::tr("Delete all mails",contextName),2); | ||
790 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),3); | ||
769 | } | 791 | } |
770 | return m; | 792 | return m; |
771 | } | 793 | } |
@@ -782,10 +804,18 @@ void MHviewItem::createFolder() | |||
782 | } | 804 | } |
783 | } | 805 | } |
784 | 806 | ||
807 | void MHviewItem::downloadMails() | ||
808 | { | ||
809 | AccountView*bl = accountView(); | ||
810 | if (!bl) return; | ||
811 | bl->downloadMails(folder,getWrapper()); | ||
812 | } | ||
813 | |||
785 | QStringList MHviewItem::subFolders() | 814 | QStringList MHviewItem::subFolders() |
786 | { | 815 | { |
787 | QStringList result; | 816 | QStringList result; |
788 | QListViewItem *child = firstChild(); | 817 | QListViewItem *child = firstChild(); |
818 | result.append("/"); | ||
789 | while ( child ) { | 819 | while ( child ) { |
790 | MHfolderItem *tmp = (MHfolderItem*)child; | 820 | MHfolderItem *tmp = (MHfolderItem*)child; |
791 | child = child->nextSibling(); | 821 | child = child->nextSibling(); |
@@ -804,6 +834,12 @@ void MHviewItem::contextMenuSelected(int which) | |||
804 | case 1: | 834 | case 1: |
805 | createFolder(); | 835 | createFolder(); |
806 | break; | 836 | break; |
837 | case 2: | ||
838 | deleteAllMail(getWrapper(),folder); | ||
839 | break; | ||
840 | case 3: | ||
841 | downloadMails(); | ||
842 | break; | ||
807 | default: | 843 | default: |
808 | break; | 844 | break; |
809 | } | 845 | } |
@@ -819,14 +855,31 @@ MHfolderItem::MHfolderItem( Folder *folderInit, MHviewItem *parent , QListViewIt | |||
819 | { | 855 | { |
820 | folder = folderInit; | 856 | folder = folderInit; |
821 | mbox = parent; | 857 | mbox = parent; |
822 | if (folder->getDisplayName().lower() == "outgoing") { | 858 | initName(); |
859 | } | ||
860 | |||
861 | MHfolderItem::MHfolderItem( Folder *folderInit, MHfolderItem *parent, QListViewItem*after, MHviewItem*master) | ||
862 | : AccountViewItem( parent,after ) | ||
863 | { | ||
864 | folder = folderInit; | ||
865 | mbox = master; | ||
866 | initName(); | ||
867 | } | ||
868 | |||
869 | void MHfolderItem::initName() | ||
870 | { | ||
871 | QString bName = folder->getDisplayName(); | ||
872 | if (bName.startsWith("/")&&bName.length()>1) { | ||
873 | bName.replace(0,1,""); | ||
874 | } | ||
875 | if (bName.lower() == "outgoing") { | ||
823 | setPixmap( 0, PIXMAP_OUTBOXFOLDER ); | 876 | setPixmap( 0, PIXMAP_OUTBOXFOLDER ); |
824 | } else if (folder->getDisplayName().lower() == "inbox") { | 877 | } else if (bName.lower() == "inbox") { |
825 | setPixmap( 0, PIXMAP_INBOXFOLDER); | 878 | setPixmap( 0, PIXMAP_INBOXFOLDER); |
826 | } else { | 879 | } else { |
827 | setPixmap( 0, PIXMAP_MBOXFOLDER ); | 880 | setPixmap( 0, PIXMAP_MBOXFOLDER ); |
828 | } | 881 | } |
829 | setText( 0, folder->getDisplayName() ); | 882 | setText( 0, bName ); |
830 | } | 883 | } |
831 | 884 | ||
832 | Folder*MHfolderItem::getFolder() | 885 | Folder*MHfolderItem::getFolder() |
@@ -873,6 +926,7 @@ QPopupMenu * MHfolderItem::getContextMenu() | |||
873 | m->insertItem(QObject::tr("Delete all mails",contextName),0); | 926 | m->insertItem(QObject::tr("Delete all mails",contextName),0); |
874 | m->insertItem(QObject::tr("Delete folder",contextName),1); | 927 | m->insertItem(QObject::tr("Delete folder",contextName),1); |
875 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); | 928 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); |
929 | m->insertItem(QObject::tr("Create new folder",contextName),3); | ||
876 | } | 930 | } |
877 | return m; | 931 | return m; |
878 | } | 932 | } |
@@ -900,3 +954,4 @@ void MHfolderItem::contextMenuSelected(int which) | |||
900 | break; | 954 | break; |
901 | } | 955 | } |
902 | } | 956 | } |
957 | |||