Ignore horizontal wheel scrolling in workarea

We do not know what to do with horizontal scrolling events, so we ignore them.

Note that the code has to be different between Qt4 and Qt5.

Fixes bug #11257.
This commit is contained in:
Jean-Marc Lasgouttes 2018-09-20 23:21:41 +02:00
parent 17576fb83b
commit 2cfbc5ecf6

View File

@ -900,7 +900,23 @@ void GuiWorkArea::wheelEvent(QWheelEvent * ev)
{
// Wheel rotation by one notch results in a delta() of 120 (see
// documentation of QWheelEvent)
// But first we have to ignore horizontal scroll events.
#if QT_VERSION < 0x050000
if (ev->orientation() == Qt::Horizontal) {
ev->accept();
return;
}
double const delta = ev->delta() / 120.0;
#else
QPoint const aDelta = ev->angleDelta();
// skip horizontal wheel event
if (abs(aDelta.x()) > abs(aDelta.y())) {
ev->accept();
return;
}
double const delta = aDelta.y() / 120.0;
#endif
bool zoom = false;
switch (lyxrc.scroll_wheel_zoom) {
case LyXRC::SCROLL_WHEEL_ZOOM_CTRL: