From e3b89230f065c48c84b48c88edb6eb088374c487 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 03 Jul 2004 16:33:12 +0000 Subject: Initial revision --- (limited to 'kmicromail/accountitem.h') diff --git a/kmicromail/accountitem.h b/kmicromail/accountitem.h new file mode 100644 index 0000000..f125eeb --- a/dev/null +++ b/kmicromail/accountitem.h @@ -0,0 +1,212 @@ +#ifndef __ACCOUNT_ITEM +#define __ACCOUNT_ITEM + +#include +#include +#include + +class POP3wrapper; +class RecMail; +class RecBody; +class QPopupMenu; +class Selectstore; +class AccountView; +class POP3account; +class NNTPaccount; +class IMAPaccount; +class AbstractMail; +class Folder; + +#define RECBODYP Opie::Core::OSmartPointer + +class AccountViewItem : public QListViewItem +{ + +public: + AccountViewItem( AccountView *parent ); + AccountViewItem( QListViewItem *parent); + AccountViewItem( QListViewItem *parent , QListViewItem*after ); + AccountViewItem( const Opie::Core::OSmartPointer&folderInit,QListViewItem *parent , QListViewItem*after ); + + virtual ~AccountViewItem(); + virtual void refresh(QValueList >&)=0; + virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer&)=0; + virtual QPopupMenu * getContextMenu(){return 0;}; + virtual void contextMenuSelected(int){} + virtual AccountView*accountView(); + virtual bool matchName(const QString&name)const; + virtual bool isDraftfolder(); + +protected: + AccountViewItem*findSubItem(const QString&path,AccountViewItem*start=0); + virtual void init(); + virtual void removeChilds(); + virtual void deleteAllMail(AbstractMail*wrapper,const Opie::Core::OSmartPointer&f); + static const QString contextName; + AccountView*m_Backlink; + Opie::Core::OSmartPointer folder; +}; + +class POP3viewItem : public AccountViewItem +{ + +public: + POP3viewItem( POP3account *a, AccountView *parent ); + virtual ~POP3viewItem(); + virtual void refresh(QValueList >&target ); + virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer &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( const Opie::Core::OSmartPointer&folder, POP3viewItem *parent , QListViewItem*after ); + virtual ~POP3folderItem(); + virtual void refresh(QValueList >&); + virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer&); + virtual QPopupMenu * getContextMenu(); + virtual void contextMenuSelected(int); + +protected: + void downloadMails(); + POP3viewItem *pop3; +}; + + +class NNTPviewItem : public AccountViewItem +{ + +public: + NNTPviewItem( NNTPaccount *a, AccountView *parent ); + virtual ~NNTPviewItem(); + virtual void refresh(QValueList >&target ); + virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer &mail ); + AbstractMail *getWrapper(); + virtual QPopupMenu * getContextMenu(); + virtual void contextMenuSelected(int); + +protected: + NNTPaccount *account; + virtual void refresh(); + AbstractMail *wrapper; + void disconnect(); + void setOnOffline(); + void subscribeGroups(); +}; + +class NNTPfolderItem : public AccountViewItem +{ + +public: + NNTPfolderItem(const Opie::Core::OSmartPointer&folder, NNTPviewItem *parent , QListViewItem*after ); + virtual ~NNTPfolderItem(); + virtual void refresh(QValueList >&); + virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer&); + virtual QPopupMenu * getContextMenu(); + virtual void contextMenuSelected(int); + +protected: + void downloadMails(); + NNTPviewItem *nntp; +}; + + + +class IMAPviewItem : public AccountViewItem +{ + friend class IMAPfolderItem; +public: + IMAPviewItem( IMAPaccount *a, AccountView *parent ); + virtual ~IMAPviewItem(); + virtual void refresh(QValueList >&); + virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer&); + 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( const Opie::Core::OSmartPointer&folder, IMAPviewItem *parent , QListViewItem*after ); + IMAPfolderItem( const Opie::Core::OSmartPointer&folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ); + virtual ~IMAPfolderItem(); + virtual void refresh(QValueList >&); + virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer&); + 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(QValueList >&target ); + virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer &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( const Opie::Core::OSmartPointer&folder, MHviewItem *parent , QListViewItem*after ); + MHfolderItem( const Opie::Core::OSmartPointer&folder, MHfolderItem *parent, QListViewItem*after, MHviewItem*master); + virtual ~MHfolderItem(); + virtual void refresh(QValueList >&); + virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer&); + virtual QPopupMenu * getContextMenu(); + virtual void contextMenuSelected(int); + virtual const Opie::Core::OSmartPointer&getFolder()const; + virtual bool isDraftfolder(); + +protected: + void downloadMails(); + virtual void createFolder(); + virtual void deleteFolder(); + void initName(); + MHviewItem *mbox; +}; + +#endif -- cgit v0.9.0.2