author | alwin <alwin> | 2003-12-21 21:33:49 (UTC) |
---|---|---|
committer | alwin <alwin> | 2003-12-21 21:33:49 (UTC) |
commit | 6e7358f954618d8fdbbe852df7df862c3c132bbd (patch) (side-by-side diff) | |
tree | 0e2a94a0a42393b811d85172677c117517db5fd4 /noncore/net/mail/accountview.cpp | |
parent | fafcc882ba0d797d5aa8ed7f2f8d5518ba6d2960 (diff) | |
download | opie-6e7358f954618d8fdbbe852df7df862c3c132bbd.zip opie-6e7358f954618d8fdbbe852df7df862c3c132bbd.tar.gz opie-6e7358f954618d8fdbbe852df7df862c3c132bbd.tar.bz2 |
- mbox-wrapper mostly finished
- special-folders "Local Folders" will be displayed
ToDo:
"STORE" - method for all wrapper, but mostly for mbox for
send queue.
Diffstat (limited to 'noncore/net/mail/accountview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/accountview.cpp | 86 |
1 files changed, 85 insertions, 1 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 71a0d74..6bc8b8b 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp @@ -1,8 +1,8 @@ +#include <stdlib.h> #include "accountview.h" #include "mailtypes.h" #include "defines.h" - /** * POP3 Account stuff */ @@ -228,6 +228,7 @@ RecBody IMAPfolderItem::fetchBody(const RecMail&aMail) return imap->getWrapper()->fetchBody(aMail); } + /** * Generic stuff */ @@ -244,6 +245,9 @@ void AccountView::populate( QList<Account> list ) { clear(); + QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); + (void) new MBOXviewItem(localfolders,this); + Account *it; for ( it = list.first(); it; it = list.next() ) { if ( it->getType().compare( "IMAP" ) == 0 ) { @@ -293,3 +297,83 @@ RecBody AccountView::fetchBody(const RecMail&aMail) AccountViewItem *view = static_cast<AccountViewItem *>(item); return view->fetchBody(aMail); } + +/** + * MBOX Account stuff + */ + +MBOXviewItem::MBOXviewItem( const QString&aPath, QListView *parent ) + : AccountViewItem( parent ) +{ + m_Path = aPath; + wrapper = AbstractMail::getWrapper( m_Path ); + setPixmap( 0, PIXMAP_POP3FOLDER ); + setText( 0, " Local Folders" ); + setOpen( true ); +} + +MBOXviewItem::~MBOXviewItem() +{ + delete wrapper; +} + +AbstractMail *MBOXviewItem::getWrapper() +{ + return wrapper; +} + +void MBOXviewItem::refresh( QList<RecMail> & ) +{ + QList<Folder> *folders = wrapper->listFolders(); + QListViewItem *child = firstChild(); + while ( child ) { + QListViewItem *tmp = child; + child = child->nextSibling(); + delete tmp; + } + Folder *it; + QListViewItem*item = 0; + for ( it = folders->first(); it; it = folders->next() ) { + item = new MBOXfolderItem( it, this , item ); + item->setSelectable(it->may_select()); + } + // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + folders->setAutoDelete(false); + delete folders; +} + +RecBody MBOXviewItem::fetchBody( const RecMail &mail ) +{ + qDebug( "POP3 fetchBody" ); + return wrapper->fetchBody( mail ); +} + +MBOXfolderItem::~MBOXfolderItem() +{ + delete folder; +} + +MBOXfolderItem::MBOXfolderItem( Folder *folderInit, MBOXviewItem *parent , QListViewItem*after ) + : AccountViewItem( parent,after ) +{ + folder = folderInit; + mbox = parent; + if (folder->getDisplayName().lower()!="inbox") { + setPixmap( 0, PIXMAP_POP3FOLDER ); + } else { + setPixmap( 0, PIXMAP_INBOXFOLDER); + } + setText( 0, folder->getDisplayName() ); +} + +void MBOXfolderItem::refresh(QList<RecMail>&target) +{ + if (folder->may_select()) + mbox->getWrapper()->listMessages( folder->getName(),target ); +} + +RecBody MBOXfolderItem::fetchBody(const RecMail&aMail) +{ + return mbox->getWrapper()->fetchBody(aMail); +} + |