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.

(cherry picked from commit 2cfbc5ecf6)
This commit is contained in:
Jean-Marc Lasgouttes 2018-09-20 23:21:41 +02:00
parent 97f3f18007
commit bf3b81e46a
2 changed files with 18 additions and 0 deletions

View File

@ -897,7 +897,23 @@ void GuiWorkArea::wheelEvent(QWheelEvent * ev)
{ {
// Wheel rotation by one notch results in a delta() of 120 (see // Wheel rotation by one notch results in a delta() of 120 (see
// documentation of QWheelEvent) // 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; 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; bool zoom = false;
switch (lyxrc.scroll_wheel_zoom) { switch (lyxrc.scroll_wheel_zoom) {
case LyXRC::SCROLL_WHEEL_ZOOM_CTRL: case LyXRC::SCROLL_WHEEL_ZOOM_CTRL:

View File

@ -106,6 +106,8 @@ What's new
- Fix conversion of captions from LyX 2.0 documents. - Fix conversion of captions from LyX 2.0 documents.
- Ignore horizontal wheel scrolling in work area (bug 11257).
* USER INTERFACE * USER INTERFACE