diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-05-21 19:59:39 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-05-21 19:59:39 +0000 |
| commit | c2d90a8019125dc260db1882ebc292e4e52f3969 (patch) | |
| tree | 1ec02bf2731e7dde2a0405d1716c2e179b78cbce /pokemodr/PokemodTree.cpp | |
| parent | fa85318e91ea9bbe4638092767b3b8e0ea64f57c (diff) | |
| download | sigen-c2d90a8019125dc260db1882ebc292e4e52f3969.tar.gz sigen-c2d90a8019125dc260db1882ebc292e4e52f3969.tar.xz sigen-c2d90a8019125dc260db1882ebc292e4e52f3969.zip | |
[FIX] Closing PokeMods works now
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@162 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/PokemodTree.cpp')
| -rw-r--r-- | pokemodr/PokemodTree.cpp | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/pokemodr/PokemodTree.cpp b/pokemodr/PokemodTree.cpp index fee1d26e..9c38663b 100644 --- a/pokemodr/PokemodTree.cpp +++ b/pokemodr/PokemodTree.cpp @@ -32,6 +32,8 @@ PokemodTree::PokemodTree(QWidget* parent) : QTreeView(parent) { header()->hide(); + setModel(new PokemodTreeModel(this)); + setRootIndex(model()->index(-1, 0, QModelIndex())); } QString PokemodTree::description(const QModelIndex& index) @@ -67,32 +69,49 @@ void PokemodTree::paste(const QModelIndex& index, const QDomDocument& data) model()->setData(index, data.toString(), BaseModel::XmlRole); } -KUrl PokemodTree::url(const Pokemod* pokemod) const +void PokemodTree::addPokemod(Pokemod* pokemod) { - if (m_urls.contains(pokemod)) - return m_urls[pokemod]; - return KUrl(); + static_cast<PokemodTreeModel*>(model())->addPokemod(pokemod); + m_pokemods[pokemod] = QPair<KUrl, bool>(KUrl(), false); } -void PokemodTree::setUrl(Pokemod* pokemod, const KUrl& url) +void PokemodTree::addPokemod(Pokemod* pokemod, const KUrl& url) { - m_urls[pokemod] = url; + static_cast<PokemodTreeModel*>(model())->addPokemod(pokemod); + m_pokemods[pokemod] = QPair<KUrl, bool>(url, false); } -void PokemodTree::addPokemod(Pokemod* pokemod) +void PokemodTree::deletePokemod(const Pokemod* pokemod) { - static_cast<PokemodTreeModel*>(model())->addPokemod(pokemod); - m_urls[pokemod] = ""; + if (m_pokemods.contains(pokemod)) + { + static_cast<PokemodTreeModel*>(model())->deletePokemod(pokemod); + m_pokemods.remove(pokemod); + } } -void PokemodTree::addPokemod(Pokemod* pokemod, const KUrl& url) +KUrl PokemodTree::url(const Pokemod* pokemod) const { - static_cast<PokemodTreeModel*>(model())->addPokemod(pokemod); - m_urls[pokemod] = url; + if (m_pokemods.contains(pokemod)) + return m_pokemods[pokemod].first; + return KUrl(); } -void PokemodTree::deletePokemod(const Pokemod* pokemod) +void PokemodTree::setUrl(const Pokemod* pokemod, const KUrl& url) +{ + if (m_pokemods.contains(pokemod)) + m_pokemods[pokemod] = QPair<KUrl, bool>(url, false); +} + +bool PokemodTree::dirty(const Pokemod* pokemod) const +{ + if (m_pokemods.contains(pokemod)) + return m_pokemods[pokemod].second; + return false; +} + +void PokemodTree::setDirty(const Pokemod* pokemod, const bool dirty) { - static_cast<PokemodTreeModel*>(model())->deletePokemod(pokemod); - m_urls.remove(pokemod); + if (m_pokemods.contains(pokemod)) + m_pokemods[pokemod].second = dirty; } |
