Abstract mouse grabbing

It's done via the platforms, not via ifdefs anymore
This commit is contained in:
Sergio Martins
2022-05-31 11:06:25 +01:00
parent c93911016f
commit b201737149
6 changed files with 24 additions and 10 deletions

View File

@@ -204,3 +204,14 @@ bool Platform_qtquick::inDisallowedDragView(QPoint globalPos) const
return false;
return item->objectName() != QLatin1String("draggableMouseArea");
}
void Platform_qtquick::ungrabMouse()
{
const QWindowList windows = qApp->topLevelWindows();
for (QWindow *window : windows) {
if (auto quickWindow = qobject_cast<QQuickWindow *>(window)) {
if (QQuickItem *grabber = quickWindow->mouseGrabberItem())
grabber->ungrabMouse();
}
}
}