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

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Laszlo Fazekas <mneko@freemail.hu>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_csv_export.h"
0008 
0009 #include <QCheckBox>
0010 #include <QSlider>
0011 
0012 #include <kpluginfactory.h>
0013 #include <QFileInfo>
0014 #include <QApplication>
0015 
0016 #include <KisExportCheckRegistry.h>
0017 #include <KisImportExportManager.h>
0018 #include <KoColorSpaceConstants.h>
0019 
0020 #include <KisDocument.h>
0021 #include <kis_image.h>
0022 #include <kis_group_layer.h>
0023 #include <kis_paint_layer.h>
0024 #include <kis_paint_device.h>
0025 
0026 #include "csv_saver.h"
0027 
0028 K_PLUGIN_FACTORY_WITH_JSON(KisCSVExportFactory, "krita_csv_export.json", registerPlugin<KisCSVExport>();)
0029 
0030 KisCSVExport::KisCSVExport(QObject *parent, const QVariantList &) : KisImportExportFilter(parent)
0031 {
0032 }
0033 
0034 KisCSVExport::~KisCSVExport()
0035 {
0036 }
0037 
0038 KisImportExportErrorCode KisCSVExport::convert(KisDocument *document, QIODevice *io,  KisPropertiesConfigurationSP /*configuration*/)
0039 {
0040     CSVSaver kpc(document, batchMode());
0041 
0042     KisImportExportErrorCode res = kpc.buildAnimation(io);
0043     return res;
0044 }
0045 
0046 void KisCSVExport::initializeCapabilities()
0047 {
0048     addCapability(KisExportCheckRegistry::instance()->get("MultiLayerCheck")->create(KisExportCheckBase::SUPPORTED));
0049     addCapability(KisExportCheckRegistry::instance()->get("AnimationCheck")->create(KisExportCheckBase::SUPPORTED));
0050     QList<QPair<KoID, KoID> > supportedColorModels;
0051     supportedColorModels << QPair<KoID, KoID>()
0052             << QPair<KoID, KoID>(RGBAColorModelID, Integer8BitsColorDepthID);
0053     addSupportedColorModels(supportedColorModels, "CSV");
0054     addCapability(KisExportCheckRegistry::instance()->get("ColorModelPerLayerCheck/" + RGBAColorModelID.id() + "/" + Integer8BitsColorDepthID.id())->create(KisExportCheckBase::SUPPORTED));
0055     addCapability(KisExportCheckRegistry::instance()->get("LayerOpacityCheck")->create(KisExportCheckBase::SUPPORTED));
0056 }
0057 
0058 #include "kis_csv_export.moc"