diff --git a/src/Config.cpp b/src/Config.cpp index 803a2c4b..f2454bc2 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -227,7 +227,8 @@ void Config::setQmlEngine(QQmlEngine *qmlEngine) return; } - DockRegistry::self(); // make sure our QML types are registered + auto dr = DockRegistry::self(); // make sure our QML types are registered + qmlEngine->rootContext()->setContextProperty(QStringLiteral("_kddwDockRegistry"), dr); d->m_qmlEngine = qmlEngine; QQmlContext *context = qmlEngine->rootContext(); diff --git a/src/private/DockRegistry_p.h b/src/private/DockRegistry_p.h index 9ac383ea..af17b83f 100644 --- a/src/private/DockRegistry_p.h +++ b/src/private/DockRegistry_p.h @@ -58,7 +58,7 @@ public: DockWidgetBase *focusedDockWidget() const; bool containsDockWidget(const QString &uniqueName) const; - DockWidgetBase *dockByName(const QString &) const; + Q_INVOKABLE DockWidgetBase *dockByName(const QString &) const; MainWindowBase *mainWindowByName(const QString &) const; MainWindowMDI *mdiMainWindowByName(const QString &) const;