From ed24d8f2b57df688447d0df021b01c64a5ee533e Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sun, 24 Mar 2024 16:02:42 -0400 Subject: [PATCH] Ladybird/AppKit: Implement pasting content from the clipboard --- Ladybird/AppKit/UI/LadybirdWebView.mm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Ladybird/AppKit/UI/LadybirdWebView.mm b/Ladybird/AppKit/UI/LadybirdWebView.mm index 3eadce27fc8..484b8ee4e75 100644 --- a/Ladybird/AppKit/UI/LadybirdWebView.mm +++ b/Ladybird/AppKit/UI/LadybirdWebView.mm @@ -873,6 +873,15 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ copy_data_to_clipboard(m_web_view_bridge->selected_text(), NSPasteboardTypeString); } +- (void)paste:(id)sender +{ + auto* paste_board = [NSPasteboard generalPasteboard]; + + if (auto* contents = [paste_board stringForType:NSPasteboardTypeString]) { + m_web_view_bridge->paste(Ladybird::ns_string_to_string(contents)); + } +} + - (void)selectAll:(id)sender { m_web_view_bridge->select_all(); @@ -1003,6 +1012,9 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ [_page_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy" action:@selector(copy:) keyEquivalent:@""]]; + [_page_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Paste" + action:@selector(paste:) + keyEquivalent:@""]]; [_page_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Select All" action:@selector(selectAll:) keyEquivalent:@""]];