From 388bfa22a822c3d2e6fabbb3e50c1dc0413d755a Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 8 Jul 2015 15:55:34 +0200 Subject: [PATCH] QmlDesigner: Improve lookup for context senseitive help Change-Id: Ic3cb05dd639548a81c1b45f35e2ee32348e54dcc Reviewed-by: Tim Jenssen --- .../designercore/model/abstractview.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index 4695067f190..d18f0857cbf 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -36,6 +36,7 @@ #include "nodeinstanceview.h" #include +#include #include namespace QmlDesigner { @@ -435,7 +436,18 @@ QString AbstractView::contextHelpId() const QString helpId; if (hasSelectedModelNodes()) { - helpId = QStringLiteral("QML.") + firstSelectedModelNode().simplifiedTypeName(); + QString className = firstSelectedModelNode().simplifiedTypeName(); + helpId = QStringLiteral("QML.") + className; + if (Core::HelpManager::linksForIdentifier(helpId).isEmpty() && firstSelectedModelNode().metaInfo().isValid()) { + + foreach (className, firstSelectedModelNode().metaInfo().superClassNames()) { + helpId = QStringLiteral("QML.") + className; + if (Core::HelpManager::linksForIdentifier(helpId).isEmpty()) + helpId = QString(); + else + break; + } + } } return helpId;