From 442ab445c73cb7121e40fd4b282848a6bd4a94a1 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 3 Sep 2024 17:15:37 +0200 Subject: [PATCH] QmlDesigner: Consolidate context help MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move one singular implementation to the texteditor. Define a fallback help URL if no type is found. Change-Id: Ieccbeb449c22ff14060d1fb57dfd629770baf6f1 Reviewed-by: Henning Gründl --- .../components/navigator/navigatorwidget.cpp | 16 --------------- .../components/texteditor/texteditorview.cpp | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp index 60e0b4c90c9..ae07b7b42c0 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp @@ -181,23 +181,7 @@ QToolBar *NavigatorWidget::createToolBar() void NavigatorWidget::contextHelp(const Core::IContext::HelpCallback &callback) const { if (auto view = navigatorView()) { - QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_HELP_REQUESTED - + view->contextHelpId()); -#ifndef QDS_USE_PROJECTSTORAGE - ModelNode selectedNode = view->firstSelectedModelNode(); - if (!selectedNode) - selectedNode = view->rootModelNode(); - - // TODO: Needs to be fixed for projectstorage. - const Core::HelpItem helpItem({QString::fromUtf8("QML." + selectedNode.type()), - "QML." + selectedNode.simplifiedTypeName()}, - {}, - {}, - Core::HelpItem::QmlComponent); - callback(helpItem); -#else QmlDesignerPlugin::contextHelp(callback, view->contextHelpId()); -#endif } else { callback({}); } diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp index c834f57257f..3d9cc2cf6ac 100644 --- a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp +++ b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp @@ -142,10 +142,30 @@ WidgetInfo TextEditorView::widgetInfo() void TextEditorView::qmlJSEditorContextHelp(const Core::IContext::HelpCallback &callback) const { +#ifndef QDS_USE_PROJECTSTORAGE + ModelNode selectedNode = firstSelectedModelNode(); + if (!selectedNode) + selectedNode = rootModelNode(); + + // TODO: Needs to be fixed for projectstorage. + Core::HelpItem helpItem({QString::fromUtf8("QML." + selectedNode.type()), + "QML." + selectedNode.simplifiedTypeName()}, + {}, + {}, + Core::HelpItem::QmlComponent); + + if (!helpItem.isValid()) { + helpItem = Core::HelpItem( + QUrl("qthelp://org.qt-project.qtdesignstudio/doc/quick-preset-components.html")); + } + + callback(helpItem); +#else if (m_widget->textEditor()) m_widget->textEditor()->contextHelp(callback); else callback({}); +#endif } void TextEditorView::nodeIdChanged(const ModelNode& /*node*/, const QString &/*newId*/, const QString &/*oldId*/)