From 3894a8b995908d81e18565aa87b1c78d7217d955 Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Sat, 13 May 2023 15:55:10 +0100 Subject: [PATCH] Ladybird: Send the double click event to WebContent --- Ladybird/WebContentView.cpp | 15 +++++++++++++++ Ladybird/WebContentView.h | 1 + 2 files changed, 16 insertions(+) diff --git a/Ladybird/WebContentView.cpp b/Ladybird/WebContentView.cpp index 20f9781b8b3..6e6a3ff8404 100644 --- a/Ladybird/WebContentView.cpp +++ b/Ladybird/WebContentView.cpp @@ -314,6 +314,21 @@ void WebContentView::mouseReleaseEvent(QMouseEvent* event) client().async_mouse_up(to_content(position), button, buttons, modifiers); } +void WebContentView::mouseDoubleClickEvent(QMouseEvent* event) +{ + Gfx::IntPoint position(event->position().x() / m_inverse_pixel_scaling_ratio, event->position().y() / m_inverse_pixel_scaling_ratio); + auto button = get_button_from_qt_event(*event); + if (button == 0) { + // We could not convert Qt buttons to something that Lagom can + // recognize - don't even bother propagating this to the web engine + // as it will not handle it anyway, and it will (currently) assert + return; + } + auto modifiers = get_modifiers_from_qt_mouse_event(*event); + auto buttons = get_buttons_from_qt_event(*event); + client().async_doubleclick(to_content(position), button, buttons, modifiers); +} + void WebContentView::dragEnterEvent(QDragEnterEvent* event) { if (event->mimeData()->hasUrls()) diff --git a/Ladybird/WebContentView.h b/Ladybird/WebContentView.h index a51cfed3487..d318372090f 100644 --- a/Ladybird/WebContentView.h +++ b/Ladybird/WebContentView.h @@ -79,6 +79,7 @@ public: virtual void mouseMoveEvent(QMouseEvent*) override; virtual void mousePressEvent(QMouseEvent*) override; virtual void mouseReleaseEvent(QMouseEvent*) override; + virtual void mouseDoubleClickEvent(QMouseEvent*) override; virtual void dragEnterEvent(QDragEnterEvent*) override; virtual void dropEvent(QDropEvent*) override; virtual void keyPressEvent(QKeyEvent* event) override;