Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

accountitem.h

Go to the documentation of this file.
00001 #ifndef __ACCOUNT_ITEM
00002 #define __ACCOUNT_ITEM
00003 
00004 #include <opie2/osmartpointer.h>
00005 
00006 #include <qlistview.h>
00007 #include <qlist.h>
00008 #include <qmap.h>
00009 
00010 class POP3wrapper;
00011 class RecMail;
00012 class RecBody;
00013 class QPopupMenu;
00014 class Selectstore;
00015 class AccountView;
00016 class POP3account;
00017 class NNTPaccount;
00018 class IMAPaccount;
00019 class AbstractMail;
00020 class Folder;
00021 
00022 #define RECBODYP Opie::Core::OSmartPointer<RecBody>
00023 
00024 class AccountViewItem : public QListViewItem
00025 {
00026 
00027 public:
00028     AccountViewItem( AccountView *parent );
00029     AccountViewItem( QListViewItem *parent);
00030     AccountViewItem( QListViewItem *parent , QListViewItem*after  );
00031     AccountViewItem( const Opie::Core::OSmartPointer<Folder>&folderInit,QListViewItem *parent , QListViewItem*after  );
00032 
00033     virtual ~AccountViewItem();
00034     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&)=0;
00035     virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&)=0;
00036     virtual QPopupMenu * getContextMenu();
00037     virtual bool contextMenuSelected(int){return false;}
00038     virtual AccountView*accountView();
00039     virtual bool matchName(const QString&name)const;
00040     virtual bool isDraftfolder();
00041     /* 1 - server
00042      * 2 - folder
00043      * 3 - both
00044      */
00045     virtual int isServer()const=0;
00046     virtual QMap<int,QString> serverMenu();
00047     virtual QMap<int,QString> folderMenu();
00048 
00049 protected:
00050     AccountViewItem*findSubItem(const QString&path,AccountViewItem*start=0);
00051     virtual void init();
00052     virtual void removeChilds();
00053     virtual void deleteAllMail(AbstractMail*wrapper,const Opie::Core::OSmartPointer<Folder>&f);
00054     static const QString contextName;
00055     AccountView*m_Backlink;
00056     Opie::Core::OSmartPointer<Folder> folder;
00057 };
00058 
00059 class POP3viewItem : public AccountViewItem
00060 {
00061 
00062 public:
00063     POP3viewItem( POP3account *a, AccountView *parent );
00064     virtual ~POP3viewItem();
00065     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target );
00066     virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
00067     AbstractMail *getWrapper();
00068     virtual bool contextMenuSelected(int);
00069     virtual int isServer()const{return 1;}
00070     virtual QMap<int,QString> serverMenu();
00071 
00072 protected:
00073     POP3account *account;
00074     virtual void refresh();
00075     AbstractMail *wrapper;
00076     void disconnect();
00077     void setOnOffline();
00078 };
00079 
00080 class POP3folderItem : public AccountViewItem
00081 {
00082 
00083 public:
00084     POP3folderItem( const Opie::Core::OSmartPointer<Folder>&folder, POP3viewItem *parent , QListViewItem*after  );
00085     virtual ~POP3folderItem();
00086     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
00087     virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
00088     virtual bool contextMenuSelected(int);
00089     virtual int isServer()const{return 2;}
00090     virtual QMap<int,QString> folderMenu();
00091 
00092 protected:
00093     void downloadMails();
00094     POP3viewItem *pop3;
00095 };
00096 
00097 
00098 class NNTPviewItem : public AccountViewItem
00099 {
00100 
00101 public:
00102     NNTPviewItem( NNTPaccount *a, AccountView *parent );
00103     virtual ~NNTPviewItem();
00104     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target );
00105     virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
00106     AbstractMail *getWrapper();
00107     virtual bool contextMenuSelected(int);
00108     virtual int isServer()const{return 1;}
00109     virtual QMap<int,QString> serverMenu();
00110 
00111 protected:
00112     NNTPaccount *account;
00113     virtual void refresh();
00114     AbstractMail *wrapper;
00115     void disconnect();
00116     void setOnOffline();
00117     void subscribeGroups();
00118 };
00119 
00120 class NNTPfolderItem : public AccountViewItem
00121 {
00122 
00123 public:
00124     NNTPfolderItem(const Opie::Core::OSmartPointer<Folder>&folder, NNTPviewItem *parent , QListViewItem*after  );
00125     virtual ~NNTPfolderItem();
00126     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
00127     virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
00128     virtual bool contextMenuSelected(int);
00129     virtual int isServer()const{return 2;}
00130     virtual QMap<int,QString> folderMenu();
00131 protected:
00132     void downloadMails();
00133     NNTPviewItem *nntp;
00134 };
00135 
00136 
00137 
00138 class IMAPviewItem : public AccountViewItem
00139 {
00140     friend class IMAPfolderItem;
00141 public:
00142     IMAPviewItem( IMAPaccount *a, AccountView *parent );
00143     virtual ~IMAPviewItem();
00144     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
00145     virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
00146     AbstractMail *getWrapper();
00147     virtual bool contextMenuSelected(int);
00148     const QStringList&subFolders();
00149     virtual void refreshFolders(bool force=false);
00150     virtual int isServer()const{return 1;}
00151     bool offline();
00152     virtual QMap<int,QString> serverMenu();
00153 
00154 protected:
00155     virtual void createNewFolder();
00156     IMAPaccount *account;
00157     AbstractMail *wrapper;
00158     QStringList currentFolders;
00159 };
00160 
00161 class IMAPfolderItem : public AccountViewItem
00162 {
00163 
00164 public:
00165     IMAPfolderItem( const Opie::Core::OSmartPointer<Folder>&folder, IMAPviewItem *parent , QListViewItem*after  );
00166     IMAPfolderItem( const Opie::Core::OSmartPointer<Folder>&folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master  );
00167     virtual ~IMAPfolderItem();
00168     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
00169     virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
00170     virtual bool contextMenuSelected(int);
00171     virtual const QString& Delemiter()const;
00172     virtual int isServer()const{return 2;}
00173     virtual QMap<int,QString> folderMenu();
00174 protected:
00175     virtual void createNewFolder();
00176     virtual bool deleteFolder();
00177     virtual void downloadMails();
00178     IMAPviewItem *imap;
00179 };
00180 
00181 class MHviewItem : public AccountViewItem
00182 {
00183     friend class MHfolderItem;
00184 
00185 public:
00186     MHviewItem( const QString&aMboxPath, AccountView *parent );
00187     virtual ~MHviewItem();
00188     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&target );
00189     virtual RECBODYP fetchBody( const Opie::Core::OSmartPointer<RecMail> &mail );
00190     AbstractMail *getWrapper();
00191     virtual bool contextMenuSelected(int);
00192     QStringList subFolders();
00193     virtual void refresh(bool force=false);
00194     virtual int isServer()const{return 3;}
00195     virtual QMap<int,QString> serverMenu();
00196     virtual QMap<int,QString> folderMenu();
00197 
00198 protected:
00199     void downloadMails();
00200     virtual void createFolder();
00201     QString m_Path;
00202     AbstractMail *wrapper;
00203     QStringList currentFolders;
00204 };
00205 
00206 class MHfolderItem : public AccountViewItem
00207 {
00208 
00209 public:
00210     MHfolderItem( const Opie::Core::OSmartPointer<Folder>&folder, MHviewItem *parent , QListViewItem*after  );
00211     MHfolderItem( const Opie::Core::OSmartPointer<Folder>&folder, MHfolderItem *parent, QListViewItem*after, MHviewItem*master);
00212     virtual ~MHfolderItem();
00213     virtual void refresh(QValueList<Opie::Core::OSmartPointer<RecMail> >&);
00214     virtual RECBODYP fetchBody(const Opie::Core::OSmartPointer<RecMail>&);
00215     virtual bool contextMenuSelected(int);
00216     virtual const Opie::Core::OSmartPointer<Folder>&getFolder()const;
00217     virtual bool isDraftfolder();
00218     virtual int isServer()const{return 2;}
00219     virtual QMap<int,QString> folderMenu();
00220 
00221 protected:
00222     void downloadMails();
00223     virtual void createFolder();
00224     virtual bool deleteFolder();
00225     void initName();
00226     MHviewItem *mbox;
00227 };
00228 
00229 #endif

Generated on Sat Nov 5 16:17:36 2005 for OPIE by  doxygen 1.4.2