]> git.sven.stormbind.net Git - sven/vym.git/blob - src/export-base.h
New upstream version 2.9.22
[sven/vym.git] / src / export-base.h
1 #ifndef EXPORT_BASE_H
2 #define EXPORT_BASE_H
3
4 #include <QDir>
5 #include <QMap>
6 #include <QString>
7 #include <iostream>
8
9 #include "settings.h"
10 #include "vymmodel.h"
11
12 /*! \brief Base class for all exports
13  */
14
15 ///////////////////////////////////////////////////////////////////////
16
17 class ExportBase {
18   public:
19     enum Result {Undefined, Success, Failed, Ongoing};
20     ExportBase();
21     ExportBase(VymModel *m);
22     virtual ~ExportBase();
23     virtual void init();
24     virtual void setupTmpDir();
25     virtual void setDirPath(const QString &);
26     virtual QString getDirPath();
27     virtual void setFilePath(const QString &);
28     virtual QString getFilePath();
29     virtual QString getMapName();
30     virtual void setModel(VymModel *m);
31     virtual void setWindowTitle(const QString &);
32     virtual void setName(const QString &);
33     virtual QString getName();
34     virtual void addFilter(const QString &);
35     virtual void setListTasks(bool b);
36     virtual bool execDialog();
37     virtual bool canceled();
38     void setLastCommand(const QString &);
39     void setResult(const Result &r);
40     void completeExport(
41         QStringList args); //! set lastExport and send status message
42     void completeExport();
43
44   protected:
45     VymModel *model;
46     QString exportName;
47     QString lastCommand;
48     virtual QString getSectionString(TreeItem *);
49
50     QString indent(const int &n, bool useBullet);
51     QDir tmpDir;
52     QString displayedDestination;    
53         // Can be the filePath or URL. Used for display in  "ExportLast"
54     QString dirPath;        // Path to dir  e.g. /tmp/vym-export/
55     QString defaultDirPath; // Default path
56     QString filePath;       // Path to file e.g. /tmp/vym-export/export.html
57     QString extension;      // Extension, e.g. .html
58     QString indentPerDepth;
59     int indentPerDepth2;
60     QStringList bulletPoints;
61     QString caption;
62     QString filter;
63     bool listTasks; // Append task list
64     bool cancelFlag;
65     Result result;
66 };
67
68 #endif