18 : references(references)
29 if (store.isNull())
return false;
32 QDomElement root = doc.createElement(
"referenceimages");
33 doc.insertBefore(root, QDomNode());
39 reference->
saveXml(doc, root, nextId++);
41 if (reference->
embed()) {
42 bool ok = reference->
saveImage(store.data());
43 if (!ok)
return false;
52 xmlDev.write(doc.toByteArray());
62 if (!store || store->bad()) {
70 QByteArray xml = store->device()->readAll();
75 QDomElement root = doc.documentElement();
79 QDomElement element = root.firstChildElement(
"referenceimage");
80 while (!element.isNull()) {
89 element = element.nextSiblingElement(
"referenceimage");
92 if (!failures.isEmpty()) {
95 i18nc(
"@title:window",
"Krita"),
96 i18n(
"The following reference images could not be loaded:\n%1", failures.join(
'\n')),
97 QMessageBox::Ok, QMessageBox::Ok
const QString METADATA_FILE
QVector< KisReferenceImage * > references
const QVector< KisReferenceImage * > & referenceImages() const
KisReferenceImageCollection()=default
The KisReferenceImage class represents a single reference image.
bool saveImage(KoStore *store) const
bool loadImage(KoStore *store)
void saveXml(QDomDocument &document, QDomElement &parentElement, int id)
QString internalFile() const
static KisReferenceImage * fromXml(const QDomElement &elem)
static bool compareShapeZIndex(KoShape *s1, KoShape *s2)
static KoStore * createStore(const QString &fileName, Mode mode, const QByteArray &appIdentification=QByteArray(), Backend backend=Auto, bool writeMimetype=true)