aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2010-12-15 16:16:42 +0100
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2010-12-15 17:14:31 +0100
commit436c02face5e244b51f455bf913355b44010d8dc (patch)
treea68042683876331c866745520c22e4c650f10146 /src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp
parent1daebd7cbbab86d52a88a40c84052507878ecf7a (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.cpp22
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()