From 7f2eef29708380844922f34f59ba4e9beefbf7c3 Mon Sep 17 00:00:00 2001 From: conber Date: Sat, 15 Jun 2002 09:46:14 +0000 Subject: initial checkin --- (limited to 'noncore/unsupported/mail2/mailtable.h') 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 @@ +#ifndef MAILTABLE_H +#define MAILTABLE_H + +#include + +#include "listviewplus.h" +#include "imapresponse.h" +#include "folderwidget.h" +#include "imaphandler.h" + +class MailPart +{ +public: + void setMimeType(QString mimeType) { _mimeType = mimeType; } + void setFileName(QString fileName) { _fileName = fileName; } + void setDescription(QString description) { _description = description; } + void setData(QString data) { _data = data; } + + QString mimeType() { return _mimeType; } + QString fileName() { return _fileName; } + QString description() { return _description; } + QString data() { return _data; } + +private: + QString _mimeType, _fileName, _description, _data; + +}; + +class Mail +{ +public: + enum ReadState { New, Unread, Old }; + + void setFrom(QString from) { _from = from; } + void setTo(QString to) { _to = to; } + void setSubject(QString subject) { _subject = subject; } + void setDate(QDate date) { _date = date; } + void setBody(QString body) { _body = body; } + void setReadState(ReadState readState) { _readState = readState; } + void setMailParts(QValueList parts) { _parts = parts; } + void addMailParts(MailPart part) { _parts.append(part); } + + QString from() { return _from; } + QString to() { return _to; } + QString subject() { return _subject; } + QDate date() { return _date; } + QString body() { return _body; } + ReadState readState() { return _readState; } + QValueList mailParts() { return _parts; } + +private: + QString _from, _to, _subject, _body; + QDate _date; + QValueList _parts; + ReadState _readState; + +}; + +class MailTableItem : public QListViewItem +{ +public: + MailTableItem(QListView *parent, IMAPResponseFETCH fetch); + + IMAPResponseFETCH fetch() { return _fetch; } + +protected: + void paintCell(QPainter *painter, const QColorGroup &cg, int col, int width, int align); + +private: + IMAPResponseFETCH _fetch; + bool _draft, _new, _unseen; + +}; + +class MailTable : public ListViewPlus +{ + Q_OBJECT + +public: + MailTable(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); + + void addMail(Mail &mail); + void setHeaders(QValueList response); + +public slots: + void stop() { _stopped = true; } + void setFolder(Folder folder); + +signals: + void totalSteps(int steps); + void progress(int progress); + void resetProgress(); + void mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler); + void status(const QString &text); + void stopEnabled(bool stop); + +protected: + static const int MENU_COPY = 0; + static const int MENU_MARK_READ = 0; + static const int MENU_MARK_UNREAD = 1; + static const int MENU_MARK_MARKED = 2; + static const int MENU_MARK_UNMARKED = 3; + static const int MENU_MARK = 1; + static const int MENU_DELETE = 2; + +protected slots: + void itemClicked(QListViewItem *); + + void slotIMAPSelect(IMAPResponse &response); + void slotIMAPFetch(IMAPResponse &response); + +private: + QWidget *_parent; + IMAPHandler *_handler; + int _downloadSteps, _lastStep, _currentProgress; + bool _stopped; + +}; + +#endif + -- cgit v0.9.0.2