summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountview.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/accountview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountview.cpp86
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);
+}
+