diff --git a/src/QGCQmlWidgetHolder.cpp b/src/QGCQmlWidgetHolder.cpp index 844ac51328c963a011ef8c127ccd0a81d6c51327..a73ad18f8149710cb6c619f95829d47db69d576b 100644 --- a/src/QGCQmlWidgetHolder.cpp +++ b/src/QGCQmlWidgetHolder.cpp @@ -40,10 +40,15 @@ QGCQmlWidgetHolder::~QGCQmlWidgetHolder() void QGCQmlWidgetHolder::setAutoPilot(AutoPilotPlugin* autoPilot) { - _ui.qmlWidget->rootContext()->setContextProperty("autopilot", autoPilot); + setContextPropertyObject("autopilot", autoPilot); } bool QGCQmlWidgetHolder::setSource(const QUrl& qmlUrl) { return _ui.qmlWidget->setSource(qmlUrl); } + +void QGCQmlWidgetHolder::setContextPropertyObject(const QString& name, QObject* object) +{ + _ui.qmlWidget->rootContext()->setContextProperty(name, object); +} diff --git a/src/QGCQmlWidgetHolder.h b/src/QGCQmlWidgetHolder.h index 378e501994399ec0bc2953d2b95c0661bf075243..49dbe63c05028db1bf7e9143f3c5401d824b6646 100644 --- a/src/QGCQmlWidgetHolder.h +++ b/src/QGCQmlWidgetHolder.h @@ -52,6 +52,8 @@ public: /// Sets the QML into the control. Will display errors message box if error occurs loading source. /// @return true: source loaded, false: source not loaded, errors occured bool setSource(const QUrl& qmlUrl); + + void setContextPropertyObject(const QString& name, QObject* object); private: Ui::QGCQmlWidgetHolder _ui;