From feccf15e156cb615c6541fe2f444b99e885eb424 Mon Sep 17 00:00:00 2001 From: jhannyj Date: Thu, 25 Jan 2024 20:55:51 -0500 Subject: [PATCH] Add cut functionality to text editor --- widget/src/text_editor.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/widget/src/text_editor.rs b/widget/src/text_editor.rs index c3a17bd25b..354abceb28 100644 --- a/widget/src/text_editor.rs +++ b/widget/src/text_editor.rs @@ -419,6 +419,12 @@ where clipboard.write(selection); } } + Update::Cut => { + if let Some(selection) = self.content.selection() { + clipboard.write(selection.clone()); + shell.publish(on_edit(Action::Edit(Edit::Delete))); + } + } Update::Paste => { if let Some(contents) = clipboard.read() { shell.publish(on_edit(Action::Edit(Edit::Paste( @@ -575,6 +581,7 @@ enum Update { Release, Action(Action), Copy, + Cut, Paste, } @@ -684,6 +691,11 @@ impl Update { { Some(Self::Copy) } + keyboard::Key::Character("x") + if modifiers.command() => + { + Some(Self::Cut) + } keyboard::Key::Character("v") if modifiers.command() && !modifiers.alt() => {