aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@digia.com>2013-04-29 17:09:18 +0200
committerThomas Hartmann <Thomas.Hartmann@digia.com>2013-04-30 13:25:21 +0200
commitaf1231b6d5014d8ad88ce23424110f8573c4ccf2 (patch)
tree7012a832219124d9081518df9c459b484ae08659
parent2ee3bae40fb2b706fd328afd630819b57adf9fbd (diff)
QmlDesigner.SubComponentManager: We have to use importPaths
Otherwise we skip items derived from types only available via imports. Change-Id: I102a4843652029dff777e12594efc4d5e5e50999 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
-rw-r--r--src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp
index 09af54cd0a..7c70d97637 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp
@@ -108,7 +108,7 @@ static inline bool checkIfDerivedFromItem(const QString &fileName)
snapshot.insert(document);
- QmlJS::Link link(snapshot, QStringList(), QmlJS::ModelManagerInterface::instance()->builtins(document));
+ QmlJS::Link link(snapshot, modelManager->importPaths(), QmlJS::ModelManagerInterface::instance()->builtins(document));
QList<QmlJS::DiagnosticMessage> diagnosticLinkMessages;
QmlJS::ContextPtr context = link(document, &diagnosticLinkMessages);
@@ -123,15 +123,7 @@ static inline bool checkIfDerivedFromItem(const QString &fileName)
if (!definition)
return false;
- QString fullTypeName;
- for (QmlJS::AST::UiQualifiedId *iter = definition->qualifiedTypeNameId; iter; iter = iter->next)
- if (!iter->name.isEmpty())
- fullTypeName += iter->name.toString() + QLatin1Char('.');
-
- if (fullTypeName.endsWith(QLatin1Char('.')))
- fullTypeName.chop(1);
-
- const QmlJS::ObjectValue *objectValue = context->lookupType(document.data(), fullTypeName.split('.'));
+ const QmlJS::ObjectValue *objectValue = context->lookupType(document.data(), definition->qualifiedTypeNameId);
QList<const QmlJS::ObjectValue *> prototypes = QmlJS::PrototypeIterator(objectValue, context).all();