Fix: `Event::Copy` and `Event::Cut` behave as if they select the entire text when there is no selection. (#5115)

Fix: `Event::Copy` and `Event::Cut` behave as if they select the entire
text when there is no selection.

It's unexpected and disconcerting that this behavior occurs when there
is no selected area.
This commit is contained in:
rustbasic 2024-09-18 18:17:02 +09:00 committed by GitHub
parent 24205f572a
commit e31b44f1a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 4 deletions

View File

@ -893,16 +893,15 @@ fn events(
Event::Copy => {
if cursor_range.is_empty() {
copy_if_not_password(ui, text.as_str().to_owned());
None
} else {
copy_if_not_password(ui, cursor_range.slice_str(text.as_str()).to_owned());
None
}
None
}
Event::Cut => {
if cursor_range.is_empty() {
copy_if_not_password(ui, text.take());
Some(CCursorRange::default())
None
} else {
copy_if_not_password(ui, cursor_range.slice_str(text.as_str()).to_owned());
Some(CCursorRange::one(text.delete_selected(&cursor_range)))