Diffstat (limited to 'noncore/net/mail/accountview.cpp') (more/less context) (show 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 +1,2 @@ +#include <stdlib.h> #include "accountview.h" @@ -4,3 +5,2 @@ - /** @@ -230,2 +230,3 @@ RecBody IMAPfolderItem::fetchBody(const RecMail&aMail) + /** @@ -246,2 +247,5 @@ void AccountView::populate( QList<Account> list ) + QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); + (void) new MBOXviewItem(localfolders,this); + Account *it; @@ -295 +299,81 @@ RecBody AccountView::fetchBody(const RecMail&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); +} + |