diff options
Diffstat (limited to 'pokemodr/models/AbilityEffectModel.cpp')
| -rw-r--r-- | pokemodr/models/AbilityEffectModel.cpp | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/pokemodr/models/AbilityEffectModel.cpp b/pokemodr/models/AbilityEffectModel.cpp index eb795b45..ce6602b6 100644 --- a/pokemodr/models/AbilityEffectModel.cpp +++ b/pokemodr/models/AbilityEffectModel.cpp @@ -51,34 +51,18 @@ bool AbilityEffectModel::setData(const QVariant& value, int role) { if (role == Qt::UserRole) { - if (value.canConvert<void*>()) - { - *static_cast<AbilityEffect*>(m_object) = *static_cast<AbilityEffect*>(value.value<void*>()); - return true; - } - else if (value.canConvert<QString>()) + if (value.canConvert<QString>()) { QFile file(value.toString()); QDomDocument xml; - if (file.open(QIODevice::ReadOnly)) - { - if (xml.setContent(&file)) - { - if (xml.doctype().name() == m_object->className()) - { - m_object->load(xml.documentElement()); - return true; - } - } - file.close(); - } - else if (xml.setContent(value.toString())) + if ((file.open(QIODevice::ReadOnly) && xml.setContent(&file)) || xml.setContent(value.toString())) { if (xml.doctype().name() == m_object->className()) { m_object->load(xml.documentElement()); return true; } + file.close(); } } } |
