20#include "kis_jpeg_import.h"
22#include <kgenericfactory.h>
24#include <KoFilterChain.h>
28#include <kis_progress_display_interface.h>
31#include "kis_jpeg_converter.h"
33typedef KGenericFactory<KisJPEGImport, KoFilter> JPEGImportFactory;
34K_EXPORT_COMPONENT_FACTORY(libchalkjpegimport, JPEGImportFactory(
"kofficefilters"))
36KisJPEGImport::KisJPEGImport(KoFilter *, const
char *, const TQStringList&) : KoFilter()
40KisJPEGImport::~KisJPEGImport()
44KoFilter::ConversionStatus KisJPEGImport::convert(
const TQCString&,
const TQCString& to)
46 kdDebug(41008) <<
"Importing using JPEGImport!\n";
48 if (to !=
"application/x-chalk")
49 return KoFilter::BadMimeType;
51 KisDoc * doc =
dynamic_cast<KisDoc*
>(m_chain -> outputDocument());
52 KisView * view =
static_cast<KisView*
>(doc -> views().getFirst());
54 TQString filename = m_chain -> inputFile();
57 return KoFilter::CreationError;
59 doc->prepareForImport();
62 if (!filename.isEmpty()) {
65 url.setPath(filename);
68 return KoFilter::FileNotFound;
70 KisJPEGConverter ib(doc, doc -> undoAdapter());
73 view -> canvasSubject() -> progressDisplay() -> setSubject(&ib,
false,
true);
75 switch (ib.buildImage(url)) {
76 case KisImageBuilder_RESULT_UNSUPPORTED:
77 return KoFilter::NotImplemented;
79 case KisImageBuilder_RESULT_INVALID_ARG:
80 return KoFilter::BadMimeType;
82 case KisImageBuilder_RESULT_NO_URI:
83 case KisImageBuilder_RESULT_NOT_LOCAL:
84 return KoFilter::FileNotFound;
86 case KisImageBuilder_RESULT_BAD_FETCH:
87 case KisImageBuilder_RESULT_EMPTY:
88 return KoFilter::ParsingError;
90 case KisImageBuilder_RESULT_FAILURE:
91 return KoFilter::InternalError;
93 case KisImageBuilder_RESULT_OK:
94 doc -> setCurrentImage( ib.image());
101 return KoFilter::StorageCreationError;
104#include <kis_jpeg_import.moc>