10#include <QDomDocument>
16#define WORKSPACE_VERSION 1
29 , m_dockerState(rhs.m_dockerState)
41 QDomElement root = doc.createElement(
"Workspace");
42 root.setAttribute(
"name",
name() );
44 QDomElement state = doc.createElement(
"state");
45 state.appendChild(doc.createCDATASection(
m_dockerState.toBase64()));
46 root.appendChild(state);
49 QDomElement settings = doc.createElement(
"settings");
51 root.appendChild(settings);
53 if (!
image().isNull()) {
54 QDomElement thumb = doc.createElement(
"image");
56 buffer.open(QIODevice::WriteOnly);
57 image().save(&buffer,
"PNG");
59 thumb.appendChild(doc.createCDATASection(buffer.data().toBase64()));
60 root.appendChild(thumb);
63 doc.appendChild(root);
65 QTextStream textStream(dev);
67 doc.save(textStream, 4);
75 Q_UNUSED(resourcesInterface);
78 if (!doc.setContent(dev)) {
82 QDomElement element = doc.documentElement();
83 setName(element.attribute(
"name"));
85 QDomElement state = element.firstChildElement(
"state");
87 if (!state.isNull()) {
88 m_dockerState = QByteArray::fromBase64(state.text().toLatin1());
91 QDomElement settings = element.firstChildElement(
"settings");
92 if (!settings.isNull()) {
96 QDomElement thumb = element.firstChildElement(
"image");
97 if (!thumb.isNull()) {
99 img.loadFromData(QByteArray::fromBase64(thumb.text().toLatin1()));
109 return QString(
".kws");
Resource for storing of workspaces.
~KisWorkspaceResource() override
bool saveToDevice(QIODevice *dev) const override
KoResourceSP clone() const override
bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
KisWorkspaceResource(const QString &filename)
void setDockerState(const QByteArray &state)
QString defaultFileExtension() const override
QSharedPointer< KoResource > KoResourceSP
#define WORKSPACE_VERSION
void setUtf8OnStream(QTextStream &stream)
bool fromXML(const QString &xml, bool clear=true) override
QString toXML() const override
void setValid(bool valid)
void setName(const QString &name)
void setImage(const QImage &image)