diff options
author | BogDan Vatra <bogdan@kde.org> | 2015-08-29 15:54:14 +0300 |
---|---|---|
committer | BogDan Vatra <bogdan@kdab.com> | 2015-10-16 05:27:11 +0000 |
commit | 00871e531f7fb44feb3dac7abfe4eff0af5dfada (patch) | |
tree | be4f3a63c9ff19d83bf1eaa28335026b835893f1 | |
parent | ee6ff7f07325edf5979ac02c6bb6e3f41a8d1068 (diff) |
We need GamepadManager in QML to listen for gamepad[Dis]Connected signals
Change-Id: I4868a66cad0b1225fb4a8768b7bc585d52e985dd
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
-rw-r--r-- | src/imports/gamepad/qtgamepad.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/imports/gamepad/qtgamepad.cpp b/src/imports/gamepad/qtgamepad.cpp index ae37e62..1d550db 100644 --- a/src/imports/gamepad/qtgamepad.cpp +++ b/src/imports/gamepad/qtgamepad.cpp @@ -34,6 +34,7 @@ ** ****************************************************************************/ +#include <QtQml/qqmlengine.h> #include <QtQml/qqmlextensionplugin.h> #include <QtQml/qqml.h> @@ -44,6 +45,13 @@ QT_BEGIN_NAMESPACE +static QObject *gamepadmanager_singletontype_provider(QQmlEngine */*engine*/, QJSEngine */*scriptEngine*/) +{ + QGamepadManager *manager = QGamepadManager::instance(); + QQmlEngine::setObjectOwnership(manager, QQmlEngine::CppOwnership); + return manager; +} + class QGamepadModule : public QQmlExtensionPlugin { Q_OBJECT @@ -53,6 +61,7 @@ public: { Q_ASSERT(QLatin1String(uri) == QLatin1String("QtGamepad")); + qmlRegisterSingletonType<QGamepadManager>(uri, 1, 0, "GamepadManager", &gamepadmanager_singletontype_provider); qmlRegisterType<QGamepad>(uri, 1, 0, "Gamepad"); qmlRegisterType<QGamepadKeyNavigation>(uri, 1, 0, "GamepadKeyNavigation"); qmlRegisterType<QGamepadMouseItem>(uri, 1, 0, "GamepadMouseItem"); |