MCPcopy Create free account
hub / github.com/KDE/labplot / save

Method save

src/backend/worksheet/Image.cpp:338–380  ·  view source on GitHub ↗

############################################################################## ################## Serialization/Deserialization ########################### ############################################################################## Save as XML

Source from the content-addressed store, hash-verified

336// ##############################################################################
337//! Save as XML
338void Image::save(QXmlStreamWriter* writer) const {
339 Q_D(const Image);
340
341 writer->writeStartElement(QStringLiteral("image"));
342 writeBasicAttributes(writer);
343 writeCommentElement(writer);
344
345 // general
346 writer->writeStartElement(QStringLiteral("general"));
347 if (d->embedded) {
348 QFileInfo fi(d->fileName);
349 writer->writeAttribute(QStringLiteral("fileName"), fi.fileName()); // save the actual file name only and not the whole path
350 } else
351 writer->writeAttribute(QStringLiteral("fileName"), d->fileName);
352
353 writer->writeAttribute(QStringLiteral("embedded"), QString::number(d->embedded));
354 writer->writeAttribute(QStringLiteral("opacity"), QString::number(d->opacity));
355 writer->writeEndElement();
356
357 // image data
358 if (d->embedded && !d->image.isNull()) {
359 writer->writeStartElement(QStringLiteral("data"));
360 QByteArray data;
361 QBuffer buffer(&data);
362 buffer.open(QIODevice::WriteOnly);
363 d->image.save(&buffer, "PNG");
364 writer->writeCharacters(QLatin1String(data.toBase64()));
365 writer->writeEndElement();
366 }
367
368 // geometry
369 writer->writeStartElement(QStringLiteral("geometry"));
370 WorksheetElement::save(writer);
371 writer->writeAttribute(QStringLiteral("width"), QString::number(d->width));
372 writer->writeAttribute(QStringLiteral("height"), QString::number(d->height));
373 writer->writeAttribute(QStringLiteral("keepRatio"), QString::number(d->keepRatio));
374 writer->writeEndElement();
375
376 // border
377 d->borderLine->save(writer);
378
379 writer->writeEndElement(); // close "image" section
380}
381
382//! Load from XML
383bool Image::load(XmlStreamReader* reader, bool preview) {

Callers 1

paintMethod · 0.45

Calls 3

isNullMethod · 0.80
fileNameMethod · 0.45
openMethod · 0.45

Tested by

no test coverage detected