summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2018-05-21 11:17:58 +0300
committerErnestas Kulik <ernestask@gnome.org>2018-05-28 13:13:52 +0300
commit7077841501963a1645336f47a0c734348c8bb80d (patch)
tree9d7a12a190476c678750b5b6483f0da7c1242bb5
parent902ce37f577d668063fd51e4f40932de53af2441 (diff)
downloadnautilus-7077841501963a1645336f47a0c734348c8bb80d.tar.gz
rename-file-popover-controller: Stop using key-press-event
-rw-r--r--src/nautilus-rename-file-popover-controller.c33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/nautilus-rename-file-popover-controller.c b/src/nautilus-rename-file-popover-controller.c
index 8bbe05348..19808b2b7 100644
--- a/src/nautilus-rename-file-popover-controller.c
+++ b/src/nautilus-rename-file-popover-controller.c
@@ -233,22 +233,35 @@ name_entry_on_undo (GtkWidget *widget,
}
static gboolean
-name_entry_on_key_pressed (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data)
+name_entry_on_event (GtkWidget *widget,
+ GdkEvent *event,
+ gpointer user_data)
{
- GdkEventKey *key_event;
NautilusRenameFilePopoverController *self;
+ guint keyval;
+ GdkModifierType state;
+
+ if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
+ {
+ return GDK_EVENT_PROPAGATE;
+ }
- key_event = (GdkEventKey *) event;
self = NAUTILUS_RENAME_FILE_POPOVER_CONTROLLER (user_data);
- if (key_event->keyval == GDK_KEY_F2)
+ if (G_UNLIKELY (!gdk_event_get_keyval (event, &keyval)))
+ {
+ g_return_val_if_reached (GDK_EVENT_PROPAGATE);
+ }
+ if (G_UNLIKELY (!gdk_event_get_state (event, &state)))
+ {
+ g_return_val_if_reached (GDK_EVENT_PROPAGATE);
+ }
+
+ if (keyval == GDK_KEY_F2)
{
return name_entry_on_f2_pressed (widget, self);
}
- else if (key_event->keyval == GDK_KEY_z &&
- (key_event->state & GDK_CONTROL_MASK) != 0)
+ else if (keyval == GDK_KEY_z && (state & GDK_CONTROL_MASK) != 0)
{
return name_entry_on_undo (widget, self);
}
@@ -361,8 +374,8 @@ nautilus_rename_file_popover_controller_show_for_file (NautilusRenameFilePopov
self);
self->key_press_event_handler_id = g_signal_connect (self->name_entry,
- "key-press-event",
- G_CALLBACK (name_entry_on_key_pressed),
+ "event",
+ G_CALLBACK (name_entry_on_event),
self);
gtk_label_set_text (GTK_LABEL (self->name_label),