]> git.sven.stormbind.net Git - sven/vym.git/blob - src/imports.h
Replace Pierre as the maintainer
[sven/vym.git] / src / imports.h
1 #ifndef IMPORTS_H
2 #define IMPORTS_H
3
4 #include <iostream>
5 #include <QDir>
6 #include <QProgressDialog>
7 #include <QString>
8
9 #include "settings.h"
10
11 class VymModel;
12 class BranchItem;
13
14 ///////////////////////////////////////////////////////////////////////
15
16 class ImportBase {
17   public:
18     ImportBase();
19     ImportBase(VymModel *m);
20     virtual ~ImportBase();
21     void init();
22     virtual void setDir(const QString &);
23     virtual void setFile(const QString &);
24     virtual bool transform();
25     virtual QString getTransformedFile();
26
27   protected:
28     VymModel *model;
29     QDir tmpDir;
30     QString inputDir;
31     QString inputFile;
32     QString transformedFile;
33 };
34
35 ///////////////////////////////////////////////////////////////////////
36 class ImportFirefoxBookmarks : public ImportBase {
37   public:
38     enum ParseMode {countBookmarks, buildMap};
39     ImportFirefoxBookmarks(VymModel *m);
40     bool transform();
41   private:
42     QProgressDialog progressDialog;
43     bool parseJson(QJsonValue jsval, ParseMode mode, BranchItem *selbi = NULL);  
44
45     uint totalBookmarks;
46     uint currentBookmarks;
47 };
48
49 ///////////////////////////////////////////////////////////////////////
50 class ImportMM : public ImportBase {
51   public:
52     bool transform();
53 };
54
55 #endif