textview: Match entry behavior for backspace

As pointed out in #3417, there is a long-standing
difference in how GtkEntry and GtkTextView treat
Ctrl-Shift-Backspace (and other variations): GtkEntry
always operates on the selection first, if it exists.
GtkTextView only handled plain Backspace that way, and
ignores the selection for other variations.

There is no good reason for this difference, so just
remove it and make GtkTextView behave the same as
GtkEntry.

Fixes: #3417
This commit is contained in:
Matthias Clasen 2023-07-22 09:40:17 -04:00
parent 87d2ce1332
commit 9929726eb2

View File

@ -6885,16 +6885,13 @@ gtk_text_view_delete_from_cursor (GtkTextView *text_view,
priv = text_view->priv;
if (type == GTK_DELETE_CHARS)
/* If a selection exists, we operate on it first */
if (gtk_text_buffer_delete_selection (get_buffer (text_view), TRUE,
priv->editable))
{
/* Char delete deletes the selection, if one exists */
if (gtk_text_buffer_delete_selection (get_buffer (text_view), TRUE,
priv->editable))
{
priv->need_im_reset = TRUE;
gtk_text_view_reset_im_context (text_view);
return;
}
priv->need_im_reset = TRUE;
gtk_text_view_reset_im_context (text_view);
return;
}
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &insert,