summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/mailtable.h
Unidiff
Diffstat (limited to 'noncore/unsupported/mail2/mailtable.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/mailtable.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/noncore/unsupported/mail2/mailtable.h b/noncore/unsupported/mail2/mailtable.h
new file mode 100644
index 0000000..6deb70a
--- a/dev/null
+++ b/noncore/unsupported/mail2/mailtable.h
@@ -0,0 +1,121 @@
1#ifndef MAILTABLE_H
2#define MAILTABLE_H
3
4#include <qdatetime.h>
5
6#include "listviewplus.h"
7#include "imapresponse.h"
8#include "folderwidget.h"
9#include "imaphandler.h"
10
11class MailPart
12{
13public:
14 void setMimeType(QString mimeType) { _mimeType = mimeType; }
15 void setFileName(QString fileName) { _fileName = fileName; }
16 void setDescription(QString description) { _description = description; }
17 void setData(QString data) { _data = data; }
18
19 QString mimeType() { return _mimeType; }
20 QString fileName() { return _fileName; }
21 QString description() { return _description; }
22 QString data() { return _data; }
23
24private:
25 QString _mimeType, _fileName, _description, _data;
26
27};
28
29class Mail
30{
31public:
32 enum ReadState { New, Unread, Old };
33
34 void setFrom(QString from) { _from = from; }
35 void setTo(QString to) { _to = to; }
36 void setSubject(QString subject) { _subject = subject; }
37 void setDate(QDate date) { _date = date; }
38 void setBody(QString body) { _body = body; }
39 void setReadState(ReadState readState) { _readState = readState; }
40 void setMailParts(QValueList<MailPart> parts) { _parts = parts; }
41 void addMailParts(MailPart part) { _parts.append(part); }
42
43 QString from() { return _from; }
44 QString to() { return _to; }
45 QString subject() { return _subject; }
46 QDate date() { return _date; }
47 QString body() { return _body; }
48 ReadState readState() { return _readState; }
49 QValueList<MailPart> mailParts() { return _parts; }
50
51private:
52 QString _from, _to, _subject, _body;
53 QDate _date;
54 QValueList<MailPart> _parts;
55 ReadState _readState;
56
57};
58
59class MailTableItem : public QListViewItem
60{
61public:
62 MailTableItem(QListView *parent, IMAPResponseFETCH fetch);
63
64 IMAPResponseFETCH fetch() { return _fetch; }
65
66protected:
67 void paintCell(QPainter *painter, const QColorGroup &cg, int col, int width, int align);
68
69private:
70 IMAPResponseFETCH _fetch;
71 bool _draft, _new, _unseen;
72
73};
74
75class MailTable : public ListViewPlus
76{
77 Q_OBJECT
78
79public:
80 MailTable(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
81
82 void addMail(Mail &mail);
83 void setHeaders(QValueList<IMAPResponseFETCH> response);
84
85public slots:
86 void stop() { _stopped = true; }
87 void setFolder(Folder folder);
88
89signals:
90 void totalSteps(int steps);
91 void progress(int progress);
92 void resetProgress();
93 void mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler);
94 void status(const QString &text);
95 void stopEnabled(bool stop);
96
97protected:
98 static const int MENU_COPY = 0;
99 static const int MENU_MARK_READ = 0;
100 static const int MENU_MARK_UNREAD = 1;
101 static const int MENU_MARK_MARKED = 2;
102 static const int MENU_MARK_UNMARKED = 3;
103 static const int MENU_MARK = 1;
104 static const int MENU_DELETE = 2;
105
106protected slots:
107 void itemClicked(QListViewItem *);
108
109 void slotIMAPSelect(IMAPResponse &response);
110 void slotIMAPFetch(IMAPResponse &response);
111
112private:
113 QWidget *_parent;
114 IMAPHandler *_handler;
115 int _downloadSteps, _lastStep, _currentProgress;
116 bool _stopped;
117
118};
119
120#endif
121