summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountitem.h
Unidiff
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 @@
1#ifndef __ACCOUNT_ITEM
2#define __ACCOUNT_ITEM
3
4#include <qlistview.h>
5#include <qlist.h>
6
7class POP3wrapper;
8class RecMail;
9class RecBody;
10class QPopupMenu;
11class Selectstore;
12class AccountView;
13class POP3account;
14class IMAPaccount;
15class AbstractMail;
16class Folder;
17
18class AccountViewItem : public QListViewItem
19{
20
21public:
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
33protected:
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
43class POP3viewItem : public AccountViewItem
44{
45
46public:
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
55protected:
56 POP3account *account;
57 virtual void refresh();
58 AbstractMail *wrapper;
59 void disconnect();
60 void setOnOffline();
61};
62
63class POP3folderItem : public AccountViewItem
64{
65
66public:
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
74protected:
75 void downloadMails();
76 POP3viewItem *pop3;
77};
78
79class IMAPviewItem : public AccountViewItem
80{
81 friend class IMAPfolderItem;
82public:
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
94protected:
95 virtual void createNewFolder();
96 IMAPaccount *account;
97 AbstractMail *wrapper;
98 QStringList currentFolders;
99};
100
101class IMAPfolderItem : public AccountViewItem
102{
103
104public:
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;
113protected:
114 virtual void createNewFolder();
115 virtual void deleteFolder();
116 virtual void downloadMails();
117 IMAPviewItem *imap;
118};
119
120class MHviewItem : public AccountViewItem
121{
122 friend class MHfolderItem;
123
124public:
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
135protected:
136 void downloadMails();
137 virtual void createFolder();
138 QString m_Path;
139 AbstractMail *wrapper;
140 QStringList currentFolders;
141};
142
143class MHfolderItem : public AccountViewItem
144{
145
146public:
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
156protected:
157 void downloadMails();
158 virtual void createFolder();
159 virtual void deleteFolder();
160 void initName();
161 MHviewItem *mbox;
162};
163
164#endif