From: Richard Kettlewell Date: Sat, 14 Jun 2008 19:29:48 +0000 (+0100) Subject: Saner ^F behaviour. X-Git-Tag: 4.1~15^2~12 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/4d6a5c4e08c1b709df7bd9cec346718cba344e87 Saner ^F behaviour. --- diff --git a/disobedience/choose-search.c b/disobedience/choose-search.c index ebbedf0..4432151 100644 --- a/disobedience/choose-search.c +++ b/disobedience/choose-search.c @@ -517,6 +517,11 @@ static void choose_clear_clicked(GtkButton attribute((unused)) *button, initiate_search(); } +/** @brief Called when the user hits ^F to start a new search */ +void choose_search_new(void) { + gtk_editable_select_region(GTK_EDITABLE(choose_search_entry), 0, -1); +} + /** @brief Create the search widget */ GtkWidget *choose_search_widget(void) { diff --git a/disobedience/choose.c b/disobedience/choose.c index 2ddf7f9..1d0cedc 100644 --- a/disobedience/choose.c +++ b/disobedience/choose.c @@ -528,8 +528,8 @@ static gboolean choose_key_event(GtkWidget attribute((unused)) *widget, * search entry box. */ if((event->state & ~(GDK_LOCK_MASK|GDK_SHIFT_MASK)) == GDK_CONTROL_MASK && event->type == GDK_KEY_PRESS) { - gtk_widget_grab_focus(user_data); - return FALSE; + choose_search_new(); + return TRUE; /* Handled it */ } break; case 'g': case 'G': @@ -538,12 +538,12 @@ static gboolean choose_key_event(GtkWidget attribute((unused)) *widget, if((event->state & ~(GDK_LOCK_MASK|GDK_SHIFT_MASK)) == GDK_CONTROL_MASK && event->type == GDK_KEY_PRESS) { choose_next_clicked(0, 0); - return FALSE; + return TRUE; /* Handled it */ } break; } gtk_widget_event(user_data, (GdkEvent *)event); - return TRUE; + return TRUE; /* Handled it */ } /** @brief Create the choose tab */ diff --git a/disobedience/choose.h b/disobedience/choose.h index 69460c4..1a9bf10 100644 --- a/disobedience/choose.h +++ b/disobedience/choose.h @@ -77,6 +77,7 @@ void choose_next_clicked(GtkButton *button, gpointer userdata); void choose_prev_clicked(GtkButton *button, gpointer userdata); +void choose_search_new(void); #endif /* CHOOSE_H */