From dd6fb08babeff44c30fc59040aa01da6bcca46bb Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 13 May 2014 17:53:04 +0200 Subject: [PATCH] QmlDesigner: Share contextHelpId Moved the code to AbstractView::contextHelpId so it can be shared. Change-Id: I0a95b5ee079cbc26c87d53587f7766f1c333a245 Reviewed-by: Tim Jenssen --- .../components/formeditor/formeditorwidget.cpp | 13 +++---------- .../components/integration/designdocument.cpp | 13 +++---------- .../components/navigator/navigatorwidget.cpp | 15 ++++----------- .../designercore/include/abstractview.h | 2 ++ .../designercore/model/abstractview.cpp | 12 ++++++++++++ 5 files changed, 24 insertions(+), 31 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp index 0044eed14c5..a8908df7903 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp @@ -292,17 +292,10 @@ double FormEditorWidget::containerPadding() const QString FormEditorWidget::contextHelpId() const { - if (!m_formEditorView) - return QString(); + if (m_formEditorView) + return m_formEditorView->contextHelpId(); - QList nodes = m_formEditorView->selectedModelNodes(); - QString helpId; - if (!nodes.isEmpty()) { - helpId = nodes.first().type(); - helpId.replace("QtQuick", "QML"); - } - - return helpId; + return QString(); } void FormEditorWidget::setRootItemRect(const QRectF &rect) diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index 53f8f67570a..bed0501d2cd 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -674,17 +674,10 @@ void DesignDocument::updateActiveQtVersion() QString DesignDocument::contextHelpId() const { - DesignDocumentView view; - currentModel()->attachView(&view); + if (view()) + view()->contextHelpId(); - QList nodes = view.selectedModelNodes(); - QString helpId; - if (!nodes.isEmpty()) { - helpId = nodes.first().type(); - helpId.replace("QtQuick", "QML"); - } - - return helpId; + return QString(); } } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp index b380d7a0164..11e133ca8b8 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp @@ -34,7 +34,7 @@ #include #include #include - +#include #include @@ -108,17 +108,10 @@ QList NavigatorWidget::createToolBarWidgets() QString NavigatorWidget::contextHelpId() const { - if (!navigatorView()) - return QString(); + if (navigatorView()) + return navigatorView()->contextHelpId(); - QList nodes = navigatorView()->selectedModelNodes(); - QString helpId; - if (!nodes.isEmpty()) { - helpId = nodes.first().type(); - helpId.replace("QtQuick", "QML"); - } - - return helpId; + return QString(); } NavigatorView *NavigatorWidget::navigatorView() const diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h index 227ebae1112..96f17b16e37 100644 --- a/src/plugins/qmldesigner/designercore/include/abstractview.h +++ b/src/plugins/qmldesigner/designercore/include/abstractview.h @@ -246,6 +246,8 @@ public: virtual bool hasWidget() const; virtual WidgetInfo widgetInfo(); + QString contextHelpId() const; + protected: void setModel(Model * model); void removeModel(); diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index f61ef6fa991..a4ab694d35a 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -424,6 +424,18 @@ WidgetInfo AbstractView::widgetInfo() return createWidgetInfo(); } +QString AbstractView::contextHelpId() const +{ + QString helpId; + + if (hasSelectedModelNodes()) { + helpId = firstSelectedModelNode().type(); + helpId.replace(QStringLiteral("QtQuick"), QStringLiteral("QML")); + } + + return helpId; +} + QList AbstractView::allModelNodes() const { return toModelNodeList(model()->d->allNodes());