File indexing completed on 2024-05-19 04:26:57
0001 /* 0002 * SPDX-FileCopyrightText: 2017 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #include "Preset.h" 0007 #include <QDomDocument> 0008 0009 struct Preset::Private { 0010 KisPaintOpPresetSP preset {0}; 0011 }; 0012 0013 Preset::Preset(Resource *resource): d(new Private()) { 0014 d->preset = resource->resource().dynamicCast<KisPaintOpPreset>(); 0015 } 0016 0017 Preset::~Preset() 0018 { 0019 delete d; 0020 } 0021 0022 0023 QString Preset::toXML() const 0024 { 0025 QDomDocument xmlDoc; 0026 QDomElement root = xmlDoc.createElement("Preset"); 0027 0028 d->preset->toXML(xmlDoc,root); 0029 0030 xmlDoc.appendChild(root); 0031 0032 return xmlDoc.toString(); 0033 } 0034 0035 void Preset::fromXML(const QString &xml) 0036 { 0037 QDomDocument xmlDoc; 0038 0039 if (!xmlDoc.setContent(xml)) { 0040 qWarning() << "XML string format is invalid!"; 0041 return; 0042 } 0043 0044 d->preset->fromXML(xmlDoc.documentElement(),d->preset->resourcesInterface()); 0045 d->preset->setDirty(true); 0046 }