From bda4ae301be47927316df7d835bcb6d7e4322da2 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Mon, 27 Mar 2023 16:12:45 +0300 Subject: [PATCH] QmlDesigner: Fix regression: Close context-menus on focus out Was broken by introducing StudioQuickWidget Fixes: QDS-9468 Change-Id: Ie9a29af7356387591259fd2a3d1ae9adc34c711d Reviewed-by: Reviewed-by: Miikka Heikkinen --- .../components/assetslibrary/assetslibrarywidget.cpp | 2 +- .../components/contentlibrary/contentlibrarywidget.cpp | 2 +- .../qmldesigner/components/itemlibrary/itemlibrarywidget.cpp | 2 +- .../components/materialbrowser/materialbrowserwidget.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp index a402f54a090..5d6e87524b5 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp @@ -55,7 +55,7 @@ static QString propertyEditorResourcesPath() bool AssetsLibraryWidget::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::FocusOut) { - if (obj == m_assetsWidget.data()) + if (obj == m_assetsWidget->quickWidget()) QMetaObject::invokeMethod(m_assetsWidget->rootObject(), "handleViewFocusOut"); } else if (event->type() == QMouseEvent::MouseMove) { if (!m_assetsToDrag.isEmpty() && !m_model.isNull()) { diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.cpp b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.cpp index 5b809e4c425..00aa613dae7 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.cpp @@ -44,7 +44,7 @@ static QString propertyEditorResourcesPath() bool ContentLibraryWidget::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::FocusOut) { - if (obj == m_quickWidget.data()) + if (obj == m_quickWidget->quickWidget()) QMetaObject::invokeMethod(m_quickWidget->rootObject(), "closeContextMenu"); } else if (event->type() == QMouseEvent::MouseMove) { DesignDocument *document = QmlDesignerPlugin::instance()->currentDesignDocument(); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index cc21e457001..549f9e69c10 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -71,7 +71,7 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event) Model *model = document ? document->documentModel() : nullptr; if (event->type() == QEvent::FocusOut) { - if (obj == m_itemsWidget.data()) + if (obj == m_itemsWidget->quickWidget()) QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "closeContextMenu"); } else if (event->type() == QMouseEvent::MouseMove) { if (m_itemToDrag.isValid()) { diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp index c124440eee2..d0c5483bdde 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp @@ -85,7 +85,7 @@ public: bool MaterialBrowserWidget::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::FocusOut) { - if (obj == m_quickWidget.data()) + if (obj == m_quickWidget->quickWidget()) QMetaObject::invokeMethod(m_quickWidget->rootObject(), "closeContextMenu"); } else if (event->type() == QMouseEvent::MouseMove) { DesignDocument *document = QmlDesignerPlugin::instance()->currentDesignDocument();