aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2022-05-24 16:04:50 +0300
committerMahmoud Badri <mahmoud.badri@qt.io>2022-05-24 13:10:42 +0000
commit917ae81ce6ed62ca0c477ecff12755334df61a8c (patch)
treef9857ac38e4a255a6736672b29ce0b805996d356
parent4c1e4ed9077a8fa024af6c19a6806ecf8babfdd9 (diff)
QmlDesigner: focus material browser upon open
When clicking the open material browser button in the material editor, focus the material browser window if it is already open. Also do the same when opening the material editor by double clicking a material in the material browser. Fixes: QDS-7006 Change-Id: If64d1ff6595dea5e33771485622322df708405d9 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp2
-rw-r--r--src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp2
-rw-r--r--src/plugins/qmldesigner/designmodewidget.cpp8
-rw-r--r--src/plugins/qmldesigner/designmodewidget.h2
4 files changed, 9 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp
index 005b6ed5dd..d4bee4fcce 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 5f115b6777..c28152276c 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 e6ffe1c891..51dbd58c99 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 6f6f7283b0..643c8df8e4 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();