summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountview.h
Unidiff
Diffstat (limited to 'noncore/net/mail/accountview.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountview.h71
1 files changed, 40 insertions, 31 deletions
diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h
index 7131192..48f52c7 100644
--- a/noncore/net/mail/accountview.h
+++ b/noncore/net/mail/accountview.h
@@ -12,36 +12,45 @@ class POP3wrapper;
12class RecMail; 12class RecMail;
13class RecBody; 13class RecBody;
14class QPopupMenu; 14class QPopupMenu;
15class Selectstore;
16class AccountView;
15 17
16class AccountViewItem : public QListViewItem 18class AccountViewItem : public QListViewItem
17{ 19{
18 20
19public: 21public:
20 AccountViewItem( QListView *parent ) : QListViewItem( parent ) {} 22 AccountViewItem( AccountView *parent );
21 AccountViewItem( QListViewItem *parent) : QListViewItem( parent) {} 23 AccountViewItem( QListViewItem *parent);
22 AccountViewItem( QListViewItem *parent , QListViewItem*after ) : QListViewItem( parent,after ) {} 24 AccountViewItem( QListViewItem *parent , QListViewItem*after );
25 virtual ~AccountViewItem();
23 virtual void refresh(QList<RecMail>&)=0; 26 virtual void refresh(QList<RecMail>&)=0;
24 virtual RecBody fetchBody(const RecMail&)=0; 27 virtual RecBody fetchBody(const RecMail&)=0;
25 virtual QPopupMenu * getContextMenu(){return 0;}; 28 virtual QPopupMenu * getContextMenu(){return 0;};
26 virtual void contextMenuSelected(int){} 29 virtual void contextMenuSelected(int){}
30 virtual AccountView*accountView();
27protected: 31protected:
28 virtual void deleteAllMail(AbstractMail*wrapper,Folder*f); 32 virtual void deleteAllMail(AbstractMail*wrapper,Folder*f);
29 static const QString contextName; 33 static const QString contextName;
34 AccountView*m_Backlink;
30}; 35};
31 36
32class POP3viewItem : public AccountViewItem 37class POP3viewItem : public AccountViewItem
33{ 38{
34 39
35public: 40public:
36 POP3viewItem( POP3account *a, QListView *parent ); 41 POP3viewItem( POP3account *a, AccountView *parent );
37 ~POP3viewItem(); 42 virtual ~POP3viewItem();
38 virtual void refresh( QList<RecMail> &target ); 43 virtual void refresh( QList<RecMail> &target );
39 virtual RecBody fetchBody( const RecMail &mail ); 44 virtual RecBody fetchBody( const RecMail &mail );
40 AbstractMail *getWrapper(); 45 AbstractMail *getWrapper();
41private: 46 virtual QPopupMenu * getContextMenu();
47 virtual void contextMenuSelected(int);
48
49protected:
42 POP3account *account; 50 POP3account *account;
43 AbstractMail *wrapper; 51 AbstractMail *wrapper;
44 52 void disconnect();
53 void setOnOffline();
45}; 54};
46 55
47class POP3folderItem : public AccountViewItem 56class POP3folderItem : public AccountViewItem
@@ -49,7 +58,7 @@ class POP3folderItem : public AccountViewItem
49 58
50public: 59public:
51 POP3folderItem( Folder *folder, POP3viewItem *parent , QListViewItem*after ); 60 POP3folderItem( Folder *folder, POP3viewItem *parent , QListViewItem*after );
52 ~POP3folderItem(); 61 virtual ~POP3folderItem();
53 virtual void refresh(QList<RecMail>&); 62 virtual void refresh(QList<RecMail>&);
54 virtual RecBody fetchBody(const RecMail&); 63 virtual RecBody fetchBody(const RecMail&);
55 virtual QPopupMenu * getContextMenu(); 64 virtual QPopupMenu * getContextMenu();
@@ -57,8 +66,6 @@ public:
57 66
58protected: 67protected:
59 void downloadMails(); 68 void downloadMails();
60
61private:
62 Folder *folder; 69 Folder *folder;
63 POP3viewItem *pop3; 70 POP3viewItem *pop3;
64}; 71};
@@ -69,23 +76,24 @@ class IMAPviewItem : public AccountViewItem
69{ 76{
70 friend class IMAPfolderItem; 77 friend class IMAPfolderItem;
71public: 78public:
72 IMAPviewItem( IMAPaccount *a, QListView *parent ); 79 IMAPviewItem( IMAPaccount *a, AccountView *parent );
73 ~IMAPviewItem(); 80 virtual ~IMAPviewItem();
74 virtual void refresh(QList<RecMail>&); 81 virtual void refresh(QList<RecMail>&);
75 virtual RecBody fetchBody(const RecMail&); 82 virtual RecBody fetchBody(const RecMail&);
76 AbstractMail *getWrapper(); 83 AbstractMail *getWrapper();
77 virtual QPopupMenu * getContextMenu(); 84 virtual QPopupMenu * getContextMenu();
78 virtual void contextMenuSelected(int); 85 virtual void contextMenuSelected(int);
86 const QStringList&subFolders();
87 virtual void refreshFolders(bool force=false);
88 bool offline();
79 89
80protected: 90protected:
81 IMAPfolderItem*findSubItem(const QString&path,IMAPfolderItem*start=0); 91 IMAPfolderItem*findSubItem(const QString&path,IMAPfolderItem*start=0);
82 virtual void refreshFolders(bool force=false);
83 virtual void createNewFolder(); 92 virtual void createNewFolder();
84 virtual void removeChilds(); 93 virtual void removeChilds();
85
86private:
87 IMAPaccount *account; 94 IMAPaccount *account;
88 AbstractMail *wrapper; 95 AbstractMail *wrapper;
96 QStringList currentFolders;
89}; 97};
90 98
91class IMAPfolderItem : public AccountViewItem 99class IMAPfolderItem : public AccountViewItem
@@ -94,7 +102,7 @@ class IMAPfolderItem : public AccountViewItem
94public: 102public:
95 IMAPfolderItem( Folder *folder, IMAPviewItem *parent , QListViewItem*after ); 103 IMAPfolderItem( Folder *folder, IMAPviewItem *parent , QListViewItem*after );
96 IMAPfolderItem( Folder *folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ); 104 IMAPfolderItem( Folder *folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master );
97 ~IMAPfolderItem(); 105 virtual ~IMAPfolderItem();
98 virtual void refresh(QList<RecMail>&); 106 virtual void refresh(QList<RecMail>&);
99 virtual RecBody fetchBody(const RecMail&); 107 virtual RecBody fetchBody(const RecMail&);
100 bool matchName(const QString&name)const; 108 bool matchName(const QString&name)const;
@@ -104,8 +112,7 @@ public:
104protected: 112protected:
105 virtual void createNewFolder(); 113 virtual void createNewFolder();
106 virtual void deleteFolder(); 114 virtual void deleteFolder();
107 115 virtual void downloadMails();
108private:
109 Folder *folder; 116 Folder *folder;
110 IMAPviewItem *imap; 117 IMAPviewItem *imap;
111}; 118};
@@ -115,21 +122,18 @@ class MBOXviewItem : public AccountViewItem
115 friend class MBOXfolderItem; 122 friend class MBOXfolderItem;
116 123
117public: 124public:
118// MBOXviewItem( MBOXaccount *a, QListView *parent ); 125 MBOXviewItem( const QString&aMboxPath, AccountView *parent );
119 MBOXviewItem( const QString&aMboxPath, QListView *parent ); 126 virtual ~MBOXviewItem();
120 ~MBOXviewItem();
121 virtual void refresh( QList<RecMail> &target ); 127 virtual void refresh( QList<RecMail> &target );
122 virtual RecBody fetchBody( const RecMail &mail ); 128 virtual RecBody fetchBody( const RecMail &mail );
123 AbstractMail *getWrapper(); 129 AbstractMail *getWrapper();
124 virtual QPopupMenu * getContextMenu(); 130 virtual QPopupMenu * getContextMenu();
125 virtual void contextMenuSelected(int); 131 virtual void contextMenuSelected(int);
132 QStringList subFolders();
133 virtual void refresh(bool force=false);
126 134
127protected: 135protected:
128 virtual void refresh(bool force=false);
129 virtual void createFolder(); 136 virtual void createFolder();
130
131private:
132// MBOXaccount *account;
133 QString m_Path; 137 QString m_Path;
134 AbstractMail *wrapper; 138 AbstractMail *wrapper;
135 139
@@ -140,15 +144,15 @@ class MBOXfolderItem : public AccountViewItem
140 144
141public: 145public:
142 MBOXfolderItem( Folder *folder, MBOXviewItem *parent , QListViewItem*after ); 146 MBOXfolderItem( Folder *folder, MBOXviewItem *parent , QListViewItem*after );
143 ~MBOXfolderItem(); 147 virtual ~MBOXfolderItem();
144 virtual void refresh(QList<RecMail>&); 148 virtual void refresh(QList<RecMail>&);
145 virtual RecBody fetchBody(const RecMail&); 149 virtual RecBody fetchBody(const RecMail&);
146 virtual QPopupMenu * getContextMenu(); 150 virtual QPopupMenu * getContextMenu();
147 virtual void contextMenuSelected(int); 151 virtual void contextMenuSelected(int);
152 virtual Folder*getFolder();
148 153
149protected: 154protected:
150 virtual void deleteFolder(); 155 virtual void deleteFolder();
151private:
152 Folder *folder; 156 Folder *folder;
153 MBOXviewItem *mbox; 157 MBOXviewItem *mbox;
154}; 158};
@@ -159,8 +163,10 @@ class AccountView : public QListView
159 163
160public: 164public:
161 AccountView( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 ); 165 AccountView( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 );
162 void populate( QList<Account> list ); 166 virtual ~AccountView();
163 RecBody fetchBody(const RecMail&aMail); 167 virtual void populate( QList<Account> list );
168 virtual RecBody fetchBody(const RecMail&aMail);
169 virtual void downloadMails(Folder*fromFolder,AbstractMail*fromWrapper);
164 170
165public slots: 171public slots:
166 virtual void refreshAll(); 172 virtual void refreshAll();
@@ -168,12 +174,15 @@ public slots:
168 virtual void refreshCurrent(); 174 virtual void refreshCurrent();
169 virtual void slotHold(int, QListViewItem *,const QPoint&,int); 175 virtual void slotHold(int, QListViewItem *,const QPoint&,int);
170 virtual void slotContextMenu(int id); 176 virtual void slotContextMenu(int id);
177 void setupFolderselect(Selectstore*sels);
171 178
172signals: 179signals:
173 void refreshMailview(QList<RecMail>*); 180 void refreshMailview(QList<RecMail>*);
174 181
175private: 182protected:
176 QListViewItem* m_currentItem; 183 QListViewItem* m_currentItem;
184 QValueList<IMAPviewItem*> imapAccounts;
185 QValueList<MBOXviewItem*> mboxAccounts;
177}; 186};
178 187
179#endif 188#endif