insilmaril@0: #ifndef EXPORTS_H insilmaril@0: #define EXPORTS_H insilmaril@0: insilmaril@0: #include insilmaril@0: #include insilmaril@0: #include insilmaril@0: insilmaril@171: #include "settings.h" insilmaril@644: #include "vymmodel.h" insilmaril@0: insilmaril@465: insilmaril@465: /*! \brief Base class for all exports insilmaril@465: */ insilmaril@465: insilmaril@183: /////////////////////////////////////////////////////////////////////// insilmaril@171: insilmaril@171: class ExportBase insilmaril@0: { insilmaril@0: public: insilmaril@171: ExportBase(); insilmaril@819: ExportBase(VymModel *m); insilmaril@228: virtual ~ExportBase(); insilmaril@819: virtual void init(); insilmaril@424: virtual void setDir(const QDir&); insilmaril@228: virtual void setFile(const QString &); insilmaril@513: virtual QString getFile (); insilmaril@644: virtual void setModel (VymModel *m); insilmaril@228: virtual void setCaption(const QString &); insilmaril@228: virtual void addFilter (const QString &); insilmaril@228: virtual bool execDialog(); insilmaril@513: virtual bool canceled(); insilmaril@0: protected: insilmaril@644: VymModel *model; insilmaril@791: virtual QString getSectionString (TreeItem*); insilmaril@0: insilmaril@205: QDir tmpDir; insilmaril@424: QDir outDir; insilmaril@199: QString outputFile; insilmaril@0: QString indentPerDepth; insilmaril@228: QString caption; insilmaril@228: QString filter; insilmaril@513: bool cancelFlag; insilmaril@0: }; insilmaril@0: insilmaril@183: /////////////////////////////////////////////////////////////////////// insilmaril@807: class ExportAO:public ExportBase insilmaril@807: { insilmaril@807: public: insilmaril@807: ExportAO(); insilmaril@807: virtual void doExport(); insilmaril@807: virtual QString underline (const QString &text, const QString &line); insilmaril@807: }; insilmaril@807: insilmaril@807: /////////////////////////////////////////////////////////////////////// insilmaril@228: class ExportASCII:public ExportBase insilmaril@228: { insilmaril@228: public: insilmaril@513: ExportASCII(); insilmaril@228: virtual void doExport(); insilmaril@613: virtual QString underline (const QString &text, const QString &line); insilmaril@228: }; insilmaril@228: insilmaril@228: /////////////////////////////////////////////////////////////////////// insilmaril@497: class ExportCSV:public ExportBase insilmaril@497: { insilmaril@497: public: insilmaril@497: virtual void doExport(); insilmaril@497: }; insilmaril@497: insilmaril@497: /////////////////////////////////////////////////////////////////////// insilmaril@228: class ExportXMLBase:public ExportBase insilmaril@228: { insilmaril@228: }; insilmaril@228: insilmaril@228: /////////////////////////////////////////////////////////////////////// insilmaril@742: class ExportKDE3Bookmarks:public ExportXMLBase insilmaril@742: { insilmaril@742: public: insilmaril@742: virtual void doExport(); insilmaril@742: }; insilmaril@742: insilmaril@742: /////////////////////////////////////////////////////////////////////// insilmaril@742: class ExportKDE4Bookmarks:public ExportXMLBase insilmaril@239: { insilmaril@239: public: insilmaril@239: virtual void doExport(); insilmaril@239: }; insilmaril@239: insilmaril@239: /////////////////////////////////////////////////////////////////////// insilmaril@311: class ExportFirefoxBookmarks:public ExportXMLBase insilmaril@311: { insilmaril@311: public: insilmaril@311: virtual void doExport(); insilmaril@311: }; insilmaril@311: insilmaril@825: #include "exporthtmldialog.h" insilmaril@311: /////////////////////////////////////////////////////////////////////// insilmaril@819: class ExportHTML:public ExportBase insilmaril@819: { insilmaril@819: public: insilmaril@819: ExportHTML(); insilmaril@819: ExportHTML(VymModel *m); insilmaril@819: virtual void init(); insilmaril@824: virtual void setCSSPath(const QString &path); insilmaril@825: virtual void doExport(bool useDialog=true); insilmaril@819: private: insilmaril@819: QString getBranchText(BranchItem *); insilmaril@819: QString buildList (BranchItem *); insilmaril@819: QString imageMap; insilmaril@824: QString cssFileName; insilmaril@824: QString cssOriginalPath; insilmaril@819: insilmaril@819: bool frameURLs; insilmaril@819: bool noSingulars; insilmaril@819: QString singularDelimiter; insilmaril@819: insilmaril@819: QPointF offset; insilmaril@825: insilmaril@825: ExportHTMLDialog dia; insilmaril@819: }; insilmaril@819: insilmaril@819: /////////////////////////////////////////////////////////////////////// insilmaril@228: class ExportTaskjuggler:public ExportXMLBase insilmaril@228: { insilmaril@228: public: insilmaril@228: virtual void doExport(); insilmaril@228: }; insilmaril@228: insilmaril@228: /////////////////////////////////////////////////////////////////////// insilmaril@171: class ExportLaTeX:public ExportBase insilmaril@171: { insilmaril@171: public: insilmaril@228: virtual void doExport(); insilmaril@171: }; insilmaril@171: insilmaril@183: /////////////////////////////////////////////////////////////////////// insilmaril@171: class ExportOO:public ExportBase insilmaril@171: { insilmaril@171: public: insilmaril@171: ExportOO(); insilmaril@171: ~ExportOO(); insilmaril@171: void exportPresentation(); insilmaril@194: bool setConfigFile (const QString &); insilmaril@171: private: insilmaril@750: QString buildList (TreeItem *); insilmaril@194: bool useSections; insilmaril@183: QString configFile; insilmaril@183: QString configDir; insilmaril@171: QString templateDir; insilmaril@171: QString content; insilmaril@171: QString contentTemplate; insilmaril@171: QString contentTemplateFile; insilmaril@171: QString contentFile; insilmaril@171: QString pageTemplate; insilmaril@171: QString pageTemplateFile; insilmaril@194: QString sectionTemplate; insilmaril@194: QString sectionTemplateFile; insilmaril@171: }; insilmaril@0: #endif