summaryrefslogtreecommitdiffstats
path: root/pokemodr/models/TileModel.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-04-25 19:06:47 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-04-25 19:06:47 +0000
commit74c06767a1a698705e8c486d77ccf11838c87a4d (patch)
tree34519f082aac35aef9321756e0a3dce0a87c5419 /pokemodr/models/TileModel.cpp
parentdd643ee61d9166761c50803cd379c9343099385c (diff)
downloadsigen-74c06767a1a698705e8c486d77ccf11838c87a4d.tar.gz
sigen-74c06767a1a698705e8c486d77ccf11838c87a4d.tar.xz
sigen-74c06767a1a698705e8c486d77ccf11838c87a4d.zip
[FIX] Cleaner setting of model data
[FIX] Fleshed out the GroupModel classes for Pokemod [FIX] Tree for pokemod is now draggable git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@108 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/models/TileModel.cpp')
-rw-r--r--pokemodr/models/TileModel.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/pokemodr/models/TileModel.cpp b/pokemodr/models/TileModel.cpp
index 924519be..06e8e280 100644
--- a/pokemodr/models/TileModel.cpp
+++ b/pokemodr/models/TileModel.cpp
@@ -54,34 +54,18 @@ bool TileModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
{
- if (value.canConvert<void*>())
- {
- *static_cast<Tile*>(m_object) = *static_cast<Tile*>(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();
}
}
}