From c66b02d37e52e47ed8ef7c416e853654432c39de Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 5 Jul 2024 14:01:32 +0200 Subject: [PATCH] QmlDesigner: Register AssetsLibraryContext more directly ... in the constructor of the relevant AssetsLibraryWidget. This simplifies the code and ensure the context gets set in all paths creating such an object. One was missing. Change-Id: I00daf9ef9f932a35bdc8b2b258c471a655b97fbf Reviewed-by: Eike Ziller --- .../components/assetslibrary/assetslibraryview.cpp | 4 ---- .../components/assetslibrary/assetslibrarywidget.cpp | 6 ++++++ src/plugins/qmldesigner/designmodecontext.cpp | 10 ---------- src/plugins/qmldesigner/designmodecontext.h | 8 -------- 4 files changed, 6 insertions(+), 22 deletions(-) diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp index 28fed71b86e..13b8beaeae9 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp @@ -4,7 +4,6 @@ #include "assetslibraryview.h" #include "assetslibrarywidget.h" -#include "designmodecontext.h" #include "qmldesignerplugin.h" #include @@ -62,9 +61,6 @@ WidgetInfo AssetsLibraryView::widgetInfo() m_widget = new AssetsLibraryWidget{imageCacheData()->asynchronousFontImageCache, imageCacheData()->synchronousFontImageCache, this}; - - auto context = new Internal::AssetsLibraryContext(m_widget.data()); - Core::ICore::addContextObject(context); } return createWidgetInfo(m_widget.data(), "Assets", WidgetInfo::LeftPane, 0, tr("Assets")); diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp index 5e2211ce0d9..c5002a6c893 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp @@ -43,6 +43,8 @@ #include #include +using namespace Core; + namespace QmlDesigner { static QString propertyEditorResourcesPath() @@ -158,6 +160,10 @@ AssetsLibraryWidget::AssetsLibraryWidget(AsynchronousImageCache &asynchronousFon reloadQmlSource(); setFocusProxy(m_assetsWidget->quickWidget()); + + IContext::attach(this, + Context(Constants::C_QMLASSETSLIBRARY, Constants::C_QT_QUICK_TOOLS_MENU), + [this](const IContext::HelpCallback &callback) { contextHelp(callback); }); } void AssetsLibraryWidget::contextHelp(const Core::IContext::HelpCallback &callback) const diff --git a/src/plugins/qmldesigner/designmodecontext.cpp b/src/plugins/qmldesigner/designmodecontext.cpp index cc615131dba..a25053a512e 100644 --- a/src/plugins/qmldesigner/designmodecontext.cpp +++ b/src/plugins/qmldesigner/designmodecontext.cpp @@ -53,16 +53,6 @@ MaterialBrowserContext::MaterialBrowserContext(QWidget *widget) }); } -AssetsLibraryContext::AssetsLibraryContext(QWidget *widget) - : IContext(widget) -{ - setWidget(widget); - setContext(Core::Context(Constants::C_QMLASSETSLIBRARY, Constants::C_QT_QUICK_TOOLS_MENU)); - setContextHelpProvider([this](const HelpCallback &callback) { - qobject_cast(m_widget)->contextHelp(callback); - }); -} - NavigatorContext::NavigatorContext(QWidget *widget) : IContext(widget) { diff --git a/src/plugins/qmldesigner/designmodecontext.h b/src/plugins/qmldesigner/designmodecontext.h index 0457e230cf3..0ebc1e6f33f 100644 --- a/src/plugins/qmldesigner/designmodecontext.h +++ b/src/plugins/qmldesigner/designmodecontext.h @@ -43,14 +43,6 @@ public: MaterialBrowserContext(QWidget *widget); }; -class AssetsLibraryContext : public Core::IContext -{ - Q_OBJECT - -public: - AssetsLibraryContext(QWidget *widget); -}; - class NavigatorContext : public Core::IContext { Q_OBJECT