Skip to content

Commit 5b22c00

Browse files
committed
QmlStreamer: Fix event forwarding, implement wheel event support
1 parent b002dc6 commit 5b22c00

File tree

5 files changed

+26
-8
lines changed

5 files changed

+26
-8
lines changed

deflect/qt/EventReceiver.cpp

Lines changed: 4 additions & 1 deletion
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,28 +229,36 @@ void QmlStreamer::Impl::_requestUpdate()
229229

230230
void QmlStreamer::Impl::_onPressed( double x_, double y_ )
231231
{
232-
QPoint point( x_ * width(), y_ * height( ));
232+
const QPoint point( x_ * width(), y_ * height( ));
233233
QMouseEvent* e = new QMouseEvent( QEvent::MouseButtonPress, point,
234234
Qt::LeftButton, Qt::LeftButton,
235235
Qt::NoModifier );
236-
QCoreApplication::postEvent( this, e );
236+
QCoreApplication::postEvent( _quickWindow, e );
237237
}
238238

239239
void QmlStreamer::Impl::_onMoved( double x_, double y_ )
240240
{
241-
QPoint point( x_ * width(), y_ * height( ));
241+
const QPoint point( x_ * width(), y_ * height( ));
242242
QMouseEvent* e = new QMouseEvent( QEvent::MouseMove, point, Qt::LeftButton,
243243
Qt::LeftButton, Qt::NoModifier );
244-
QCoreApplication::postEvent( this, e );
244+
QCoreApplication::postEvent( _quickWindow, e );
245245
}
246246

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

256264
void QmlStreamer::Impl::_onResized( double x_, double y_ )
@@ -341,6 +349,9 @@ bool QmlStreamer::Impl::_setupDeflectStream()
341349
this, &QmlStreamer::Impl::_onMoved );
342350
connect( _eventHandler, &EventReceiver::resized,
343351
this, &QmlStreamer::Impl::_onResized );
352+
connect( _eventHandler, &EventReceiver::wheeled,
353+
this, &QmlStreamer::Impl::_onWheeled );
354+
344355
return true;
345356
}
346357

deflect/qt/QmlStreamerImpl.h

Lines changed: 1 addition & 0 deletions
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

Lines changed: 3 additions & 1 deletion
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)