diff --git a/src/app/ui/file_list.cpp b/src/app/ui/file_list.cpp index f45c94c37..27d7a63f4 100644 --- a/src/app/ui/file_list.cpp +++ b/src/app/ui/file_list.cpp @@ -279,7 +279,12 @@ bool FileList::onProcessMessage(Message* msg) View* view = View::getView(this); if (view) { gfx::Point scroll = view->viewScroll(); - scroll += static_cast(msg)->wheelDelta() * 3*(textHeight()+4*guiscale()); + + if (static_cast(msg)->preciseWheel()) + scroll += static_cast(msg)->wheelDelta(); + else + scroll += static_cast(msg)->wheelDelta() * 3*(textHeight()+4*guiscale()); + view->setViewScroll(scroll); } break; diff --git a/src/app/ui/palette_view.cpp b/src/app/ui/palette_view.cpp index 5aa37707c..5fa18f290 100644 --- a/src/app/ui/palette_view.cpp +++ b/src/app/ui/palette_view.cpp @@ -382,13 +382,19 @@ bool PaletteView::onProcessMessage(Message* msg) gfx::Point delta = static_cast(msg)->wheelDelta(); - if (msg->onlyCtrlPressed()) { + if (msg->onlyCtrlPressed() || + msg->onlyCmdPressed()) { int z = delta.x - delta.y; setBoxSize(m_boxsize + z); } else { gfx::Point scroll = view->viewScroll(); - scroll += delta * 3 * m_boxsize; + + if (static_cast(msg)->preciseWheel()) + scroll += delta; + else + scroll += delta * 3 * m_boxsize; + view->setViewScroll(scroll); } break;