Krita Source Code Documentation
Loading...
Searching...
No Matches
taskset_resource.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2011 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#include "taskset_resource.h"
8
9#include <QFile>
10#include <QDomDocument>
11#include <QTextStream>
12#include <QBuffer>
13
14#include <kis_debug.h>
15#include <KisPortingUtils.h>
16
17#define TASKSET_VERSION 1
18
20 : KoResource(f)
21{
22}
23
27
29 : KoResource(rhs),
30 m_actions(rhs.m_actions)
31{
32}
33
35{
36 return KoResourceSP(new TasksetResource(*this));
37}
38
39bool TasksetResource::loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface)
40{
41 Q_UNUSED(resourcesInterface);
42
43 QDomDocument doc;
44 if (!doc.setContent(dev)) {
45 return false;
46 }
47 QDomElement element = doc.documentElement();
48 setName(element.attribute("name"));
49 QDomNode node = element.firstChild();
50 while (!node.isNull()) {
51 QDomElement child = node.toElement();
52 if (!child.isNull() && child.tagName() == "action") {
53 m_actions.append(child.text());
54 }
55 node = node.nextSibling();
56 }
57 setValid(true);
58 return true;
59}
60
62{
63 return QString(".kts");
64}
65
67{
68 m_actions = actions;
69}
70
75
76bool TasksetResource::saveToDevice(QIODevice *io) const
77{
78
79 QDomDocument doc;
80 QDomElement root = doc.createElement("Taskset");
81 root.setAttribute("name", name() );
82 root.setAttribute("version", TASKSET_VERSION);
83 Q_FOREACH (const QString& action, m_actions) {
84 QDomElement element = doc.createElement("action");
85 element.appendChild(doc.createTextNode(action));
86 root.appendChild(element);
87 }
88 doc.appendChild(root);
89
90 QTextStream textStream(io);
92 doc.save(textStream, 4);
93
95
96 return true;
97}
98
99
~TasksetResource() override
QStringList actionList()
KoResourceSP clone() const override
bool saveToDevice(QIODevice *dev) const override
void setActionList(const QStringList actions)
QString defaultFileExtension() const override
QStringList m_actions
bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
TasksetResource(const QString &filename)
QSharedPointer< KoResource > KoResourceSP
void setUtf8OnStream(QTextStream &stream)
void setValid(bool valid)
void setName(const QString &name)
virtual bool saveToDevice(QIODevice *dev) const
QString name
#define TASKSET_VERSION