#ifndef __KIF_HTMLEXPORT_H
#define __KIF_HTMLEXPORT_H
#include
#include
#include
#include
// we throw all the config data here to be better organized and to save us
// having config->readEntry calls all over the place ;-) There is a ton of
// config data and it's hard to keep track of all the keys :P
struct htmldata
{
int rows, cols;
int thumbWidth, thumbHeight;
int borderStyle;
QColor frameFg, frameBg, frameFill;
int frameWidth;
int style;
int htmlBorderWidth;
bool includeFilename;
QColor htmlBgColor, htmlTextColor, htmlLinkColor, htmlFollowedLinkColor;
bool useHome, useHomeImage, useNextImage, useBackImage;
QString homeURL, homeImageURL, nextImageURL, backImageURL;
QString homeBtnText, nextBtnText, backBtnText;
bool useBannerAd;
QString bannerURL, bannerImageURL;
int bannerHeight;
QString title;
QString filenamePrefix;
};
class HTMLExportBase : public QObject
{
Q_OBJECT
public:
HTMLExportBase(QObject *parent=0, const char *name=0);
~HTMLExportBase(){qWarning("Deleting HTML exporter");}
void run(const QString &path, const QStringList &fileList);
QString filename(int page);
void writeGrid(QTextStream &stream, bool newwindow);
void writePlainFrame(const QString &path, const QStringList &fileList);
void writeThumbnailFrame(const QString &path, const QStringList &fileList);
void writeHeader(QTextStream &stream);
void writeFooter(QTextStream &stream);
void writePageIndex(int page, QTextStream &stream);
void createThumbnail(const QString &path, const QString &fileName);
signals:
void updateProgress(int val);
void setStatusBarText(const QString &text);
protected:
void loadSettings();
struct htmldata data;
int pages;
int imagesPerPage;
QStringList::ConstIterator it;
QStringList::ConstIterator end;
};
#endif