diff options
Diffstat (limited to 'sigmodr/models/MapEffectGroupModel.cpp')
| -rw-r--r-- | sigmodr/models/MapEffectGroupModel.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/sigmodr/models/MapEffectGroupModel.cpp b/sigmodr/models/MapEffectGroupModel.cpp index b440b22f..95f69c9e 100644 --- a/sigmodr/models/MapEffectGroupModel.cpp +++ b/sigmodr/models/MapEffectGroupModel.cpp @@ -28,9 +28,6 @@ // KDE includes #include <KMenu> -// Qt includes -#include <QtCore/QFile> - Sigmodr::MapEffectGroupModel::MapEffectGroupModel(BaseModel* parent, Sigmod::Map* map) : GroupModel(parent, map, "Effects") { @@ -57,18 +54,14 @@ bool Sigmodr::MapEffectGroupModel::setData(const QVariant& value, int role) { if (role == Sigmodr::BaseModel::XmlRole) { - if (value.canConvert<QString>()) + QString data = value.toString(); + if (!data.isEmpty()) { - QFile file(value.toString()); QDomDocument xml; - if ((file.open(QIODevice::ReadOnly) && xml.setContent(&file)) || xml.setContent(value.toString())) + if (loadFromData(data, &xml) && (xml.doctype().name() == "MapEffect")) { - if (xml.doctype().name() == "MapEffect") - { - addObject(qobject_cast<Sigmod::Map*>(m_object)->newEffect(xml.documentElement())); - return true; - } - file.close(); + addObject(qobject_cast<Sigmod::Map*>(m_object)->newEffect(xml.documentElement())); + return true; } } } |
