23
23
#include <kapplication.h>
24
24
#include <kdialog.h>
25
25
#include <kpluginfactory.h>
26
#include <kmessagebox.h>
28
#include <KoFilterManager.h>
27
29
#include <KoFilterChain.h>
28
30
#include <KoColorSpaceConstants.h>
55
57
if (from != "application/x-krita")
56
58
return KoFilter::NotImplemented;
58
KisDoc2 *output = dynamic_cast<KisDoc2*>(m_chain->inputDocument());
60
KisDoc2 *input = dynamic_cast<KisDoc2*>(m_chain->inputDocument());
59
61
QString filename = m_chain->outputFile();
62
return KoFilter::CreationError;
64
return KoFilter::NoDocumentCreated;
67
if (input->image()->width() > 30000 || input->image()->height() > 30000) {
68
if (!m_chain->manager()->getBatchMode()) {
69
KMessageBox::error(0, i18n("Unable to save to the Photoshop format.\n"
70
"The Photoshop format only supports images that are smaller than 30000x3000 pixels."),
71
"Photoshop Export Error");
73
return KoFilter::InvalidFormat;
65
76
if (filename.isEmpty()) return KoFilter::FileNotFound;
68
79
url.setPath(filename);
70
KisImageWSP image = output->image();
75
KisPaintDeviceSP pd = new KisPaintDevice(*image->projection());
76
KisPaintLayerSP l = new KisPaintLayer(image, "projection", OPACITY_OPAQUE_U8, pd);
78
82
KisImageBuilder_Result res;
80
if ( (res = kpc.buildFile(url, l)) == KisImageBuilder_RESULT_OK) {
84
if ((res = kpc.buildFile(url)) == KisImageBuilder_RESULT_OK) {
81
85
dbgFile <<"success !";
82
86
return KoFilter::OK;