diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp index 005b6ed5ddc..d4bee4fcced 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp @@ -275,7 +275,7 @@ void MaterialBrowserModel::applyToSelected(qint64 internalId, bool add) void MaterialBrowserModel::openMaterialEditor() { - QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("MaterialEditor"); + QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("MaterialEditor", true); } } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp b/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp index 5f115b67778..c28152276c4 100644 --- a/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp +++ b/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp @@ -459,7 +459,7 @@ void MaterialEditorView::handleToolBarAction(int action) } case MaterialEditorContextObject::OpenMaterialBrowser: { - QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("MaterialBrowser"); + QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("MaterialBrowser", true); break; } } diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index e6ffe1c8919..51dbd58c990 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -583,11 +583,15 @@ CrumbleBar *DesignModeWidget::crumbleBar() const return m_crumbleBar; } -void DesignModeWidget::showDockWidget(const QString &objectName) +void DesignModeWidget::showDockWidget(const QString &objectName, bool focus) { auto dockWidget = m_dockManager->findDockWidget(objectName); - if (dockWidget) + if (dockWidget) { dockWidget->toggleView(true); + + if (focus) + dockWidget->setFocus(); + } } void DesignModeWidget::contextHelp(const Core::IContext::HelpCallback &callback) const diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h index 6f6f7283b0e..643c8df8e47 100644 --- a/src/plugins/qmldesigner/designmodewidget.h +++ b/src/plugins/qmldesigner/designmodewidget.h @@ -80,7 +80,7 @@ public: void disableWidgets(); CrumbleBar *crumbleBar() const; - void showDockWidget(const QString &objectName); + void showDockWidget(const QString &objectName, bool focus = false); void determineWorkspaceToRestoreAtStartup();