From 03e76d80a80eef3932d6c6bbad88d28951736cc4 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@digia.com> Date: Wed, 5 Jun 2013 14:08:00 +0200 Subject: [PATCH] QmlDesigner.PropertyEditor: We fully qualify QML components When collecting the super classes/types we did not fully qualify QML components. (e.g. just Button instead of QtQuick.Controls.Button) This patch now fully qualifies the QML component. The missing qualification broke the specifics mechanism in the property editor (see task). Task-number: QTCREATORBUG-9222 Change-Id: I61b6b6432493c1c440356547003269767415acb4 Reviewed-by: Marco Bubke <marco.bubke@digia.com> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> --- .../designercore/metainfo/nodemetainfo.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 926b0bb6cd2..8f05ce4b716 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); + } } } } -- GitLab