Skip to content

Commit ee46e10

Browse files
author
Raphael Dumusc
committed
Merge pull request #64 from tribal-tec/qmlstreamer_event_fix
QmlStreamer: Fix event forwarding, implement wheel event support
2 parents 92ca1bf + 5b22c00 commit ee46e10

File tree

5 files changed

+26
-8
lines changed

5 files changed

+26
-8
lines changed

deflect/qt/EventReceiver.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,13 @@ void EventReceiver::_onEvent( int socket )
8787
case Event::EVT_VIEW_SIZE_CHANGED:
8888
emit resized( deflectEvent.dx, deflectEvent.dy );
8989
break;
90+
case Event::EVT_WHEEL:
91+
emit wheeled( deflectEvent.mouseX, deflectEvent.mouseY,
92+
deflectEvent.dy );
93+
break;
9094

9195
case Event::EVT_CLICK:
9296
case Event::EVT_DOUBLECLICK:
93-
case Event::EVT_WHEEL:
9497
case Event::EVT_SWIPE_LEFT:
9598
case Event::EVT_SWIPE_RIGHT:
9699
case Event::EVT_SWIPE_UP:

deflect/qt/EventReceiver.h

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class EventReceiver : public QObject
6363
void released( double x, double y );
6464
void moved( double x, double y );
6565
void resized( double x, double y );
66+
void wheeled( double x, double y, double dy );
6667

6768
private slots:
6869
void _onEvent( int socket );

deflect/qt/QmlStreamerImpl.cpp

+17-6
Original file line numberDiff line numberDiff line change
@@ -228,28 +228,36 @@ void QmlStreamer::Impl::_requestUpdate()
228228

229229
void QmlStreamer::Impl::_onPressed( double x_, double y_ )
230230
{
231-
QPoint point( x_ * width(), y_ * height( ));
231+
const QPoint point( x_ * width(), y_ * height( ));
232232
QMouseEvent* e = new QMouseEvent( QEvent::MouseButtonPress, point,
233233
Qt::LeftButton, Qt::LeftButton,
234234
Qt::NoModifier );
235-
QCoreApplication::postEvent( this, e );
235+
QCoreApplication::postEvent( _quickWindow, e );
236236
}
237237

238238
void QmlStreamer::Impl::_onMoved( double x_, double y_ )
239239
{
240-
QPoint point( x_ * width(), y_ * height( ));
240+
const QPoint point( x_ * width(), y_ * height( ));
241241
QMouseEvent* e = new QMouseEvent( QEvent::MouseMove, point, Qt::LeftButton,
242242
Qt::LeftButton, Qt::NoModifier );
243-
QCoreApplication::postEvent( this, e );
243+
QCoreApplication::postEvent( _quickWindow, e );
244244
}
245245

246246
void QmlStreamer::Impl::_onReleased( double x_, double y_ )
247247
{
248-
QPoint point( x_ * width(), y_ * height( ));
248+
const QPoint point( x_ * width(), y_ * height( ));
249249
QMouseEvent* e = new QMouseEvent( QEvent::MouseButtonRelease, point,
250250
Qt::LeftButton, Qt::NoButton,
251251
Qt::NoModifier );
252-
QCoreApplication::postEvent( this, e );
252+
QCoreApplication::postEvent( _quickWindow, e );
253+
}
254+
255+
void QmlStreamer::Impl::_onWheeled( double x_, double y_, double deltaY )
256+
{
257+
const QPoint point( x_ * width(), y_ * height( ));
258+
QWheelEvent* e = new QWheelEvent( point, deltaY, Qt::NoButton,
259+
Qt::NoModifier, Qt::Vertical );
260+
QCoreApplication::postEvent( _quickWindow, e );
253261
}
254262

255263
void QmlStreamer::Impl::_onResized( double x_, double y_ )
@@ -340,6 +348,9 @@ bool QmlStreamer::Impl::_setupDeflectStream()
340348
this, &QmlStreamer::Impl::_onMoved );
341349
connect( _eventHandler, &EventReceiver::resized,
342350
this, &QmlStreamer::Impl::_onResized );
351+
connect( _eventHandler, &EventReceiver::wheeled,
352+
this, &QmlStreamer::Impl::_onWheeled );
353+
343354
return true;
344355
}
345356

deflect/qt/QmlStreamerImpl.h

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ private slots:
9393
void _onReleased( double, double );
9494
void _onMoved( double, double );
9595
void _onResized( double, double );
96+
void _onWheeled( double, double, double );
9697

9798
private:
9899
bool _setupDeflectStream();

doc/Changelog.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ Changelog {#Changelog}
33

44
## Deflect 0.9 (git master)
55

6-
* [60](https://github.com/BlueBrain/Deflect/pull/60):
6+
* [64](https://github.com/BlueBrain/Deflect/pull/64):
7+
QmlStreamer: Fix event forwarding, implement wheel event support
8+
* [60](https://github.com/BlueBrain/Deflect/pull/60):
79
Improved DesktopStreamer: removed selection rectangle, editable list of stream
810
hostnames
911

0 commit comments

Comments
 (0)