diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-04-29 17:09:18 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-04-30 13:25:21 +0200 |
commit | af1231b6d5014d8ad88ce23424110f8573c4ccf2 (patch) | |
tree | 7012a832219124d9081518df9c459b484ae08659 | |
parent | 2ee3bae40fb2b706fd328afd630819b57adf9fbd (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.cpp | 12 |
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(); |