summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Bugge Monsen <mmonsen@trolltech.com>2009-09-16 14:48:38 +0200
committerMarius Bugge Monsen <mmonsen@trolltech.com>2009-09-16 14:48:38 +0200
commit1f4a0e464aa766bfe58f2a8d1246a204678239bc (patch)
tree21daa1192c393365612cf90309e00bca21fd792e
parent401118e9c1b874458a1d2158142746857d7ee973 (diff)
Add support for mouse press and mouse release events.
-rw-r--r--qgraphicssystem_dd.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/qgraphicssystem_dd.cpp b/qgraphicssystem_dd.cpp
index d175a45..28f8c18 100644
--- a/qgraphicssystem_dd.cpp
+++ b/qgraphicssystem_dd.cpp
@@ -255,10 +255,28 @@ void QDevDaysGraphicsSystem::eventDispatcher()
while (m_connection.bytesAvailable()) {
QDataStream in(&m_connection);
in >> m_message;
- if (m_message.message == Event::EventMessage) {
+ switch (m_message.message) {
+ case Event::EventMessage:
qDebug() << "SYSTEM: received event" << m_message.type;
- } else if (m_message.message == Response::ResponseMessage) {
- qDebug() << "SYSTEM: received response" << m_message.type << m_message.id;
+ QDevDaysWindowSurface *surface = m_surfaces.value(m_message.id);
+ switch (m_message.type) {
+ case Event::MousePressEvent: {
+ // ### we don't support multiple buttons or keyboard modifiers
+ QMouseEvent me(QEvent::MouseButtonPress, m_message.rect.topLeft().toPoint(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
+ QApplicationPrivate::handleMouseEvent(surface->window(), me);
+ break; }
+ case Event::MouseReleaseEvent: {
+ // ### we don't support multiple buttons or keyboard modifiers
+ QMouseEvent me(QEvent::MouseButtonRelease, m_message.rect.topLeft().toPoint(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
+ QApplicationPrivate::handleMouseEvent(surface->window(), me);
+ break; }
+ }
+ break;
+ case Response::ResponseMessage:
+ case Request::RequestMessage:
+ default:
+ qDebug() << "SYSTEM: received wrong message type" << m_message.type << m_message.id;
+ break;
}
//if (!m_connection.isValid())
// handleConnectionError();