From: Jean-Marc Lasgouttes Date: Wed, 30 Jun 2010 12:38:39 +0000 (+0000) Subject: fix scroll wheel on mac (bug #6775) X-Git-Tag: 2.0.0~3083 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=50117dc8ea8552d0ac869f51937470a4cf3cc05f;p=features.git fix scroll wheel on mac (bug #6775) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34731 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/qt4/GuiWorkArea.cpp b/src/frontends/qt4/GuiWorkArea.cpp index bef40d88cb..b7e68ff77c 100644 --- a/src/frontends/qt4/GuiWorkArea.cpp +++ b/src/frontends/qt4/GuiWorkArea.cpp @@ -816,9 +816,9 @@ void GuiWorkArea::wheelEvent(QWheelEvent * ev) { // Wheel rotation by one notch results in a delta() of 120 (see // documentation of QWheelEvent) - int const delta = ev->delta() / 120; + double const delta = ev->delta() / 120.0; if (ev->modifiers() & Qt::ControlModifier) { - docstring arg = convert(5 * delta); + docstring arg = convert(int(5 * delta)); lyx::dispatch(FuncRequest(LFUN_BUFFER_ZOOM_IN, arg)); return; } @@ -830,11 +830,8 @@ void GuiWorkArea::wheelEvent(QWheelEvent * ev) int scroll_value = lines > page_step ? page_step : lines * verticalScrollBar()->singleStep(); - // Take into account the rotation. - scroll_value *= delta; - - // Take into account user preference. - scroll_value = int(scroll_value * lyxrc.mouse_wheel_speed); + // Take into account the rotation and the user preferences. + scroll_value = int(scroll_value * delta * lyxrc.mouse_wheel_speed); LYXERR(Debug::SCROLLING, "wheelScrollLines = " << lines << " delta = " << delta << " scroll_value = " << scroll_value << " page_step = " << page_step);