diff options
author | Jarek Kobus <jaroslaw.kobus@theqtcompany.com> | 2016-10-21 15:08:05 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2016-10-21 13:38:03 +0000 |
commit | d7d896bfef6a7413875b69733057e8e7ce9bd146 (patch) | |
tree | a31d37916da4a145607d3c393b0624b9496ab9d3 | |
parent | 7c87ba01191e172bc10fb31f173520cb169a9a03 (diff) | |
download | qttools-d7d896bfef6a7413875b69733057e8e7ce9bd146.tar.gz |
Remove unneeded map and simplify extension code
Change-Id: If472a57975bcd9f5d5594ed6e633cb2b95f3289c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r-- | src/designer/src/lib/shared/qdesigner_propertysheet.cpp | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/src/designer/src/lib/shared/qdesigner_propertysheet.cpp b/src/designer/src/lib/shared/qdesigner_propertysheet.cpp index 3caaba690..8c4f0eef3 100644 --- a/src/designer/src/lib/shared/qdesigner_propertysheet.cpp +++ b/src/designer/src/lib/shared/qdesigner_propertysheet.cpp @@ -1627,8 +1627,6 @@ struct QDesignerAbstractPropertySheetFactory::PropertySheetFactoryPrivate { typedef QMap<QObject*, QObject*> ExtensionMap; ExtensionMap m_extensions; - typedef QHash<QObject*, bool> ExtendedSet; - ExtendedSet m_extended; }; QDesignerAbstractPropertySheetFactory::PropertySheetFactoryPrivate::PropertySheetFactoryPrivate() : @@ -1653,30 +1651,20 @@ QDesignerAbstractPropertySheetFactory::~QDesignerAbstractPropertySheetFactory() QObject *QDesignerAbstractPropertySheetFactory::extension(QObject *object, const QString &iid) const { - typedef PropertySheetFactoryPrivate::ExtensionMap ExtensionMap; if (!object) return 0; if (iid != m_impl->m_propertySheetId && iid != m_impl->m_dynamicPropertySheetId) return 0; - ExtensionMap::iterator it = m_impl->m_extensions.find(object); - if (it == m_impl->m_extensions.end()) { - if (QObject *ext = createPropertySheet(object, const_cast<QDesignerAbstractPropertySheetFactory*>(this))) { - connect(ext, &QObject::destroyed, this, &QDesignerAbstractPropertySheetFactory::objectDestroyed); - it = m_impl->m_extensions.insert(object, ext); - } - } - - if (!m_impl->m_extended.contains(object)) { + QObject *ext = m_impl->m_extensions.value(object, 0); + if (!ext && (ext = createPropertySheet(object, const_cast<QDesignerAbstractPropertySheetFactory*>(this)))) { + connect(ext, &QObject::destroyed, this, &QDesignerAbstractPropertySheetFactory::objectDestroyed); connect(object, &QObject::destroyed, this, &QDesignerAbstractPropertySheetFactory::objectDestroyed); - m_impl->m_extended.insert(object, true); + m_impl->m_extensions.insert(object, ext); } - if (it == m_impl->m_extensions.end()) - return 0; - - return it.value(); + return ext; } void QDesignerAbstractPropertySheetFactory::objectDestroyed(QObject *object) @@ -1684,14 +1672,9 @@ void QDesignerAbstractPropertySheetFactory::objectDestroyed(QObject *object) QMutableMapIterator<QObject*, QObject*> it(m_impl->m_extensions); while (it.hasNext()) { it.next(); - - QObject *o = it.key(); - if (o == object || object == it.value()) { + if (it.key() == object || it.value() == object) it.remove(); - } } - - m_impl->m_extended.remove(object); } QT_END_NAMESPACE |