diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 0c3b631608..7db77f5ee5 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -5327,14 +5327,6 @@ qint64 QPointingDeviceUniqueId::numericId() const noexcept (\c true) or not (\c false). */ -/*! - \internal -*/ -bool QPointingDeviceUniqueId::equals(QPointingDeviceUniqueId other) const noexcept -{ - return numericId() == other.numericId(); -} - /*! \relates QPointingDeviceUniqueId \since 5.8 diff --git a/src/gui/kernel/qinputdevice.cpp b/src/gui/kernel/qinputdevice.cpp index 47d1762f68..09b1939c29 100644 --- a/src/gui/kernel/qinputdevice.cpp +++ b/src/gui/kernel/qinputdevice.cpp @@ -129,10 +129,10 @@ Q_DECLARE_LOGGING_CATEGORY(lcQpaInputDevices) */ /*! - Creates a new invalid input device instance. + Creates a new invalid input device instance as a child of \a parent. */ -QInputDevice::QInputDevice() - : QObject(*(new QInputDevicePrivate(QString(), -1, QInputDevice::DeviceType::Unknown)), nullptr) +QInputDevice::QInputDevice(QObject *parent) + : QObject(*(new QInputDevicePrivate(QString(), -1, QInputDevice::DeviceType::Unknown)), parent) { } diff --git a/src/gui/kernel/qinputdevice.h b/src/gui/kernel/qinputdevice.h index 667338fe02..0389c7856e 100644 --- a/src/gui/kernel/qinputdevice.h +++ b/src/gui/kernel/qinputdevice.h @@ -61,7 +61,7 @@ class Q_GUI_EXPORT QInputDevice : public QObject Q_PROPERTY(QRect availableVirtualGeometry READ availableVirtualGeometry NOTIFY availableVirtualGeometryChanged) public: - enum class DeviceType : qint16 { + enum class DeviceType { Unknown = 0x0000, Mouse = 0x0001, TouchScreen = 0x0002, @@ -70,12 +70,12 @@ public: Stylus = 0x0010, Airbrush = 0x0020, Keyboard = 0x1000, - AllDevices = 0x7FFF + AllDevices = 0x7FFFFFFF }; Q_DECLARE_FLAGS(DeviceTypes, DeviceType) Q_FLAG(DeviceTypes) - enum class Capability : qint32 { + enum class Capability { None = 0, Position = 0x0001, Area = 0x0002, @@ -95,7 +95,7 @@ public: Q_DECLARE_FLAGS(Capabilities, Capability) Q_FLAG(Capabilities) - QInputDevice(); + QInputDevice(QObject *parent = nullptr); ~QInputDevice(); QInputDevice(const QString &name, qint64 systemId, DeviceType type, const QString &seatName = QString(), QObject *parent = nullptr); @@ -117,7 +117,7 @@ Q_SIGNALS: void availableVirtualGeometryChanged(QRect area); protected: - QInputDevice(QInputDevicePrivate &d, QObject *parent = nullptr); + QInputDevice(QInputDevicePrivate &d, QObject *parent); Q_DISABLE_COPY_MOVE(QInputDevice) }; diff --git a/src/gui/kernel/qinputdevice_p.h b/src/gui/kernel/qinputdevice_p.h index b2c13351f7..41150d055d 100644 --- a/src/gui/kernel/qinputdevice_p.h +++ b/src/gui/kernel/qinputdevice_p.h @@ -65,7 +65,7 @@ public: QInputDevice::Capabilities caps = QInputDevice::Capability::None, const QString &seatName = QString()) : name(name), seatName(seatName), systemId(winSysId), capabilities(caps), - deviceType(type), pointingDeviceType(false) + deviceType(type) { // if the platform doesn't provide device IDs, make one up, // but try to avoid clashing with OS-provided 32-bit IDs @@ -80,9 +80,9 @@ public: QRect availableVirtualGeometry; void *qqExtra = nullptr; // Qt Quick can store arbitrary device-specific data here qint64 systemId = 0; - qint32 capabilities = static_cast(QInputDevice::Capability::None); + QInputDevice::Capabilities capabilities = QInputDevice::Capability::None; QInputDevice::DeviceType deviceType = QInputDevice::DeviceType::Unknown; - qint16 pointingDeviceType : 1; // actually bool, but pack with deviceType + bool pointingDeviceType = false; static void registerDevice(const QInputDevice *dev); static void unregisterDevice(const QInputDevice *dev); @@ -95,7 +95,7 @@ public: return; availableVirtualGeometry = a; - capabilities |= qint32(QInputDevice::Capability::NormalizedPosition); + capabilities |= QInputDevice::Capability::NormalizedPosition; Q_Q(QInputDevice); Q_EMIT q->availableVirtualGeometryChanged(availableVirtualGeometry); } diff --git a/src/gui/kernel/qpointingdevice.cpp b/src/gui/kernel/qpointingdevice.cpp index 349fb55cbe..fa04ad21f6 100644 --- a/src/gui/kernel/qpointingdevice.cpp +++ b/src/gui/kernel/qpointingdevice.cpp @@ -144,12 +144,12 @@ Q_DECLARE_LOGGING_CATEGORY(lcPointerGrab) */ /*! - Creates a new invalid pointing device instance. + Creates a new invalid pointing device instance as a child of \a parent. */ -QPointingDevice::QPointingDevice() +QPointingDevice::QPointingDevice(QObject *parent) : QInputDevice(*(new QPointingDevicePrivate(QLatin1String("unknown"), -1, DeviceType::Unknown, PointerType::Unknown, - Capability::None, 0, 0))) + Capability::None, 0, 0)), parent) { } diff --git a/src/gui/kernel/qpointingdevice.h b/src/gui/kernel/qpointingdevice.h index c68039e88f..1e220e235f 100644 --- a/src/gui/kernel/qpointingdevice.h +++ b/src/gui/kernel/qpointingdevice.h @@ -69,12 +69,10 @@ public: qint64 numericId() const noexcept; private: - bool equals(QPointingDeviceUniqueId other) const noexcept; - - friend inline bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept - { return lhs.equals(rhs); } - friend inline bool operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept - { return !operator==(lhs, rhs); } + friend bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept + { return lhs.numericId() == rhs.numericId(); } + friend bool operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept + { return lhs.numericId() != rhs.numericId(); } // TODO: for TUIO 2, or any other type of complex token ID, an internal // array (or hash) can be added to hold additional properties. @@ -89,13 +87,13 @@ class Q_GUI_EXPORT QPointingDevice : public QInputDevice { Q_OBJECT Q_DECLARE_PRIVATE(QPointingDevice) - Q_PROPERTY(PointerType pointerType READ pointerType) - Q_PROPERTY(int maximumPoints READ maximumPoints) - Q_PROPERTY(int buttonCount READ buttonCount) - Q_PROPERTY(QPointingDeviceUniqueId uniqueId READ uniqueId) + Q_PROPERTY(PointerType pointerType READ pointerType CONSTANT) + Q_PROPERTY(int maximumPoints READ maximumPoints CONSTANT) + Q_PROPERTY(int buttonCount READ buttonCount CONSTANT) + Q_PROPERTY(QPointingDeviceUniqueId uniqueId READ uniqueId CONSTANT) public: - enum class PointerType : qint16 { + enum class PointerType { Unknown = 0, Generic = 0x0001, // mouse or similar Finger = 0x0002, // touchscreen or pad @@ -107,7 +105,7 @@ public: Q_DECLARE_FLAGS(PointerTypes, PointerType) Q_FLAG(PointerTypes) - enum GrabTransition : quint8 { + enum GrabTransition { GrabPassive = 0x01, UngrabPassive = 0x02, CancelGrabPassive = 0x03, @@ -118,7 +116,7 @@ public: }; Q_ENUM(GrabTransition) - QPointingDevice(); + QPointingDevice(QObject *parent = nullptr); ~QPointingDevice(); QPointingDevice(const QString &name, qint64 systemId, QInputDevice::DeviceType devType, PointerType pType, Capabilities caps, int maxPoints, int buttonCount, @@ -148,7 +146,7 @@ Q_SIGNALS: void grabChanged(QObject *grabber, GrabTransition transition, const QPointerEvent *event, const QEventPoint &point) const; protected: - QPointingDevice(QPointingDevicePrivate &d, QObject *parent = nullptr); + QPointingDevice(QPointingDevicePrivate &d, QObject *parent); Q_DISABLE_COPY_MOVE(QPointingDevice) };