diff options
Diffstat (limited to 'pokemodr/models/AbilityModel.cpp')
| -rw-r--r-- | pokemodr/models/AbilityModel.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/pokemodr/models/AbilityModel.cpp b/pokemodr/models/AbilityModel.cpp index c19bcab0..13b3707b 100644 --- a/pokemodr/models/AbilityModel.cpp +++ b/pokemodr/models/AbilityModel.cpp @@ -48,7 +48,13 @@ QVariant AbilityModel::data(int role) const { if (role == Qt::DisplayRole) return static_cast<Ability*>(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 AbilityUI(static_cast<Ability*>(m_object), NULL); return QVariant::fromValue(widget); @@ -63,7 +69,7 @@ int AbilityModel::rowCount() const bool AbilityModel::setData(const QVariant& value, int role) { - if (role == Qt::UserRole) + if (role == BaseModel::XmlRole) { if (value.canConvert<QString>()) { @@ -113,11 +119,6 @@ bool AbilityModel::removeRows(const int position, const int rows) return true; } -// bool AbilityModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column) -// { -// // TODO: drag/drop -// } - void AbilityModel::setupData() { Ability* ability = static_cast<Ability*>(m_object); |
