Warning, file /office/calligra/filters/karbon/wmf/WmfImport.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* This file is part of the KDE project 0002 SPDX-FileCopyrightText: 2000 S.R.Haque <shaheedhaque@hotmail.com>. 0003 SPDX-FileCopyrightText: 2007 Jan Hambrecht <jaham@gmx.net> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 0007 DESCRIPTION 0008 */ 0009 0010 #include "WmfImport.h" 0011 #include "WmfImportParser.h" 0012 0013 #include <KoFilterChain.h> 0014 #include <KoXmlWriter.h> 0015 0016 #include <kpluginfactory.h> 0017 0018 #include <QFile> 0019 0020 K_PLUGIN_FACTORY_WITH_JSON(WMFImportFactory, "calligra_filter_wmf2svg.json", 0021 registerPlugin<WMFImport>();) 0022 0023 0024 WMFImport::WMFImport(QObject *parent, const QVariantList&) : 0025 KoFilter(parent) 0026 { 0027 } 0028 0029 WMFImport::~WMFImport() 0030 { 0031 } 0032 0033 KoFilter::ConversionStatus WMFImport::convert(const QByteArray& from, const QByteArray& to) 0034 { 0035 if (to != "image/svg+xml" || from != "image/x-wmf") 0036 return KoFilter::NotImplemented; 0037 0038 QFile svgFile(m_chain->outputFile()); 0039 if (!svgFile.open(QIODevice::WriteOnly)) { 0040 return KoFilter::CreationError; 0041 } 0042 0043 KoXmlWriter svgWriter(&svgFile); 0044 0045 WMFImportParser wmfParser(svgWriter); 0046 if (!wmfParser.load(QString(m_chain->inputFile()))) { 0047 return KoFilter::WrongFormat; 0048 } 0049 0050 // Do the conversion! 0051 if (!wmfParser.play()) { 0052 return KoFilter::WrongFormat; 0053 } 0054 0055 svgFile.close(); 0056 0057 return KoFilter::OK; 0058 } 0059 0060 #include <WmfImport.moc>