diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-12-15 16:16:42 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-12-15 17:14:31 +0100 |
commit | 436c02face5e244b51f455bf913355b44010d8dc (patch) | |
tree | a68042683876331c866745520c22e4c650f10146 /src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp | |
parent | 1daebd7cbbab86d52a88a40c84052507878ecf7a (diff) |
QmlDesigner.itemLibrary: allow entry names used twice
Use name + category for identification needed some refactoring.
Diffstat (limited to 'src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp index a42529b44f..a1b6f73dca 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp @@ -283,25 +283,25 @@ QList<ItemLibraryEntry> ItemLibraryInfo::entries() const return list; } +static inline QString keyForEntry(const ItemLibraryEntry &entry) +{ + return entry.name() + entry.category(); +} + void ItemLibraryInfo::addEntry(const ItemLibraryEntry &entry) { - if (m_d->nameToEntryHash.contains(entry.name())) + const QString key = keyForEntry(entry); + if (m_d->nameToEntryHash.contains(key)) throw InvalidMetaInfoException(__LINE__, __FUNCTION__, __FILE__); - m_d->nameToEntryHash.insert(entry.name(), entry); + m_d->nameToEntryHash.insert(key, entry); emit entriesChanged(); } -bool ItemLibraryInfo::removeEntry(const QString &name) +bool ItemLibraryInfo::containsEntry(const ItemLibraryEntry &entry) { - if (m_d->nameToEntryHash.remove(name)) { - emit entriesChanged(); - return true; - } - if (m_d->baseInfo) - return m_d->baseInfo->removeEntry(name); - - return false; + const QString key = keyForEntry(entry); + return m_d->nameToEntryHash.contains(key); } void ItemLibraryInfo::clearEntries() |