Diffstat (limited to 'noncore/net/mail/accountitem.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/accountitem.h | 164 |
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 @@ | |||
1 | #ifndef __ACCOUNT_ITEM | ||
2 | #define __ACCOUNT_ITEM | ||
3 | |||
4 | #include <qlistview.h> | ||
5 | #include <qlist.h> | ||
6 | |||
7 | class POP3wrapper; | ||
8 | class RecMail; | ||
9 | class RecBody; | ||
10 | class QPopupMenu; | ||
11 | class Selectstore; | ||
12 | class AccountView; | ||
13 | class POP3account; | ||
14 | class IMAPaccount; | ||
15 | class AbstractMail; | ||
16 | class Folder; | ||
17 | |||
18 | class AccountViewItem : public QListViewItem | ||
19 | { | ||
20 | |||
21 | public: | ||
22 | AccountViewItem( AccountView *parent ); | ||
23 | AccountViewItem( QListViewItem *parent); | ||
24 | AccountViewItem( QListViewItem *parent , QListViewItem*after ); | ||
25 | virtual ~AccountViewItem(); | ||
26 | virtual void refresh(QList<RecMail>&)=0; | ||
27 | virtual RecBody fetchBody(const RecMail&)=0; | ||
28 | virtual QPopupMenu * getContextMenu(){return 0;}; | ||
29 | virtual void contextMenuSelected(int){} | ||
30 | virtual AccountView*accountView(); | ||
31 | virtual bool matchName(const QString&name)const; | ||
32 | |||
33 | protected: | ||
34 | AccountViewItem*findSubItem(const QString&path,AccountViewItem*start=0); | ||
35 | virtual void init(); | ||
36 | virtual void removeChilds(); | ||
37 | virtual void deleteAllMail(AbstractMail*wrapper,Folder*f); | ||
38 | static const QString contextName; | ||
39 | AccountView*m_Backlink; | ||
40 | Folder *folder; | ||
41 | }; | ||
42 | |||
43 | class POP3viewItem : public AccountViewItem | ||
44 | { | ||
45 | |||
46 | public: | ||
47 | POP3viewItem( POP3account *a, AccountView *parent ); | ||
48 | virtual ~POP3viewItem(); | ||
49 | virtual void refresh( QList<RecMail> &target ); | ||
50 | virtual RecBody fetchBody( const RecMail &mail ); | ||
51 | AbstractMail *getWrapper(); | ||
52 | virtual QPopupMenu * getContextMenu(); | ||
53 | virtual void contextMenuSelected(int); | ||
54 | |||
55 | protected: | ||
56 | POP3account *account; | ||
57 | virtual void refresh(); | ||
58 | AbstractMail *wrapper; | ||
59 | void disconnect(); | ||
60 | void setOnOffline(); | ||
61 | }; | ||
62 | |||
63 | class POP3folderItem : public AccountViewItem | ||
64 | { | ||
65 | |||
66 | public: | ||
67 | POP3folderItem( Folder *folder, POP3viewItem *parent , QListViewItem*after ); | ||
68 | virtual ~POP3folderItem(); | ||
69 | virtual void refresh(QList<RecMail>&); | ||
70 | virtual RecBody fetchBody(const RecMail&); | ||
71 | virtual QPopupMenu * getContextMenu(); | ||
72 | virtual void contextMenuSelected(int); | ||
73 | |||
74 | protected: | ||
75 | void downloadMails(); | ||
76 | POP3viewItem *pop3; | ||
77 | }; | ||
78 | |||
79 | class IMAPviewItem : public AccountViewItem | ||
80 | { | ||
81 | friend class IMAPfolderItem; | ||
82 | public: | ||
83 | IMAPviewItem( IMAPaccount *a, AccountView *parent ); | ||
84 | virtual ~IMAPviewItem(); | ||
85 | virtual void refresh(QList<RecMail>&); | ||
86 | virtual RecBody fetchBody(const RecMail&); | ||
87 | AbstractMail *getWrapper(); | ||
88 | virtual QPopupMenu * getContextMenu(); | ||
89 | virtual void contextMenuSelected(int); | ||
90 | const QStringList&subFolders(); | ||
91 | virtual void refreshFolders(bool force=false); | ||
92 | bool offline(); | ||
93 | |||
94 | protected: | ||
95 | virtual void createNewFolder(); | ||
96 | IMAPaccount *account; | ||
97 | AbstractMail *wrapper; | ||
98 | QStringList currentFolders; | ||
99 | }; | ||
100 | |||
101 | class IMAPfolderItem : public AccountViewItem | ||
102 | { | ||
103 | |||
104 | public: | ||
105 | IMAPfolderItem( Folder *folder, IMAPviewItem *parent , QListViewItem*after ); | ||
106 | IMAPfolderItem( Folder *folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ); | ||
107 | virtual ~IMAPfolderItem(); | ||
108 | virtual void refresh(QList<RecMail>&); | ||
109 | virtual RecBody fetchBody(const RecMail&); | ||
110 | virtual QPopupMenu * getContextMenu(); | ||
111 | virtual void contextMenuSelected(int); | ||
112 | virtual const QString& Delemiter()const; | ||
113 | protected: | ||
114 | virtual void createNewFolder(); | ||
115 | virtual void deleteFolder(); | ||
116 | virtual void downloadMails(); | ||
117 | IMAPviewItem *imap; | ||
118 | }; | ||
119 | |||
120 | class MHviewItem : public AccountViewItem | ||
121 | { | ||
122 | friend class MHfolderItem; | ||
123 | |||
124 | public: | ||
125 | MHviewItem( const QString&aMboxPath, AccountView *parent ); | ||
126 | virtual ~MHviewItem(); | ||
127 | virtual void refresh( QList<RecMail> &target ); | ||
128 | virtual RecBody fetchBody( const RecMail &mail ); | ||
129 | AbstractMail *getWrapper(); | ||
130 | virtual QPopupMenu * getContextMenu(); | ||
131 | virtual void contextMenuSelected(int); | ||
132 | QStringList subFolders(); | ||
133 | virtual void refresh(bool force=false); | ||
134 | |||
135 | protected: | ||
136 | void downloadMails(); | ||
137 | virtual void createFolder(); | ||
138 | QString m_Path; | ||
139 | AbstractMail *wrapper; | ||
140 | QStringList currentFolders; | ||
141 | }; | ||
142 | |||
143 | class MHfolderItem : public AccountViewItem | ||
144 | { | ||
145 | |||
146 | public: | ||
147 | MHfolderItem( Folder *folder, MHviewItem *parent , QListViewItem*after ); | ||
148 | MHfolderItem( Folder *folder, MHfolderItem *parent, QListViewItem*after, MHviewItem*master); | ||
149 | virtual ~MHfolderItem(); | ||
150 | virtual void refresh(QList<RecMail>&); | ||
151 | virtual RecBody fetchBody(const RecMail&); | ||
152 | virtual QPopupMenu * getContextMenu(); | ||
153 | virtual void contextMenuSelected(int); | ||
154 | virtual Folder*getFolder(); | ||
155 | |||
156 | protected: | ||
157 | void downloadMails(); | ||
158 | virtual void createFolder(); | ||
159 | virtual void deleteFolder(); | ||
160 | void initName(); | ||
161 | MHviewItem *mbox; | ||
162 | }; | ||
163 | |||
164 | #endif | ||