diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-09-16 06:36:17 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-09-16 06:36:17 +0000 |
| commit | b5e31868dc0d4d5094752ab2dba127311434e66f (patch) | |
| tree | 9ffa57312ec216426059ec16d011865e4c1af72f /sigmodr/models/SigmodModel.cpp | |
| parent | 0f0dbfb0395810c1c205a1dc10cf1f226669fd00 (diff) | |
| download | sigen-b5e31868dc0d4d5094752ab2dba127311434e66f.tar.gz sigen-b5e31868dc0d4d5094752ab2dba127311434e66f.tar.xz sigen-b5e31868dc0d4d5094752ab2dba127311434e66f.zip | |
[FIX] Refactored out some code to ObjectModel
[FIX] Drag and drop now accepts URLs
[FIX] The main window can now accept drops
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@265 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'sigmodr/models/SigmodModel.cpp')
| -rw-r--r-- | sigmodr/models/SigmodModel.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/sigmodr/models/SigmodModel.cpp b/sigmodr/models/SigmodModel.cpp index 7c96cb2b..d8f1e444 100644 --- a/sigmodr/models/SigmodModel.cpp +++ b/sigmodr/models/SigmodModel.cpp @@ -52,9 +52,6 @@ // KDE includes #include <KMenu> -// Qt includes -#include <QtCore/QFile> - Sigmodr::SigmodModel::SigmodModel(BaseModel* parent, Sigmod::Sigmod* sigmod) : GroupObjectModel(parent, sigmod) { @@ -93,11 +90,11 @@ bool Sigmodr::SigmodModel::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)) { if (xml.doctype().name() == m_object->className()) { @@ -109,14 +106,9 @@ bool Sigmodr::SigmodModel::setData(const QVariant& value, int role) foreach (BaseModel* model, m_objects) { GroupModel* group = qobject_cast<GroupModel*>(model); - if (group) - { - const bool used = group->setData(value, role); - if (used) - return true; - } + if (group && group->setData(value, role)) + return true; } - file.close(); } } } |
