From: Matthias Clasen Date: Sat, 27 Jun 2015 17:44:26 +0000 (-0400) Subject: Revert "file chooser: Don't start search too eagerly" X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~24^2~9190 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c0afb891c8ffeb90e67e8f947a7e7b9b3fff62ee;p=gtk4.git Revert "file chooser: Don't start search too eagerly" This reverts commit f126157bfa9e8a550067fa169de24697add028bb. --- diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 5a5acde17b..02d1093573 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -434,6 +434,8 @@ static void gtk_file_chooser_widget_hierarchy_changed (GtkWidget *w static void gtk_file_chooser_widget_style_updated (GtkWidget *widget); static void gtk_file_chooser_widget_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); +static gboolean gtk_file_chooser_widget_key_press_event (GtkWidget *widget, + GdkEventKey *event); static gboolean gtk_file_chooser_widget_set_current_folder (GtkFileChooser *chooser, GFile *folder, @@ -1263,6 +1265,26 @@ browse_files_key_press_event_cb (GtkWidget *widget, return FALSE; } +static gboolean +gtk_file_chooser_widget_key_press_event (GtkWidget *widget, + GdkEventKey *event) +{ + GtkFileChooserWidget *impl = (GtkFileChooserWidget *) widget; + GtkFileChooserWidgetPrivate *priv = impl->priv; + + if (gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), (GdkEvent *)event)) + { + if (priv->operation_mode != OPERATION_MODE_SEARCH) + operation_mode_set (impl, OPERATION_MODE_SEARCH); + return TRUE; + } + + if (GTK_WIDGET_CLASS (gtk_file_chooser_widget_parent_class)->key_press_event (widget, event)) + return TRUE; + + return FALSE; +} + /* Callback used when the file list's popup menu is detached */ static void popup_menu_detach_cb (GtkWidget *attach_widget, @@ -7319,6 +7341,7 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class) widget_class->hierarchy_changed = gtk_file_chooser_widget_hierarchy_changed; widget_class->style_updated = gtk_file_chooser_widget_style_updated; widget_class->screen_changed = gtk_file_chooser_widget_screen_changed; + widget_class->key_press_event = gtk_file_chooser_widget_key_press_event; /* * Signals