diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 926b0bb6cd2cf7c62c7da1cf43bffa442d569373..8f05ce4b716aeb10947a560c24813e704e8b1fb6 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -1021,8 +1021,19 @@ void NodeMetaInfoPrivate::setupPrototypes() description.className = qmlValue->moduleName().toUtf8() + '.' + description.className; m_prototypes.append(description); } else { - if (context()->lookupType(document(), QStringList() << ov->className())) + if (context()->lookupType(document(), QStringList() << ov->className())) { + const Imports *allImports = context()->imports(document()); + ImportInfo importInfo = allImports->info(description.className, context().data()); + + if (importInfo.isValid()) { + QString uri = importInfo.name(); + uri.replace(QLatin1String(","), QLatin1String(".")); + if (!uri.isEmpty()) + description.className = QString(uri + QString::fromLatin1(".") + QString::fromLatin1(description.className)).toLatin1(); + } + m_prototypes.append(description); + } } } }