15#include <QTextDecoder>
31 const QFileInfo f(
name());
47 while (fileInfo.exists()) {
77 Q_UNUSED(resourcesInterface);
80 dev->open(QIODevice::ReadOnly);
82 d->
data = dev->readAll();
88 warnFlake <<
"Cannot load SeExpr script" <<
name() <<
", there is no filename set";
92 if (
d->
data.isNull()) {
94 if (file.size() == 0) {
95 warnFlake <<
"Cannot load SeExpr script" <<
name() <<
"there is no data available";
99 file.open(QIODevice::ReadOnly);
100 d->
data = file.readAll();
104 QBuffer buf(&
d->
data);
105 buf.open(QBuffer::ReadOnly);
108 if (!store || store->bad())
111 bool storeOpened = store->open(
"script.se");
116 d->
script = QString(store->read(store->size()));
119 if (store->open(
"preview.png")) {
121 previewDev.
open(QIODevice::ReadOnly);
123 QImage preview = QImage();
124 preview.load(&previewDev,
"PNG");
127 (
void)store->close();
141 if (!store || store->
bad())
144 if (!store->
open(
"script.se")) {
149 storeDev.
open(QIODevice::WriteOnly);
151 storeDev.write(
d->
script.toUtf8());
153 if (!store->
close()) {
157 if (!store->
open(
"preview.png")) {
162 previewDev.
open(QIODevice::WriteOnly);
164 image().save(&previewDev,
"PNG");
165 if (!store->
close()) {
179 return QString(
".kse");
void setScript(const QString &script)
set SeExpr expression script
QString name() const override
QString defaultFileExtension() const override
bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
KoResourceSP clone() const override
KisSeExprScript(const QString &filename)
QPair< QString, QString > resourceType() const override
QString script() const
script the actual script
bool saveToDevice(QIODevice *dev) const override
bool open(OpenMode m) override
static KoStore * createStore(const QString &fileName, Mode mode, const QByteArray &appIdentification=QByteArray(), Backend backend=Auto, bool writeMimetype=true)
bool open(const QString &name)
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
typedef void(QOPENGLF_APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer)
QSharedPointer< KoResource > KoResourceSP
const QString SeExprScripts
void setValid(bool valid)
void setName(const QString &name)
void setFilename(const QString &filename)
void setDirty(bool value)
Mark the preset as modified but not saved.
void setImage(const QImage &image)