kmail
khtmlparthtmlwriter.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __KMAIL_KHTMLPARTHTMLWRITER_H__
00033 #define __KMAIL_KHTMLPARTHTMLWRITER_H__
00034
00035 #include "interfaces/htmlwriter.h"
00036 #include <qobject.h>
00037
00038 #include <qstringlist.h>
00039 #include <qtimer.h>
00040
00041 class QString;
00042 class KHTMLPart;
00043
00044 namespace KMail {
00045
00046 class KHtmlPartHtmlWriter : public QObject, public HtmlWriter {
00047 Q_OBJECT
00048 public:
00049
00050 typedef QMap<QString, QString> EmbeddedPartMap;
00051 KHtmlPartHtmlWriter( KHTMLPart * part,
00052 QObject * parent=0, const char * name = 0 );
00053 virtual ~KHtmlPartHtmlWriter();
00054
00055 void begin( const QString & cssDefs );
00056 void end();
00057 void reset();
00058 void write( const QString & str );
00059 void queue( const QString & str );
00060 void flush();
00061 void embedPart( const QCString & contentId, const QString & url );
00062
00063 private slots:
00064 void slotWriteNextHtmlChunk();
00065
00066 private:
00067 void resolveCidUrls();
00068
00069 private:
00070 KHTMLPart * mHtmlPart;
00071 QStringList mHtmlQueue;
00072 QTimer mHtmlTimer;
00073 enum State {
00074 Begun,
00075 Queued,
00076 Ended
00077 } mState;
00078 EmbeddedPartMap mEmbeddedPartMap;
00079 };
00080
00081 }
00082
00083 #endif // __KMAIL_KHTMLPARTHTMLWRITER_H__
|