summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-03-14 12:25:04 +0000
committerSean Harmer <sean.harmer@kdab.com>2016-03-22 18:16:15 +0000
commit42ca28186818d9c12f25b731e8dca93aa1bb42fc (patch)
tree4a6ede4bfae73c8e19ee7a0157a8a728e7f0b75b
parent468b87a80c1dc09169bf0adb375da5acce637b96 (diff)
QKeyboardDevice creates creation changes
Also fully qualify namespaces throughout. Task-number: QTBUG-51835 Change-Id: I83d3967a8bd2dfc7ad667f4ea7557937763d528b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/input/frontend/qkeyboarddevice.cpp20
-rw-r--r--src/input/frontend/qkeyboarddevice.h1
-rw-r--r--src/input/frontend/qkeyboarddevice_p.h6
3 files changed, 22 insertions, 5 deletions
diff --git a/src/input/frontend/qkeyboarddevice.cpp b/src/input/frontend/qkeyboarddevice.cpp
index 01ebd69f2..3a76d85b4 100644
--- a/src/input/frontend/qkeyboarddevice.cpp
+++ b/src/input/frontend/qkeyboarddevice.cpp
@@ -42,11 +42,10 @@
#include "qkeyboardhandler.h"
#include <Qt3DCore/private/qscene_p.h>
#include <Qt3DCore/qbackendscenepropertychange.h>
+#include <Qt3DCore/qbackendscenepropertychange.h>
QT_BEGIN_NAMESPACE
-using namespace Qt3DCore;
-
namespace Qt3DInput {
QKeyboardDevicePrivate::QKeyboardDevicePrivate()
@@ -278,9 +277,9 @@ QKeyboardDevice::QKeyboardDevice(QKeyboardDevicePrivate &dd, QNode *parent)
void QKeyboardDevice::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
{
Q_D(QKeyboardDevice);
- QBackendScenePropertyChangePtr e = qSharedPointerCast<QBackendScenePropertyChange>(change);
- if (e->type() == NodeUpdated && e->propertyName() == QByteArrayLiteral("activeInput")) {
- QNodeId activeInputId = e->value().value<QNodeId>();
+ Qt3DCore::QBackendScenePropertyChangePtr e = qSharedPointerCast<Qt3DCore::QBackendScenePropertyChange>(change);
+ if (e->type() == Qt3DCore::NodeUpdated && e->propertyName() == QByteArrayLiteral("activeInput")) {
+ Qt3DCore::QNodeId activeInputId = e->value().value<Qt3DCore::QNodeId>();
setActiveInput(qobject_cast<QKeyboardHandler *>(d->scene()->lookupNode(activeInputId)));
}
}
@@ -294,6 +293,17 @@ void QKeyboardDevice::setActiveInput(QKeyboardHandler *activeInput)
}
}
+Qt3DCore::QNodeCreatedChangeBasePtr QKeyboardDevice::createNodeCreationChange() const
+{
+ auto creationChange = Qt3DCore::QNodeCreatedChangePtr<QKeyboardDeviceData>::create(this);
+ auto &data = creationChange->data;
+
+ Q_D(const QKeyboardDevice);
+ data.activeInputId = qIdForNode(d->m_activeInput);
+
+ return creationChange;
+}
+
} // namespace Qt3DInput
QT_END_NAMESPACE
diff --git a/src/input/frontend/qkeyboarddevice.h b/src/input/frontend/qkeyboarddevice.h
index e34461bd3..3a887ff30 100644
--- a/src/input/frontend/qkeyboarddevice.h
+++ b/src/input/frontend/qkeyboarddevice.h
@@ -79,6 +79,7 @@ Q_SIGNALS:
private:
Q_DECLARE_PRIVATE(QKeyboardDevice)
QT3D_CLONEABLE(QKeyboardDevice)
+ Qt3DCore::QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE;
void setActiveInput(QKeyboardHandler *activeInput);
};
diff --git a/src/input/frontend/qkeyboarddevice_p.h b/src/input/frontend/qkeyboarddevice_p.h
index e19c480fd..2929ad0b5 100644
--- a/src/input/frontend/qkeyboarddevice_p.h
+++ b/src/input/frontend/qkeyboarddevice_p.h
@@ -52,6 +52,7 @@
//
#include <private/qabstractphysicaldevice_p.h>
+#include <Qt3DCore/qnodeid.h>
#include <QtCore/qhash.h>
#include <QtCore/qstring.h>
@@ -73,6 +74,11 @@ public:
QStringList m_keyNames;
};
+struct QKeyboardDeviceData
+{
+ Qt3DCore::QNodeId activeInputId;
+};
+
} // namespace Qt3DInput
QT_END_NAMESPACE