Krita Source Code Documentation
Loading...
Searching...
No Matches
KraConverter Class Reference

#include <kra_converter.h>

+ Inheritance diagram for KraConverter:

Public Slots

virtual void cancel ()
 

Public Member Functions

vKisNodeSP activeNodes ()
 
QList< KisPaintingAssistantSPassistants ()
 
KisImportExportErrorCode buildFile (QIODevice *io, const QString &filename, bool addMergedImage=true)
 
KisImportExportErrorCode buildImage (QIODevice *io)
 
KisImageSP image ()
 
 KraConverter (KisDocument *doc)
 
 KraConverter (KisDocument *doc, QPointer< KoUpdater > updater)
 
StoryboardCommentList storyboardCommentList ()
 
StoryboardItemList storyboardItemList ()
 
 ~KraConverter () override
 

Private Member Functions

bool completeLoading (KoStore *store)
 
QDomDocument createDomDocument ()
 
KisImportExportErrorCode loadXML (const QDomDocument &doc, KoStore *store)
 
KisImportExportErrorCode oldLoadAndParse (KoStore *store, const QString &filename, QDomDocument &xmldoc)
 
KisImportExportErrorCode savePreview (KoStore *store)
 
KisImportExportErrorCode saveRootDocuments (KoStore *store)
 
bool saveToStream (QIODevice *dev)
 
void setProgress (int progress)
 

Private Attributes

vKisNodeSP m_activeNodes
 
QList< KisPaintingAssistantSPm_assistants
 
KisDocumentm_doc {0}
 
KisImageSP m_image
 
KisKraLoaderm_kraLoader {0}
 
KisKraSaverm_kraSaver {0}
 
bool m_stop {false}
 
KoStorem_store {0}
 
StoryboardCommentList m_storyboardCommentList
 
StoryboardItemList m_storyboardItemList
 
QPointer< KoUpdaterm_updater
 

Detailed Description

Definition at line 26 of file kra_converter.h.

Constructor & Destructor Documentation

◆ KraConverter() [1/2]

KraConverter::KraConverter ( KisDocument * doc)

Definition at line 28 of file kra_converter.cpp.

29 : m_doc(doc)
30 , m_image(doc->savingImage())
31{
32}
KisImageSP savingImage
KisImageSP m_image
KisDocument * m_doc

◆ KraConverter() [2/2]

KraConverter::KraConverter ( KisDocument * doc,
QPointer< KoUpdater > updater )

Definition at line 34 of file kra_converter.cpp.

35 : m_doc(doc)
36 , m_image(doc->savingImage())
37 , m_updater(updater)
38{
39}
QPointer< KoUpdater > m_updater

◆ ~KraConverter()

KraConverter::~KraConverter ( )
override

Definition at line 41 of file kra_converter.cpp.

42{
43 delete m_store;
44 delete m_kraSaver;
45 delete m_kraLoader;
46}
KoStore * m_store
KisKraLoader * m_kraLoader
KisKraSaver * m_kraSaver

References m_kraLoader, m_kraSaver, and m_store.

Member Function Documentation

◆ activeNodes()

vKisNodeSP KraConverter::activeNodes ( )

Definition at line 115 of file kra_converter.cpp.

116{
117 return m_activeNodes;
118}
vKisNodeSP m_activeNodes

References m_activeNodes.

◆ assistants()

QList< KisPaintingAssistantSP > KraConverter::assistants ( )

Definition at line 120 of file kra_converter.cpp.

121{
122 return m_assistants;
123}
QList< KisPaintingAssistantSP > m_assistants

References m_assistants.

◆ buildFile()

KisImportExportErrorCode KraConverter::buildFile ( QIODevice * io,
const QString & filename,
bool addMergedImage = true )

Definition at line 135 of file kra_converter.cpp.

136{
137 if (m_image->size().isEmpty()) {
139 }
140
141 setProgress(5);
143
144 bool success = true;
145
146 if (m_store->bad()) {
147 m_doc->setErrorMessage(i18n("Could not create the file for saving"));
149 }
150
151 setProgress(20);
152
153 m_kraSaver = new KisKraSaver(m_doc, filename, addMergedImage);
154
156
157 if (!resultCode.isOk()) {
158 return resultCode;
159 }
160
161 setProgress(40);
162 bool result;
163
164 result = m_kraSaver->saveKeyframes(m_store, m_doc->path(), true);
165 if (!result) {
166 success = false;
167 qWarning() << "saving key frames failed";
168 }
169 setProgress(60);
170 result = m_kraSaver->saveBinaryData(m_store, m_image, m_doc->path(), true, addMergedImage);
171 if (!result) {
172 success = false;
173 qWarning() << "saving binary data failed";
174 }
175 setProgress(70);
177 if (!result) {
178 success = false;
179 qWarning() << "saving resources data failed";
180 }
181
183 if (!result) {
184 success = false;
185 qWarning() << "Saving storyboard data failed";
186 }
187
189 if (!result) {
190 success = false;
191 qWarning() << "Saving animation metadata failed";
192 }
193
194 result = m_kraSaver->saveAudio(m_store);
195 if (!result) {
196 success = false;
197 qWarning() << "Saving audio data failed";
198 }
199
200 setProgress(80);
201
202 if (!m_store->finalize()) {
203 success = false;
204 }
205 if (!success || !m_kraSaver->errorMessages().isEmpty()) {
208 }
209
211
212 setProgress(90);
214}
void setErrorMessage(const QString &errMsg)
void setWarningMessage(const QString &warningMsg)
static QByteArray nativeFormatMimeType()
QString path() const
QSize size() const
Definition kis_image.h:547
bool saveKeyframes(KoStore *store, const QString &uri, bool external)
QStringList errorMessages() const
bool saveAnimationMetadata(KoStore *store, KisImageSP image, const QString &uri)
bool saveResources(KoStore *store, KisImageSP image, const QString &uri)
bool saveBinaryData(KoStore *store, KisImageSP image, const QString &uri, bool external, bool addMergedImage)
bool saveAudio(KoStore *store)
bool saveStoryboard(KoStore *store, KisImageSP image, const QString &uri)
QStringList warningMessages() const
@ Write
Definition KoStore.h:29
@ Zip
Definition KoStore.h:30
bool bad() const
Definition KoStore.cpp:414
static KoStore * createStore(const QString &fileName, Mode mode, const QByteArray &appIdentification=QByteArray(), Backend backend=Auto, bool writeMimetype=true)
Definition KoStore.cpp:39
bool finalize()
Definition KoStore.cpp:395
KisImportExportErrorCode saveRootDocuments(KoStore *store)
void setProgress(int progress)

References KoStore::bad(), ImportExportCodes::CannotCreateFile, KoStore::createStore(), KisKraSaver::errorMessages(), ImportExportCodes::Failure, KoStore::finalize(), KisImportExportErrorCode::isOk(), m_doc, m_image, m_kraSaver, m_store, KisDocument::nativeFormatMimeType(), ImportExportCodes::OK, KisDocument::path(), KisKraSaver::saveAnimationMetadata(), KisKraSaver::saveAudio(), KisKraSaver::saveBinaryData(), KisKraSaver::saveKeyframes(), KisKraSaver::saveResources(), saveRootDocuments(), KisKraSaver::saveStoryboard(), KisDocument::setErrorMessage(), setProgress(), KisDocument::setWarningMessage(), KisImage::size(), KisKraSaver::warningMessages(), KoStore::Write, and KoStore::Zip.

◆ buildImage()

KisImportExportErrorCode KraConverter::buildImage ( QIODevice * io)

Definition at line 68 of file kra_converter.cpp.

69{
71
72 if (m_store->bad()) {
73 m_doc->setErrorMessage(i18n("Not a valid Krita file"));
75 }
76
77 bool success = false;
78 {
79 if (m_store->hasFile("root") || m_store->hasFile("maindoc.xml")) { // Fallback to "old" file format (maindoc.xml)
80 QDomDocument doc;
81
83 if (res.isOk())
84 res = loadXML(doc, m_store);
85 if (!res.isOk()) {
86 return res;
87 }
88
89 } else {
90 errUI << "ERROR: No maindoc.xml" << Qt::endl;
91 m_doc->setErrorMessage(i18n("Invalid document: no file 'maindoc.xml'."));
93 }
94
95 if (m_store->hasFile("documentinfo.xml")) {
96 QDomDocument doc;
97 KisImportExportErrorCode resultHere = oldLoadAndParse(m_store, "documentinfo.xml", doc);
98 if (resultHere.isOk()) {
99 m_doc->documentInfo()->load(doc);
100 }
101 }
102 success = completeLoading(m_store);
103 }
104
106
108}
KoDocumentInfo * documentInfo() const
bool load(const QDomDocument &doc)
@ Read
Definition KoStore.h:29
bool hasFile(const QString &fileName) const
Definition KoStore.cpp:384
bool completeLoading(KoStore *store)
KisImportExportErrorCode oldLoadAndParse(KoStore *store, const QString &filename, QDomDocument &xmldoc)
KisImportExportErrorCode loadXML(const QDomDocument &doc, KoStore *store)
#define errUI
Definition kis_debug.h:114
void fixCloneLayers(KisImageSP image, KisNodeSP root)

References KoStore::bad(), completeLoading(), KoStore::createStore(), KisDocument::documentInfo(), errUI, ImportExportCodes::Failure, ImportExportCodes::FileFormatIncorrect, fixCloneLayers(), KoStore::hasFile(), KisImportExportErrorCode::isOk(), KoDocumentInfo::load(), loadXML(), m_doc, m_image, m_store, ImportExportCodes::OK, oldLoadAndParse(), KoStore::Read, KisNodeFacade::root, KisDocument::setErrorMessage(), and KoStore::Zip.

◆ cancel

void KraConverter::cancel ( )
virtualslot

Definition at line 479 of file kra_converter.cpp.

480{
481 m_stop = true;
482}

References m_stop.

◆ completeLoading()

bool KraConverter::completeLoading ( KoStore * store)
private

Definition at line 427 of file kra_converter.cpp.

428{
429 if (!m_image) {
430 if (m_kraLoader->errorMessages().isEmpty()) {
431 m_doc->setErrorMessage(i18n("Unknown error."));
432 }
433 else {
435 }
436 return false;
437 }
438
440
441 QString layerPathName = m_kraLoader->imageName();
442 if (!m_store->hasDirectory(layerPathName)) {
443 // We might be hitting an encoding problem. Get the only folder in the toplevel
444 Q_FOREACH (const QString &entry, m_store->directoryList()) {
445 if (entry.contains("/layers/")) {
446 layerPathName = entry.split("/layers/").first();
447 m_store->setSubstitution(m_kraLoader->imageName(), layerPathName);
448 break;
449 }
450 }
451 }
452
457 m_kraLoader->loadAudio(store, m_doc);
458
459 if (!m_kraLoader->errorMessages().isEmpty()) {
461 return false;
462 }
463
465
466 if (!m_kraLoader->warningMessages().isEmpty()) {
467 // warnings do not interrupt loading process, so we do not return here
469 }
470
475
476 return true;
477}
QString localFilePath() const
void disableDirtyRequests() override
void enableDirtyRequests() override
void loadAnimationMetadata(KoStore *store, KisImageSP image)
QStringList errorMessages() const
if empty, loading didn't fail...
void loadStoryboards(KoStore *store, KisDocument *doc)
QString imageName() const
QStringList warningMessages() const
if not empty, loading didn't fail, but there are problems
void loadBinaryData(KoStore *store, KisImageSP image, const QString &uri, bool external)
vKisNodeSP selectedNodes() const
void loadResources(KoStore *store, KisDocument *doc)
StoryboardItemList storyboardItemList() const
QList< KisPaintingAssistantSP > assistants() const
StoryboardCommentList storyboardCommentList() const
void loadAudio(KoStore *store, KisDocument *kisDoc)
void setSubstitution(const QString &name, const QString &substitution)
When reading, in the paths in the store where name occurs, substitution is used.
Definition KoStore.cpp:407
virtual QStringList directoryList() const
Definition KoStore.cpp:426
bool hasDirectory(const QString &directoryName)
Definition KoStore.cpp:390
StoryboardCommentList m_storyboardCommentList
StoryboardItemList m_storyboardItemList

References KisKraLoader::assistants(), KoStore::directoryList(), KisImage::disableDirtyRequests(), KisImage::enableDirtyRequests(), KisKraLoader::errorMessages(), KoStore::hasDirectory(), KisKraLoader::imageName(), KisKraLoader::loadAnimationMetadata(), KisKraLoader::loadAudio(), KisKraLoader::loadBinaryData(), KisKraLoader::loadResources(), KisKraLoader::loadStoryboards(), KisDocument::localFilePath(), m_activeNodes, m_assistants, m_doc, m_image, m_kraLoader, m_store, m_storyboardCommentList, m_storyboardItemList, KisKraLoader::selectedNodes(), KisDocument::setErrorMessage(), KoStore::setSubstitution(), KisDocument::setWarningMessage(), KisKraLoader::storyboardCommentList(), KisKraLoader::storyboardItemList(), and KisKraLoader::warningMessages().

◆ createDomDocument()

QDomDocument KraConverter::createDomDocument ( )
private

Definition at line 273 of file kra_converter.cpp.

274{
275 QDomDocument doc = m_doc->createDomDocument("DOC", CURRENT_DTD_VERSION);
276 QDomElement root = doc.documentElement();
277
278 root.setAttribute("editor", "Krita");
279 root.setAttribute("syntaxVersion", CURRENT_DTD_VERSION);
280 root.setAttribute("kritaVersion", KritaVersionWrapper::versionString(false));
281
282 root.appendChild(m_kraSaver->saveXML(doc, m_image));
283
284 if (!m_kraSaver->errorMessages().isEmpty()) {
286 }
287 return doc;
288}
QDomDocument createDomDocument(const QString &tagName, const QString &version) const
QDomElement saveXML(QDomDocument &doc, KisImageSP image)
static const char CURRENT_DTD_VERSION[]
KRITAVERSION_EXPORT QString versionString(bool checkGit=false)

References KisDocument::createDomDocument(), CURRENT_DTD_VERSION, KisKraSaver::errorMessages(), m_doc, m_image, m_kraSaver, KisKraSaver::saveXML(), KisDocument::setErrorMessage(), and KritaVersionWrapper::versionString().

◆ image()

KisImageSP KraConverter::image ( )

Retrieve the constructed image

Definition at line 110 of file kra_converter.cpp.

111{
112 return m_image;
113}

References m_image.

◆ loadXML()

KisImportExportErrorCode KraConverter::loadXML ( const QDomDocument & doc,
KoStore * store )
private

Definition at line 353 of file kra_converter.cpp.

354{
355 Q_UNUSED(store);
356
357 QDomElement root;
358 QDomNode node;
359
360 if (doc.doctype().name() != "DOC") {
361 errUI << "The format is not supported or the file is corrupted";
362 m_doc->setErrorMessage(i18n("The format is not supported or the file is corrupted"));
364 }
365 root = doc.documentElement();
366
367 QString versionTag = root.attribute("syntaxVersion", "3.0");
368 QVersionNumber parsedVersionNumber = QVersionNumber::fromString(versionTag);
369 const int syntaxVersion = parsedVersionNumber.isNull() ? 3 : parsedVersionNumber.majorVersion();
370
371 if (syntaxVersion > 2) {
372 errUI << "The file is too new for this version of Krita:" << syntaxVersion;
373 m_doc->setErrorMessage(i18n("The file is too new for this version of Krita (%1).", syntaxVersion));
375 }
376
377 if (!root.hasChildNodes()) {
378 errUI << "The file has no layers.";
379 m_doc->setErrorMessage(i18n("The file has no layers."));
381 }
382
383 QString kritaVersionTag = root.attribute("kritaVersion", "6.0");
384 QVersionNumber kritaVersionNumber = QVersionNumber::fromString(kritaVersionTag);
385 if (kritaVersionNumber.isNull()) {
386 kritaVersionNumber = QVersionNumber::fromString(KritaVersionWrapper::versionString(false));
387 }
388
389 m_kraLoader = new KisKraLoader(m_doc, syntaxVersion, kritaVersionNumber);
390
391 // reset the old image before loading the next one
392 m_doc->setCurrentImage(0, false);
393
394 for (node = root.firstChild(); !node.isNull(); node = node.nextSibling()) {
395 if (node.isElement()) {
396 if (node.nodeName() == "IMAGE") {
397 QDomElement elem = node.toElement();
398 if (!(m_image = m_kraLoader->loadXML(elem))) {
399
400 if (m_kraLoader->errorMessages().isEmpty()) {
401 errUI << "Unknown error while opening the .kra file.";
402 m_doc->setErrorMessage(i18n("Unknown error."));
403 }
404 else {
406 errUI << m_kraLoader->errorMessages().join("\n");
407 }
409 }
410
411 // HACK ALERT!
413
415 }
416 else {
417 if (m_kraLoader->errorMessages().isEmpty()) {
418 m_doc->setErrorMessage(i18n("The file does not contain an image."));
419 }
421 }
422 }
423 }
425}
void hackPreliminarySetImage(KisImageSP image)
void setCurrentImage(KisImageSP image, bool forceInitialUpdate=true, KisNodeSP preActivatedNode=nullptr)
KisImageSP loadXML(const QDomElement &imageElement)

References KisKraLoader::errorMessages(), errUI, ImportExportCodes::Failure, ImportExportCodes::FileFormatIncorrect, ImportExportCodes::FormatFeaturesUnsupported, KisDocument::hackPreliminarySetImage(), KisKraLoader::loadXML(), m_doc, m_image, m_kraLoader, ImportExportCodes::OK, KisDocument::setCurrentImage(), KisDocument::setErrorMessage(), and KritaVersionWrapper::versionString().

◆ oldLoadAndParse()

KisImportExportErrorCode KraConverter::oldLoadAndParse ( KoStore * store,
const QString & filename,
QDomDocument & xmldoc )
private

Definition at line 312 of file kra_converter.cpp.

313{
314 //dbgUI <<"Trying to open" << filename;
315
316 if (!store->open(filename)) {
317 warnUI << "Entry " << filename << " not found!";
318 m_doc->setErrorMessage(i18n("Could not find %1", filename));
320 }
321#if QT_VERSION < QT_VERSION_CHECK(6, 5, 0)
322 // Error variables for QDomDocument::setContent
323 QString errorMsg;
324 int errorLine, errorColumn;
325 bool ok = xmldoc.setContent(store->device(), &errorMsg, &errorLine, &errorColumn);
326#else
327 QDomDocument::ParseResult result = xmldoc.setContent(store->device());
328#endif
329 store->close();
330#if QT_VERSION < QT_VERSION_CHECK(6, 5, 0)
331 if (!ok) {
332 errUI << "Parsing error in " << filename << "! Aborting!" << Qt::endl
333 << " In line: " << errorLine << ", column: " << errorColumn << Qt::endl
334 << " Error message: " << errorMsg << Qt::endl;
335 m_doc->setErrorMessage(i18n("Parsing error in %1 at line %2, column %3\nError message: %4",
336 filename, errorLine, errorColumn,
337 QCoreApplication::translate("QXml", errorMsg.toUtf8(), 0)));
338#else
339 if (!result) {
340 errUI << "Parsing error in " << filename << "! Aborting!" << Qt::endl
341 << " In line: " << result.errorLine << ", column: " << result.errorColumn << Qt::endl
342 << " Error message: " << result.errorMessage << Qt::endl;
343 m_doc->setErrorMessage(i18n("Parsing error in %1 at line %2, column %3\nError message: %4",
344 filename, result.errorLine, result.errorColumn,
345 QCoreApplication::translate("QXml", result.errorMessage.toUtf8(), 0)));
346#endif
348 }
349 dbgUI << "File" << filename << " loaded and parsed";
351}
QIODevice * device() const
Definition KoStore.cpp:171
bool close()
Definition KoStore.cpp:156
bool open(const QString &name)
Definition KoStore.cpp:109
#define dbgUI
Definition kis_debug.h:52
#define warnUI
Definition kis_debug.h:94

References KoStore::close(), dbgUI, KoStore::device(), errUI, ImportExportCodes::FileFormatIncorrect, ImportExportCodes::FileNotExist, m_doc, ImportExportCodes::OK, KoStore::open(), KisDocument::setErrorMessage(), and warnUI.

◆ savePreview()

KisImportExportErrorCode KraConverter::savePreview ( KoStore * store)
private

Definition at line 290 of file kra_converter.cpp.

291{
292 QPixmap pix = m_doc->generatePreview(QSize(256, 256));
293 QImage preview(pix.toImage().convertToFormat(QImage::Format_ARGB32, Qt::ColorOnly));
294 if (preview.size().isEmpty()) {
295 QSize newSize = m_doc->savingImage()->bounds().size();
296 // make sure dimensions are at least one pixel, because extreme aspect ratios may cause rounding to zero
297 newSize = newSize.scaled(QSize(256, 256), Qt::KeepAspectRatio).expandedTo({1, 1});
298 preview = QImage(newSize, QImage::Format_ARGB32);
299 preview.fill(QColor(0, 0, 0, 0));
300 }
301
302 KoStoreDevice io(store);
303 if (!io.open(QIODevice::WriteOnly)) {
305 }
306 bool ret = preview.save(&io, "PNG");
307 io.close();
309}
QPixmap generatePreview(const QSize &size)
Generates a preview picture of the document.
QRect bounds() const override

References KisImage::bounds(), KoStoreDevice::close(), ImportExportCodes::ErrorWhileWriting, KisDocument::generatePreview(), m_doc, ImportExportCodes::NoAccessToWrite, ImportExportCodes::OK, KoStoreDevice::open(), and KisDocument::savingImage.

◆ saveRootDocuments()

KisImportExportErrorCode KraConverter::saveRootDocuments ( KoStore * store)
private

Definition at line 216 of file kra_converter.cpp.

217{
218 dbgFile << "Saving root";
219 if (store->open("root")) {
220 KoStoreDevice dev(store);
221 if (!saveToStream(&dev) || !store->close()) {
222 dbgUI << "saveToStream failed";
224 }
225 } else {
226 m_doc->setErrorMessage(i18n("Not able to write '%1'. Partition full?", QString("maindoc.xml")));
228 }
229
230 if (store->open("documentinfo.xml")) {
231 QDomDocument doc = KisDocument::createDomDocument("document-info"
232 /*DTD name*/, "document-info" /*tag name*/, "1.1");
233 doc = m_doc->documentInfo()->save(doc);
234 KoStoreDevice dev(store);
235 QByteArray s = doc.toByteArray(); // this is already Utf8!
236 bool success = dev.write(s.data(), s.size());
237 if (!success) {
239 }
240 store->close();
241 } else {
243 }
244
245 if (store->open("preview.png")) {
246 // ### TODO: missing error checking (The partition could be full!)
248 (void)store->close();
249 if (!result.isOk()) {
250 return result;
251 }
252 } else {
254 }
255
256 dbgUI << "Saving done of url:" << m_doc->path();
258}
QDomDocument save(QDomDocument &doc)
bool saveToStream(QIODevice *dev)
KisImportExportErrorCode savePreview(KoStore *store)
#define dbgFile
Definition kis_debug.h:53
typedef void(QOPENGLF_APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer)

References KoStore::close(), KisDocument::createDomDocument(), dbgFile, dbgUI, KisDocument::documentInfo(), ImportExportCodes::ErrorWhileWriting, ImportExportCodes::Failure, KisImportExportErrorCode::isOk(), m_doc, ImportExportCodes::NoAccessToWrite, ImportExportCodes::OK, KoStore::open(), KisDocument::path(), KoDocumentInfo::save(), savePreview(), saveToStream(), KisDocument::setErrorMessage(), and void().

◆ saveToStream()

bool KraConverter::saveToStream ( QIODevice * dev)
private

Definition at line 260 of file kra_converter.cpp.

261{
262 QDomDocument doc = createDomDocument();
263 // Save to buffer
264 QByteArray s = doc.toByteArray(); // utf8 already
265 dev->open(QIODevice::WriteOnly);
266 int nwritten = dev->write(s.data(), s.size());
267 if (nwritten != (int)s.size()) {
268 warnUI << "wrote " << nwritten << "- expected" << s.size();
269 }
270 return nwritten == (int)s.size();
271}
QDomDocument createDomDocument()

References createDomDocument(), and warnUI.

◆ setProgress()

void KraConverter::setProgress ( int progress)
private

Definition at line 484 of file kra_converter.cpp.

485{
486 if (m_updater) {
487 m_updater->setProgress(progress);
488 }
489}

References m_updater.

◆ storyboardCommentList()

StoryboardCommentList KraConverter::storyboardCommentList ( )

Definition at line 130 of file kra_converter.cpp.

131{
133}

References m_storyboardCommentList.

◆ storyboardItemList()

StoryboardItemList KraConverter::storyboardItemList ( )

Definition at line 125 of file kra_converter.cpp.

126{
128}

References m_storyboardItemList.

Member Data Documentation

◆ m_activeNodes

vKisNodeSP KraConverter::m_activeNodes
private

Definition at line 66 of file kra_converter.h.

◆ m_assistants

QList<KisPaintingAssistantSP> KraConverter::m_assistants
private

Definition at line 67 of file kra_converter.h.

◆ m_doc

KisDocument* KraConverter::m_doc {0}
private

Definition at line 63 of file kra_converter.h.

63{0};

◆ m_image

KisImageSP KraConverter::m_image
private

Definition at line 64 of file kra_converter.h.

◆ m_kraLoader

KisKraLoader* KraConverter::m_kraLoader {0}
private

Definition at line 74 of file kra_converter.h.

74{0};

◆ m_kraSaver

KisKraSaver* KraConverter::m_kraSaver {0}
private

Definition at line 73 of file kra_converter.h.

73{0};

◆ m_stop

bool KraConverter::m_stop {false}
private

Definition at line 70 of file kra_converter.h.

70{false};

◆ m_store

KoStore* KraConverter::m_store {0}
private

Definition at line 72 of file kra_converter.h.

72{0};

◆ m_storyboardCommentList

StoryboardCommentList KraConverter::m_storyboardCommentList
private

Definition at line 69 of file kra_converter.h.

◆ m_storyboardItemList

StoryboardItemList KraConverter::m_storyboardItemList
private

Definition at line 68 of file kra_converter.h.

◆ m_updater

QPointer<KoUpdater> KraConverter::m_updater
private

Definition at line 75 of file kra_converter.h.


The documentation for this class was generated from the following files: