diff options
-rw-r--r-- | Ladybird/WebContentView.cpp | 15 | ||||
-rw-r--r-- | Ladybird/WebContentView.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Ladybird/WebContentView.cpp b/Ladybird/WebContentView.cpp index 20f9781b8b..6e6a3ff840 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 a51cfed348..d318372090 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; |