File indexing completed on 2024-06-16 04:16:52

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Laszlo Fazekas <mneko@freemail.hu>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef CSV_LOADER_H_
0008 #define CSV_LOADER_H_
0009 
0010 #include <QObject>
0011 #include <QFileInfo>
0012 
0013 #include "kis_image.h"
0014 #include "kritaui_export.h"
0015 #include <KisImportExportErrorCode.h>
0016 class KisDocument;
0017 
0018 #include "csv_layer_record.h"
0019 
0020 class CSVLoader : public QObject {
0021 
0022     Q_OBJECT
0023 
0024 public:
0025     CSVLoader(KisDocument* doc, bool batchMode);
0026     ~CSVLoader() override;
0027 
0028     KisImportExportErrorCode buildAnimation(QIODevice *io, const QString &filename);
0029 
0030     KisImageSP image();
0031 
0032 private:
0033     KisImportExportErrorCode decode(QIODevice *io, const QString &filename);
0034     KisImportExportErrorCode setLayer(CSVLayerRecord* , KisDocument* ,const QString &);
0035     KisImportExportErrorCode createNewImage(int, int, float, const QString &);
0036     QString convertBlending(const QString &);
0037     QString validPath(const QString &, const QString &);
0038 
0039 private Q_SLOTS:
0040     void cancel();
0041 
0042 private:
0043     KisImageSP m_image;
0044     KisDocument* m_doc;
0045     bool m_batchMode;
0046     bool m_stop;
0047 };
0048 
0049 #endif