From e13073c4357b2b85eba8a015f38e9f69f4d1799c Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Fri, 25 Apr 2008 21:09:05 +0000 Subject: [FIX] Drag/Drop should work (in theory) git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@109 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokemodr/models/TileModel.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'pokemodr/models/TileModel.cpp') diff --git a/pokemodr/models/TileModel.cpp b/pokemodr/models/TileModel.cpp index 06e8e280..3bca9275 100644 --- a/pokemodr/models/TileModel.cpp +++ b/pokemodr/models/TileModel.cpp @@ -42,7 +42,13 @@ QVariant TileModel::data(int role) const { if (role == Qt::DisplayRole) return static_cast(m_object)->name(); - else if (role == Qt::UserRole) + else if (role == BaseModel::XmlRole) + { + QDomDocument xml(m_object->className()); + xml.appendChild(m_object->save()); + return xml.toString(); + } + else if (role == BaseModel::WidgetRole) { QWidget* widget = new TileUI(static_cast(m_object), NULL); return QVariant::fromValue(widget); @@ -52,7 +58,7 @@ QVariant TileModel::data(int role) const bool TileModel::setData(const QVariant& value, int role) { - if (role == Qt::UserRole) + if (role == BaseModel::XmlRole) { if (value.canConvert()) { @@ -76,8 +82,3 @@ int TileModel::indexNumber() const { return m_object->pokemod()->tileIndex(m_object->id()); } - -// bool TileModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column) -// { -// // TODO: drag/drop -// } -- cgit