Handle Esc key correctly with hidden filter
This commit is contained in:
@@ -365,16 +365,22 @@ xtm_process_window_key_pressed (XtmProcessWindow *window, GdkEventKey *event)
|
|||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
|
|
||||||
if (event->keyval == GDK_KEY_Escape && gtk_widget_is_focus(GTK_WIDGET(window->filter_entry))) {
|
if (event->keyval == GDK_KEY_Escape &&
|
||||||
gtk_entry_set_text (GTK_ENTRY(window->filter_entry), "");
|
gtk_widget_is_focus(GTK_WIDGET (window->filter_entry)))
|
||||||
|
{
|
||||||
|
if (xfconf_channel_get_bool (window->channel, SETTING_SHOW_FILTER, FALSE))
|
||||||
|
gtk_entry_set_text (GTK_ENTRY(window->filter_entry), "");
|
||||||
|
else
|
||||||
|
g_signal_emit_by_name (window, "delete-event", event, &ret, G_TYPE_BOOLEAN);
|
||||||
}
|
}
|
||||||
else if (event->keyval == GDK_KEY_Escape ||
|
else if (event->keyval == GDK_KEY_Escape ||
|
||||||
(event->keyval == GDK_KEY_q && (event->state & GDK_CONTROL_MASK))) {
|
(event->keyval == GDK_KEY_q && (event->state & GDK_CONTROL_MASK)))
|
||||||
|
{
|
||||||
g_signal_emit_by_name (window, "delete-event", event, &ret, G_TYPE_BOOLEAN);
|
g_signal_emit_by_name (window, "delete-event", event, &ret, G_TYPE_BOOLEAN);
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
}
|
}
|
||||||
else if (event->keyval == GDK_KEY_f && (event->state & GDK_CONTROL_MASK)) {
|
else if (event->keyval == GDK_KEY_f && (event->state & GDK_CONTROL_MASK))
|
||||||
|
{
|
||||||
gtk_widget_grab_focus (GTK_WIDGET(window->filter_entry));
|
gtk_widget_grab_focus (GTK_WIDGET(window->filter_entry));
|
||||||
xfconf_channel_set_bool (window->channel, SETTING_SHOW_FILTER, TRUE);
|
xfconf_channel_set_bool (window->channel, SETTING_SHOW_FILTER, TRUE);
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user