summarylogtreecommitdiffstats
path: root/0001-Add-a-way-to-filter-window-system-events.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-Add-a-way-to-filter-window-system-events.patch')
-rw-r--r--0001-Add-a-way-to-filter-window-system-events.patch117
1 files changed, 0 insertions, 117 deletions
diff --git a/0001-Add-a-way-to-filter-window-system-events.patch b/0001-Add-a-way-to-filter-window-system-events.patch
deleted file mode 100644
index 58de8ad00666..000000000000
--- a/0001-Add-a-way-to-filter-window-system-events.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 28e39706a1a922d5c1054ad3243bac8b2708dc56 Mon Sep 17 00:00:00 2001
-From: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Date: Wed, 22 Apr 2015 13:39:39 +0300
-Subject: [PATCH] Add a way to filter window system events
-
-This change introduces the class QWindowSystemEventHandler
-which can be used to hook into QWindowSystemInterfacePrivate to
-filter and dispatch window system events.
-One use case is to intercept key events from the underlying system
-in QtCompositor and feed them into the xkbcommon state, and to modify
-the events based on the resulting state.
-
-Change-Id: I829eb7d960420135990fb0f6db54c14eea3e8e48
-Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
----
- src/gui/kernel/qwindowsysteminterface.cpp | 34 +++++++++++++++++++++++++++++--
- src/gui/kernel/qwindowsysteminterface_p.h | 13 ++++++++++++
- 2 files changed, 45 insertions(+), 2 deletions(-)
-
-diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp
-index 850b69d..2ea1ccd 100644
---- a/src/gui/kernel/qwindowsysteminterface.cpp
-+++ b/src/gui/kernel/qwindowsysteminterface.cpp
-@@ -48,6 +48,7 @@ QElapsedTimer QWindowSystemInterfacePrivate::eventTime;
- bool QWindowSystemInterfacePrivate::synchronousWindowsSystemEvents = false;
- QWaitCondition QWindowSystemInterfacePrivate::eventsFlushed;
- QMutex QWindowSystemInterfacePrivate::flushEventMutex;
-+QWindowSystemEventHandler *QWindowSystemInterfacePrivate::eventHandler;
-
- //------------------------------------------------------------
- //
-@@ -621,14 +622,32 @@ bool QWindowSystemInterface::sendWindowSystemEvents(QEventLoop::ProcessEventsFla
- QWindowSystemInterfacePrivate::getWindowSystemEvent();
- if (!event)
- break;
-- nevents++;
-- QGuiApplicationPrivate::processWindowSystemEvent(event);
-+
-+ if (QWindowSystemInterfacePrivate::eventHandler) {
-+ if (QWindowSystemInterfacePrivate::eventHandler->sendEvent(event))
-+ nevents++;
-+ } else {
-+ nevents++;
-+ QGuiApplicationPrivate::processWindowSystemEvent(event);
-+ }
- delete event;
- }
-
- return (nevents > 0);
- }
-
-+void QWindowSystemInterfacePrivate::installWindowSystemEventHandler(QWindowSystemEventHandler *handler)
-+{
-+ if (!eventHandler)
-+ eventHandler = handler;
-+}
-+
-+void QWindowSystemInterfacePrivate::removeWindowSystemEventhandler(QWindowSystemEventHandler *handler)
-+{
-+ if (eventHandler == handler)
-+ eventHandler = 0;
-+}
-+
- void QWindowSystemInterface::setSynchronousWindowsSystemEvents(bool enable)
- {
- QWindowSystemInterfacePrivate::synchronousWindowsSystemEvents = enable;
-@@ -852,4 +871,15 @@ Q_GUI_EXPORT void qt_handleTouchEvent(QWindow *w, QTouchDevice *device,
- QWindowSystemInterface::handleTouchEvent(w, device, touchPointList(points), mods);
- }
-
-+QWindowSystemEventHandler::~QWindowSystemEventHandler()
-+{
-+ QWindowSystemInterfacePrivate::removeWindowSystemEventhandler(this);
-+}
-+
-+bool QWindowSystemEventHandler::sendEvent(QWindowSystemInterfacePrivate::WindowSystemEvent *e)
-+{
-+ QGuiApplicationPrivate::processWindowSystemEvent(e);
-+ return true;
-+}
-+
- QT_END_NAMESPACE
-diff --git a/src/gui/kernel/qwindowsysteminterface_p.h b/src/gui/kernel/qwindowsysteminterface_p.h
-index 2ec402a..f51c726 100644
---- a/src/gui/kernel/qwindowsysteminterface_p.h
-+++ b/src/gui/kernel/qwindowsysteminterface_p.h
-@@ -54,6 +54,8 @@
-
- QT_BEGIN_NAMESPACE
-
-+class QWindowSystemEventHandler;
-+
- class Q_GUI_EXPORT QWindowSystemInterfacePrivate {
- public:
- enum EventType {
-@@ -487,6 +489,17 @@ public:
- static QMutex flushEventMutex;
-
- static QList<QTouchEvent::TouchPoint> convertTouchPoints(const QList<QWindowSystemInterface::TouchPoint> &points, QEvent::Type *type);
-+
-+ static void installWindowSystemEventHandler(QWindowSystemEventHandler *handler);
-+ static void removeWindowSystemEventhandler(QWindowSystemEventHandler *handler);
-+ static QWindowSystemEventHandler *eventHandler;
-+};
-+
-+class Q_GUI_EXPORT QWindowSystemEventHandler
-+{
-+public:
-+ virtual ~QWindowSystemEventHandler();
-+ virtual bool sendEvent(QWindowSystemInterfacePrivate::WindowSystemEvent *event);
- };
-
- QT_END_NAMESPACE
---
-2.6.4
-