From 7462aaf534440a0bdd954abaeae5ca660ba98534 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Tue, 10 May 2022 09:22:48 +0200 Subject: [PATCH] I#1895 - Misc: Handle numpad Enter similarly as the Enter key Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1895 --- .../gui/contact-list-editor/e-contact-list-editor.c | 2 +- src/addressbook/gui/widgets/e-contact-map-window.c | 2 +- src/composer/e-composer-actions.c | 2 +- src/e-util/e-calendar-item.c | 1 + src/e-util/e-dateedit.c | 10 +++++----- src/e-util/e-html-editor-find-dialog.c | 2 +- src/e-util/e-html-editor-link-dialog.c | 2 +- 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/src/addressbook/gui/contact-list-editor/e-contact-list-editor.c index b8b6808634..525804cb9e 100644 --- a/src/addressbook/gui/contact-list-editor/e-contact-list-editor.c +++ b/src/addressbook/gui/contact-list-editor/e-contact-list-editor.c @@ -799,7 +799,7 @@ contact_list_editor_email_entry_key_press_event_cb (GtkWidget *widget, } } - if (can_comma || event->keyval == GDK_KEY_Return) { + if (can_comma || event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter) { g_signal_emit_by_name (WIDGET (EMAIL_ENTRY), "activate", 0); return TRUE; diff --git a/src/addressbook/gui/widgets/e-contact-map-window.c b/src/addressbook/gui/widgets/e-contact-map-window.c index 63103c4f8f..486f2d66d2 100644 --- a/src/addressbook/gui/widgets/e-contact-map-window.c +++ b/src/addressbook/gui/widgets/e-contact-map-window.c @@ -268,7 +268,7 @@ contact_map_window_entry_key_pressed_cb (GtkWidget *entry, GdkEventKey *event, gpointer user_data) { - if (event->keyval == GDK_KEY_Return) + if (event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter) contact_map_window_find_contact_cb (NULL, user_data); return FALSE; diff --git a/src/composer/e-composer-actions.c b/src/composer/e-composer-actions.c index 67adb5e15d..846a6a7c20 100644 --- a/src/composer/e-composer-actions.c +++ b/src/composer/e-composer-actions.c @@ -311,7 +311,7 @@ composer_actions_accel_activate_cb (GtkAccelGroup *accel_group, { EMsgComposer *composer = user_data; - if (keyval == GDK_KEY_Return && (modifier & GDK_MODIFIER_MASK) == GDK_CONTROL_MASK && + if ((keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter) && (modifier & GDK_MODIFIER_MASK) == GDK_CONTROL_MASK && !e_util_prompt_user (GTK_WINDOW (composer), "org.gnome.evolution.mail", "prompt-on-accel-send", "mail-composer:prompt-accel-send", NULL)) { return TRUE; diff --git a/src/e-util/e-calendar-item.c b/src/e-util/e-calendar-item.c index 14669d4396..34b8e4d47e 100644 --- a/src/e-util/e-calendar-item.c +++ b/src/e-util/e-calendar-item.c @@ -2083,6 +2083,7 @@ e_calendar_item_key_press_event (ECalendarItem *calitem, break; case GDK_KEY_space: case GDK_KEY_Return: + case GDK_KEY_KP_Enter: e_calendar_item_stop_selecting (calitem, event->key.time); break; default: diff --git a/src/e-util/e-dateedit.c b/src/e-util/e-dateedit.c index ab7dd6d572..f3eabed0fa 100644 --- a/src/e-util/e-dateedit.c +++ b/src/e-util/e-dateedit.c @@ -1929,7 +1929,7 @@ on_date_entry_key_press (GtkWidget *widget, if (event_state & GDK_MOD1_MASK && (event_keyval == GDK_KEY_Up || event_keyval == GDK_KEY_Down - || event_keyval == GDK_KEY_Return)) { + || event_keyval == GDK_KEY_Return || event_keyval == GDK_KEY_KP_Enter)) { g_signal_stop_emission_by_name (widget, "key_press_event"); e_date_edit_show_date_popup (dedit, key_event); return TRUE; @@ -1937,7 +1937,7 @@ on_date_entry_key_press (GtkWidget *widget, /* If the user hits the return key emit a "date_changed" signal if * needed. But let the signal carry on. */ - if (event_keyval == GDK_KEY_Return) { + if (event_keyval == GDK_KEY_Return || event_keyval == GDK_KEY_KP_Enter) { e_date_edit_check_date_changed (dedit); return FALSE; } @@ -1962,10 +1962,10 @@ on_time_entry_key_press (GtkWidget *widget, /* I'd like to use Alt+Up/Down for popping up the list, like Win32, * but the combo steals any Up/Down keys, so we use Alt + Return. */ #if 0 - if (event_state & GDK_MOD1_MASK + if ((event_state & GDK_MOD1_MASK) != 0 && (event_keyval == GDK_KEY_Up || event_keyval == GDK_KEY_Down)) { #else - if (event_state & GDK_MOD1_MASK && event_keyval == GDK_KEY_Return) { + if ((event_state & GDK_MOD1_MASK) != 0 && (event_keyval == GDK_KEY_Return || event_keyval == GDK_KEY_KP_Enter)) { #endif g_signal_stop_emission_by_name (widget, "key_press_event"); g_signal_emit_by_name (child, "activate", 0); @@ -1974,7 +1974,7 @@ on_time_entry_key_press (GtkWidget *widget, /* Stop the return key from emitting the activate signal, and check * if we need to emit a "time_changed" signal. */ - if (event_keyval == GDK_KEY_Return) { + if (event_keyval == GDK_KEY_Return || event_keyval == GDK_KEY_KP_Enter) { g_signal_stop_emission_by_name (widget, "key_press_event"); e_date_edit_check_time_changed (dedit); return TRUE; diff --git a/src/e-util/e-html-editor-find-dialog.c b/src/e-util/e-html-editor-find-dialog.c index f38e3883c4..a4244d4bf4 100644 --- a/src/e-util/e-html-editor-find-dialog.c +++ b/src/e-util/e-html-editor-find-dialog.c @@ -148,7 +148,7 @@ entry_key_release_event (GtkWidget *widget, GdkEventKey *key = &event->key; EHTMLEditorFindDialog *dialog = user_data; - if (key->keyval == GDK_KEY_Return) { + if (key->keyval == GDK_KEY_Return || key->keyval == GDK_KEY_KP_Enter) { html_editor_find_dialog_find_cb (dialog); return TRUE; } diff --git a/src/e-util/e-html-editor-link-dialog.c b/src/e-util/e-html-editor-link-dialog.c index 3ad8ceac78..a474193077 100644 --- a/src/e-util/e-html-editor-link-dialog.c +++ b/src/e-util/e-html-editor-link-dialog.c @@ -108,7 +108,7 @@ html_editor_link_dialog_entry_key_pressed (EHTMLEditorLinkDialog *dialog, { /* We can't do things in key_released, because then you could not open * this dialog from main menu by pressing enter on Insert->Link action */ - if (event->keyval == GDK_KEY_Return) { + if (event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter) { html_editor_link_dialog_ok (dialog); return TRUE; }