X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=src%2Fexport-base.h;fp=src%2Fexport-base.h;h=eeef11a89b022121d8037cb95cb88bd230144390;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=0000000000000000000000000000000000000000;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/src/export-base.h b/src/export-base.h new file mode 100644 index 0000000..eeef11a --- /dev/null +++ b/src/export-base.h @@ -0,0 +1,68 @@ +#ifndef EXPORT_BASE_H +#define EXPORT_BASE_H + +#include +#include +#include +#include + +#include "settings.h" +#include "vymmodel.h" + +/*! \brief Base class for all exports + */ + +/////////////////////////////////////////////////////////////////////// + +class ExportBase { + public: + enum Result {Undefined, Success, Failed, Ongoing}; + ExportBase(); + ExportBase(VymModel *m); + virtual ~ExportBase(); + virtual void init(); + virtual void setupTmpDir(); + virtual void setDirPath(const QString &); + virtual QString getDirPath(); + virtual void setFilePath(const QString &); + virtual QString getFilePath(); + virtual QString getMapName(); + virtual void setModel(VymModel *m); + virtual void setWindowTitle(const QString &); + virtual void setName(const QString &); + virtual QString getName(); + virtual void addFilter(const QString &); + virtual void setListTasks(bool b); + virtual bool execDialog(); + virtual bool canceled(); + void setLastCommand(const QString &); + void setResult(const Result &r); + void completeExport( + QStringList args); //! set lastExport and send status message + void completeExport(); + + protected: + VymModel *model; + QString exportName; + QString lastCommand; + virtual QString getSectionString(TreeItem *); + + QString indent(const int &n, bool useBullet); + QDir tmpDir; + QString displayedDestination; + // Can be the filePath or URL. Used for display in "ExportLast" + QString dirPath; // Path to dir e.g. /tmp/vym-export/ + QString defaultDirPath; // Default path + QString filePath; // Path to file e.g. /tmp/vym-export/export.html + QString extension; // Extension, e.g. .html + QString indentPerDepth; + int indentPerDepth2; + QStringList bulletPoints; + QString caption; + QString filter; + bool listTasks; // Append task list + bool cancelFlag; + Result result; +}; + +#endif