summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountitem.h
authoralwin <alwin>2004-01-10 03:22:16 (UTC)
committer alwin <alwin>2004-01-10 03:22:16 (UTC)
commitabf23602a446e30ec18d16d3495da5747a96072b (patch) (side-by-side diff)
tree80dd4d6089c3d7c5f45a8f0a4e6c2b53cfca2e9b /noncore/net/mail/accountitem.h
parent6248e82bf1b077c54e3e2b85801a99fa0f86434d (diff)
downloadopie-abf23602a446e30ec18d16d3495da5747a96072b.zip
opie-abf23602a446e30ec18d16d3495da5747a96072b.tar.gz
opie-abf23602a446e30ec18d16d3495da5747a96072b.tar.bz2
mh box fully functional
splitted the stuff of accountview list into seperate files so the other parts care about changes inside accountitems
Diffstat (limited to 'noncore/net/mail/accountitem.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountitem.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/noncore/net/mail/accountitem.h b/noncore/net/mail/accountitem.h
new file mode 100644
index 0000000..99208b6
--- a/dev/null
+++ b/noncore/net/mail/accountitem.h
@@ -0,0 +1,164 @@
+#ifndef __ACCOUNT_ITEM
+#define __ACCOUNT_ITEM
+
+#include <qlistview.h>
+#include <qlist.h>
+
+class POP3wrapper;
+class RecMail;
+class RecBody;
+class QPopupMenu;
+class Selectstore;
+class AccountView;
+class POP3account;
+class IMAPaccount;
+class AbstractMail;
+class Folder;
+
+class AccountViewItem : public QListViewItem
+{
+
+public:
+ AccountViewItem( AccountView *parent );
+ AccountViewItem( QListViewItem *parent);
+ AccountViewItem( QListViewItem *parent , QListViewItem*after );
+ virtual ~AccountViewItem();
+ virtual void refresh(QList<RecMail>&)=0;
+ virtual RecBody fetchBody(const RecMail&)=0;
+ virtual QPopupMenu * getContextMenu(){return 0;};
+ virtual void contextMenuSelected(int){}
+ virtual AccountView*accountView();
+ virtual bool matchName(const QString&name)const;
+
+protected:
+ AccountViewItem*findSubItem(const QString&path,AccountViewItem*start=0);
+ virtual void init();
+ virtual void removeChilds();
+ virtual void deleteAllMail(AbstractMail*wrapper,Folder*f);
+ static const QString contextName;
+ AccountView*m_Backlink;
+ Folder *folder;
+};
+
+class POP3viewItem : public AccountViewItem
+{
+
+public:
+ POP3viewItem( POP3account *a, AccountView *parent );
+ virtual ~POP3viewItem();
+ virtual void refresh( QList<RecMail> &target );
+ virtual RecBody fetchBody( const RecMail &mail );
+ AbstractMail *getWrapper();
+ virtual QPopupMenu * getContextMenu();
+ virtual void contextMenuSelected(int);
+
+protected:
+ POP3account *account;
+ virtual void refresh();
+ AbstractMail *wrapper;
+ void disconnect();
+ void setOnOffline();
+};
+
+class POP3folderItem : public AccountViewItem
+{
+
+public:
+ POP3folderItem( Folder *folder, POP3viewItem *parent , QListViewItem*after );
+ virtual ~POP3folderItem();
+ virtual void refresh(QList<RecMail>&);
+ virtual RecBody fetchBody(const RecMail&);
+ virtual QPopupMenu * getContextMenu();
+ virtual void contextMenuSelected(int);
+
+protected:
+ void downloadMails();
+ POP3viewItem *pop3;
+};
+
+class IMAPviewItem : public AccountViewItem
+{
+ friend class IMAPfolderItem;
+public:
+ IMAPviewItem( IMAPaccount *a, AccountView *parent );
+ virtual ~IMAPviewItem();
+ virtual void refresh(QList<RecMail>&);
+ virtual RecBody fetchBody(const RecMail&);
+ AbstractMail *getWrapper();
+ virtual QPopupMenu * getContextMenu();
+ virtual void contextMenuSelected(int);
+ const QStringList&subFolders();
+ virtual void refreshFolders(bool force=false);
+ bool offline();
+
+protected:
+ virtual void createNewFolder();
+ IMAPaccount *account;
+ AbstractMail *wrapper;
+ QStringList currentFolders;
+};
+
+class IMAPfolderItem : public AccountViewItem
+{
+
+public:
+ IMAPfolderItem( Folder *folder, IMAPviewItem *parent , QListViewItem*after );
+ IMAPfolderItem( Folder *folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master );
+ virtual ~IMAPfolderItem();
+ virtual void refresh(QList<RecMail>&);
+ virtual RecBody fetchBody(const RecMail&);
+ virtual QPopupMenu * getContextMenu();
+ virtual void contextMenuSelected(int);
+ virtual const QString& Delemiter()const;
+protected:
+ virtual void createNewFolder();
+ virtual void deleteFolder();
+ virtual void downloadMails();
+ IMAPviewItem *imap;
+};
+
+class MHviewItem : public AccountViewItem
+{
+ friend class MHfolderItem;
+
+public:
+ MHviewItem( const QString&aMboxPath, AccountView *parent );
+ virtual ~MHviewItem();
+ virtual void refresh( QList<RecMail> &target );
+ virtual RecBody fetchBody( const RecMail &mail );
+ AbstractMail *getWrapper();
+ virtual QPopupMenu * getContextMenu();
+ virtual void contextMenuSelected(int);
+ QStringList subFolders();
+ virtual void refresh(bool force=false);
+
+protected:
+ void downloadMails();
+ virtual void createFolder();
+ QString m_Path;
+ AbstractMail *wrapper;
+ QStringList currentFolders;
+};
+
+class MHfolderItem : public AccountViewItem
+{
+
+public:
+ MHfolderItem( Folder *folder, MHviewItem *parent , QListViewItem*after );
+ MHfolderItem( Folder *folder, MHfolderItem *parent, QListViewItem*after, MHviewItem*master);
+ virtual ~MHfolderItem();
+ virtual void refresh(QList<RecMail>&);
+ virtual RecBody fetchBody(const RecMail&);
+ virtual QPopupMenu * getContextMenu();
+ virtual void contextMenuSelected(int);
+ virtual Folder*getFolder();
+
+protected:
+ void downloadMails();
+ virtual void createFolder();
+ virtual void deleteFolder();
+ void initName();
+ MHviewItem *mbox;
+};
+
+#endif