From c0a5787395e1a55d905f8022286e59955b7f1d56 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 1 Jul 2023 08:12:42 +0200 Subject: [PATCH] Ladybird: Don't scroll web view if wheel event is a Ctrl+Wheel zoom --- Ladybird/WebContentView.cpp | 10 ++++++++++ Ladybird/WebContentView.h | 1 + 2 files changed, 11 insertions(+) diff --git a/Ladybird/WebContentView.cpp b/Ladybird/WebContentView.cpp index 835c121bb8..bd097a9250 100644 --- a/Ladybird/WebContentView.cpp +++ b/Ladybird/WebContentView.cpp @@ -262,6 +262,16 @@ KeyCode get_keycode_from_qt_keyboard_event(QKeyEvent const& event) return Key_Invalid; } +void WebContentView::wheelEvent(QWheelEvent* event) +{ + if (!event->modifiers().testFlag(Qt::ControlModifier)) { + QAbstractScrollArea::wheelEvent(event); + event->accept(); + return; + } + event->ignore(); +} + void WebContentView::mouseMoveEvent(QMouseEvent* event) { Gfx::IntPoint position(event->position().x() / m_inverse_pixel_scaling_ratio, event->position().y() / m_inverse_pixel_scaling_ratio); diff --git a/Ladybird/WebContentView.h b/Ladybird/WebContentView.h index 0a7dbba982..c39d3d444e 100644 --- a/Ladybird/WebContentView.h +++ b/Ladybird/WebContentView.h @@ -46,6 +46,7 @@ public: virtual void paintEvent(QPaintEvent*) override; virtual void resizeEvent(QResizeEvent*) override; + virtual void wheelEvent(QWheelEvent*) override; virtual void mouseMoveEvent(QMouseEvent*) override; virtual void mousePressEvent(QMouseEvent*) override; virtual void mouseReleaseEvent(QMouseEvent*) override;