libkdepim
maillistdrag.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef maillistdrag_h
00023 #define maillistdrag_h
00024
00025 #include "qdragobject.h"
00026 #include "qvaluelist.h"
00027 #include "qglobal.h"
00028 #include "time.h"
00029
00030 #include <kdepimmacros.h>
00031
00045 namespace KPIM {
00046
00047 class KDE_EXPORT MailSummary
00048 {
00049 public:
00050 MailSummary( Q_UINT32 serialNumber, QString messageId, QString subject,
00051 QString from, QString to, time_t date );
00052 MailSummary() {}
00053 ~MailSummary() {}
00054
00055
00056 void set( Q_UINT32, QString, QString, QString, QString, time_t );
00057
00058
00059 Q_UINT32 serialNumber();
00060
00061
00062 QString messageId();
00063
00064
00065 QString subject();
00066
00067
00068 QString from();
00069
00071 QString to();
00072
00073
00074 time_t date();
00075
00076 private:
00077 Q_UINT32 mSerialNumber;
00078 QString mMessageId, mSubject, mFrom, mTo;
00079 time_t mDate;
00080 };
00081
00082
00083 typedef QValueList<MailSummary> MailList;
00084
00085
00086 class KDE_EXPORT MailTextSource {
00087 public:
00088 MailTextSource() {}
00089 virtual ~MailTextSource() {}
00090
00091 virtual QCString text(Q_UINT32 serialNumber) const = 0;
00092 };
00093
00094
00095 class KDE_EXPORT MailListDrag : public QStoredDrag
00096 {
00097 public:
00098
00099 MailListDrag( MailList, QWidget * parent = 0, MailTextSource *src = 0 );
00100 ~MailListDrag();
00101
00102 const char *format(int i) const;
00103
00104 bool provides(const char *mimeType) const;
00105
00106 QByteArray encodedData(const char *) const;
00107
00108
00109 void setMailList( MailList );
00110
00111
00112 static const char* format();
00113
00114
00115
00116 static bool canDecode( QMimeSource* e );
00117
00118
00119
00120 static bool decode( QDropEvent* e, MailList& s );
00121
00122
00123
00124 static bool decode( QDropEvent* e, QByteArray& a );
00125
00126
00127
00128 static bool decode( QByteArray& a, MailList& s );
00129
00130 private:
00131 MailTextSource *_src;
00132 };
00133
00134 }
00135 #endif
|