浏览代码

PDFViewer: Take the mousewheel delta into account for scrolling

We now respect the system-wide setting for scroll speed, where we would
previously use a fixed step.
Julian Offenhäuser 2 年之前
父节点
当前提交
0308300b78
共有 1 个文件被更改,包括 5 次插入4 次删除
  1. 5 4
      Userland/Applications/PDFViewer/PDFViewer.cpp

+ 5 - 4
Userland/Applications/PDFViewer/PDFViewer.cpp

@@ -189,14 +189,15 @@ void PDFViewer::mousewheel_event(GUI::MouseEvent& event)
     }
     }
 
 
     auto& scrollbar = event.shift() ? horizontal_scrollbar() : vertical_scrollbar();
     auto& scrollbar = event.shift() ? horizontal_scrollbar() : vertical_scrollbar();
+    auto delta = abs(event.wheel_delta_y() * 20);
 
 
     if (m_page_view_mode == PageViewMode::Multiple) {
     if (m_page_view_mode == PageViewMode::Multiple) {
         if (scrolled_down) {
         if (scrolled_down) {
             if (scrollbar.value() != scrollbar.max())
             if (scrollbar.value() != scrollbar.max())
-                scrollbar.increase_slider_by(20);
+                scrollbar.increase_slider_by(delta);
         } else {
         } else {
             if (scrollbar.value() > 0)
             if (scrollbar.value() > 0)
-                scrollbar.decrease_slider_by(20);
+                scrollbar.decrease_slider_by(delta);
         }
         }
     } else {
     } else {
         if (scrolled_down) {
         if (scrolled_down) {
@@ -206,7 +207,7 @@ void PDFViewer::mousewheel_event(GUI::MouseEvent& event)
                     scrollbar.set_value(0);
                     scrollbar.set_value(0);
                 }
                 }
             } else {
             } else {
-                scrollbar.increase_slider_by(20);
+                scrollbar.increase_slider_by(delta);
             }
             }
         } else {
         } else {
             if (scrollbar.value() == 0) {
             if (scrollbar.value() == 0) {
@@ -215,7 +216,7 @@ void PDFViewer::mousewheel_event(GUI::MouseEvent& event)
                     scrollbar.set_value(scrollbar.max());
                     scrollbar.set_value(scrollbar.max());
                 }
                 }
             } else {
             } else {
-                scrollbar.decrease_slider_by(20);
+                scrollbar.decrease_slider_by(delta);
             }
             }
         }
         }
     }
     }