diff options
author | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-09-16 14:48:38 +0200 |
---|---|---|
committer | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-09-16 14:48:38 +0200 |
commit | 1f4a0e464aa766bfe58f2a8d1246a204678239bc (patch) | |
tree | 21daa1192c393365612cf90309e00bca21fd792e | |
parent | 401118e9c1b874458a1d2158142746857d7ee973 (diff) |
Add support for mouse press and mouse release events.
-rw-r--r-- | qgraphicssystem_dd.cpp | 24 |
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(); |