82void QQuickPointerDeviceHandler::setAcceptedButtons(Qt::MouseButtons buttons)
84 Q_D(QQuickPointerDeviceHandler);
85 if (d->acceptedButtons == buttons)
88 d->acceptedButtons = buttons;
89 emit acceptedButtonsChanged();
127void QQuickPointerDeviceHandler::setAcceptedDevices(QPointingDevice::DeviceTypes acceptedDevices)
129 Q_D(QQuickPointerDeviceHandler);
130 if (d->acceptedDevices == acceptedDevices)
133 d->acceptedDevices = acceptedDevices;
134 emit acceptedDevicesChanged();
166void QQuickPointerDeviceHandler::setAcceptedPointerTypes(QPointingDevice::PointerTypes acceptedPointerTypes)
168 Q_D(QQuickPointerDeviceHandler);
169 if (d->acceptedPointerTypes == acceptedPointerTypes)
172 d->acceptedPointerTypes = acceptedPointerTypes;
173 emit acceptedPointerTypesChanged();
251void QQuickPointerDeviceHandler::setAcceptedModifiers(Qt::KeyboardModifiers acceptedModifiers)
253 Q_D(QQuickPointerDeviceHandler);
254 if (d->acceptedModifiers == acceptedModifiers)
257 d->acceptedModifiers = acceptedModifiers;
258 emit acceptedModifiersChanged();
261bool QQuickPointerDeviceHandler::wantsPointerEvent(QPointerEvent *event)
263 Q_D(QQuickPointerDeviceHandler);
264 if (!QQuickPointerHandler::wantsPointerEvent(event))
266 qCDebug(lcPointerHandlerDispatch) << objectName()
267 <<
"checking device type" << d->acceptedDevices
268 <<
"pointer type" << d->acceptedPointerTypes
269 <<
"modifiers" << d->acceptedModifiers;
270 if (!d->acceptedDevices.testFlag(event->device()->type()))
272 if (!d->acceptedPointerTypes.testFlag(event->pointingDevice()->pointerType()))
274 if (d->acceptedModifiers != Qt::KeyboardModifierMask && event->modifiers() != d->acceptedModifiers)
278 if (event->isSinglePointEvent() && acceptedButtons() != Qt::NoButton && event->type() != QEvent::Wheel &&
279 (
static_cast<QSinglePointEvent *>(event)->buttons() & acceptedButtons()) == 0 &&
280 (
static_cast<QSinglePointEvent *>(event)->button() & acceptedButtons()) == 0)