From 6732a38cf8a8986707a38d5f47bd72f83a17fb17 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 10 Nov 2023 13:44:12 -0500 Subject: [PATCH] Ladybird/Qt: Implement pasting Web data to the clipboard --- Ladybird/Qt/Tab.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Ladybird/Qt/Tab.cpp b/Ladybird/Qt/Tab.cpp index 32a398f9f8..e0f0157cb8 100644 --- a/Ladybird/Qt/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -289,6 +290,16 @@ Tab::Tab(BrowserWindow* window, StringView webdriver_content_ipc_path, WebView:: m_inspector_widget->set_accessibility_json(accessibility_tree); }; + view().on_insert_clipboard_entry = [](auto const& data, auto const&, auto const& mime_type) { + QByteArray qdata { data.bytes_as_string_view().characters_without_null_termination(), static_cast(data.bytes_as_string_view().length()) }; + + auto* mime_data = new QMimeData(); + mime_data->setData(qstring_from_ak_string(mime_type), qdata); + + auto* clipboard = QGuiApplication::clipboard(); + clipboard->setMimeData(mime_data); + }; + auto* search_selected_text_action = new QAction("&Search for ", this); search_selected_text_action->setIcon(load_icon_from_uri("resource://icons/16x16/find.png"sv)); QObject::connect(search_selected_text_action, &QAction::triggered, this, [this]() {