[file-roller/wip/iainl/gdkevent-fixes] fr-window: Use proper GDK_EVENT aliases and handle cancelling of stop-search properly
- From: Iain Lane <iainl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [file-roller/wip/iainl/gdkevent-fixes] fr-window: Use proper GDK_EVENT aliases and handle cancelling of stop-search properly
- Date: Thu, 18 Apr 2019 17:07:15 +0000 (UTC)
commit eeb4c2c170db1ec0a2d1d09a2762e8a9e314eebd
Author: Iain Lane <iainl gnome org>
Date: Thu Apr 18 18:05:54 2019 +0100
fr-window: Use proper GDK_EVENT aliases and handle cancelling of stop-search properly
src/fr-window.c | 49 ++++++++++++++++++++++++-------------------------
1 file changed, 24 insertions(+), 25 deletions(-)
---
diff --git a/src/fr-window.c b/src/fr-window.c
index f01b0996..f1e42acb 100644
--- a/src/fr-window.c
+++ b/src/fr-window.c
@@ -4811,32 +4811,21 @@ key_press_cb (GtkWidget *widget,
gpointer data)
{
FrWindow *window = data;
- gboolean retval = FALSE;
+ gboolean retval = GDK_EVENT_PROPAGATE;
gboolean alt;
if (gtk_widget_has_focus (window->priv->location_entry))
- return FALSE;
+ return GDK_EVENT_PROPAGATE;
- if (gtk_widget_has_focus (window->priv->filter_entry)) {
- switch (event->keyval) {
- case GDK_KEY_Escape:
- fr_window_deactivate_filter (window);
- retval = TRUE;
- break;
- default:
- break;
- }
- return retval;
- }
+ if (gtk_widget_has_focus (window->priv->filter_entry))
+ return GDK_EVENT_PROPAGATE;
alt = (event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK;
switch (event->keyval) {
case GDK_KEY_Escape:
fr_window_stop (window);
- if (window->priv->filter_mode)
- fr_window_deactivate_filter (window);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
break;
case GDK_KEY_F10:
@@ -4845,14 +4834,14 @@ key_press_cb (GtkWidget *widget,
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (window->priv->list_view));
if (selection == NULL)
- return FALSE;
+ return GDK_EVENT_PROPAGATE;
gtk_menu_popup (GTK_MENU (window->priv->file_popup_menu),
NULL, NULL, NULL,
window,
3,
GDK_CURRENT_TIME);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
}
break;
@@ -4860,20 +4849,20 @@ key_press_cb (GtkWidget *widget,
case GDK_KEY_KP_Up:
if (alt) {
fr_window_go_up_one_level (window);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
}
break;
case GDK_KEY_BackSpace:
fr_window_go_up_one_level (window);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
break;
case GDK_KEY_Right:
case GDK_KEY_KP_Right:
if (alt) {
fr_window_go_forward (window);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
}
break;
@@ -4881,22 +4870,22 @@ key_press_cb (GtkWidget *widget,
case GDK_KEY_KP_Left:
if (alt) {
fr_window_go_back (window);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
}
break;
case GDK_KEY_Home:
case GDK_KEY_KP_Home:
if (alt) {
- fr_window_go_to_location (window, "/", FALSE);
- retval = TRUE;
+ fr_window_go_to_location (window, "/", GDK_EVENT_PROPAGATE);
+ retval = GDK_EVENT_STOP;
}
break;
case GDK_KEY_Delete:
if (! gtk_widget_has_focus (window->priv->filter_entry)) {
fr_window_activate_delete (NULL, NULL, window);
- retval = TRUE;
+ retval = GDK_EVENT_STOP;
}
break;
@@ -5435,6 +5424,12 @@ filter_entry_search_changed_cb (GtkEntry *entry,
fr_window_activate_filter (window);
}
+static void
+filter_entry_stop_search_cb (GtkSearchEntry *entry,
+ FrWindow *window)
+{
+ fr_window_deactivate_filter (window);
+}
static void
fr_window_attach (FrWindow *window,
@@ -5720,6 +5715,10 @@ fr_window_construct (FrWindow *window)
"search-changed",
G_CALLBACK (filter_entry_search_changed_cb),
window);
+ g_signal_connect (G_OBJECT (window->priv->filter_entry),
+ "stop-search",
+ G_CALLBACK (filter_entry_stop_search_cb),
+ window);
gtk_search_bar_connect_entry (GTK_SEARCH_BAR (window->priv->filter_bar), GTK_ENTRY
(window->priv->filter_entry));
gtk_container_add (GTK_CONTAINER (window->priv->filter_bar), filter_box);
gtk_box_pack_start (GTK_BOX (filter_box), window->priv->filter_entry, TRUE, TRUE, 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]