diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-10-07 13:53:42 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-10-07 14:25:36 +0200 |
commit | 99ba991ad732f4ea8f89bd7f13d97af1686e9a8b (patch) | |
tree | 27d4b4c04511283bcbb1b961a2156b4aeeea3f86 /src/quick/items/qquickevents.cpp | |
parent | b026715ff336f1493579145269a7323ed15b22e3 (diff) | |
parent | 57c9d6969ac474177c77d5ea59768b39620a3b2f (diff) |
Merge remote-tracking branch 'origin/5.8' into wip/pointerhandler
Change-Id: I22cb14c061dc1738fd711756a6bcabd4a25be915
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r-- | src/quick/items/qquickevents.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp index fd1afb7160..12b2b80dce 100644 --- a/src/quick/items/qquickevents.cpp +++ b/src/quick/items/qquickevents.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY(lcPointerEvents, "qt.quick.pointer.events") -Q_DECLARE_LOGGING_CATEGORY(lcPointerHandlerDispatch) +Q_LOGGING_CATEGORY(lcPointerGrab, "qt.quick.pointer.grab") /*! \qmltype KeyEvent @@ -564,7 +564,14 @@ QQuickItem *QQuickEventPoint::grabberItem() const void QQuickEventPoint::setGrabberItem(QQuickItem *grabber) { if (grabber != m_grabber.data()) { - qCDebug(lcPointerHandlerDispatch) << this << grabber; + if (Q_UNLIKELY(lcPointerGrab().isDebugEnabled())) { + auto device = static_cast<const QQuickPointerEvent *>(parent())->device(); + static const QMetaEnum stateMetaEnum = metaObject()->enumerator(metaObject()->indexOfEnumerator("State")); + QString deviceName = (device ? device->name() : QLatin1String("null device")); + deviceName.resize(16, ' '); // shorten, and align in case of sequential output + qCDebug(lcPointerGrab) << deviceName << "point" << hex << m_pointId << stateMetaEnum.valueToKey(state()) + << ": grab" << m_grabber << "->" << grabber; + } m_grabber = QPointer<QObject>(grabber); m_grabberIsHandler = false; m_sceneGrabPos = m_scenePos; @@ -579,7 +586,14 @@ QQuickPointerHandler *QQuickEventPoint::grabberPointerHandler() const void QQuickEventPoint::setGrabberPointerHandler(QQuickPointerHandler *grabber) { if (grabber != m_grabber.data()) { - qCDebug(lcPointerHandlerDispatch) << this << grabber; + if (Q_UNLIKELY(lcPointerGrab().isDebugEnabled())) { + auto device = static_cast<const QQuickPointerEvent *>(parent())->device(); + static const QMetaEnum stateMetaEnum = metaObject()->enumerator(metaObject()->indexOfEnumerator("State")); + QString deviceName = (device ? device->name() : QLatin1String("null device")); + deviceName.resize(16, ' '); // shorten, and align in case of sequential output + qCDebug(lcPointerGrab) << deviceName << "point" << hex << m_pointId << stateMetaEnum.valueToKey(state()) + << ": grab" << m_grabber << "->" << grabber; + } m_grabber = QPointer<QObject>(grabber); m_grabberIsHandler = true; m_sceneGrabPos = m_scenePos; @@ -965,6 +979,10 @@ QTouchEvent *QQuickPointerTouchEvent::asTouchEvent() const Q_QUICK_PRIVATE_EXPORT QDebug operator<<(QDebug dbg, const QQuickPointerDevice *dev) { QDebugStateSaver saver(dbg); dbg.nospace(); + if (!dev) { + dbg << "QQuickPointerDevice(0)"; + return dbg; + } dbg << "QQuickPointerDevice("<< dev->name() << ' '; QtDebugUtils::formatQEnum(dbg, dev->type()); dbg << ' '; |