summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@theqtcompany.com>2016-10-21 15:08:05 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2016-10-21 13:38:03 +0000
commitd7d896bfef6a7413875b69733057e8e7ce9bd146 (patch)
treea31d37916da4a145607d3c393b0624b9496ab9d3
parent7c87ba01191e172bc10fb31f173520cb169a9a03 (diff)
downloadqttools-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.cpp29
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