chiark / gitweb /
Saner ^F behaviour.
authorRichard Kettlewell <rjk@greenend.org.uk>
Sat, 14 Jun 2008 19:29:48 +0000 (20:29 +0100)
committerRichard Kettlewell <rjk@greenend.org.uk>
Sat, 14 Jun 2008 19:29:48 +0000 (20:29 +0100)
disobedience/choose-search.c
disobedience/choose.c
disobedience/choose.h

index ebbedf080998f1bbffe85c887bd4e8d877863005..44321519e966d5294b76aa752d6c84fc53e7d7a6 100644 (file)
@@ -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) {
 
index 2ddf7f93b6343cb4702cc6c8c3d8ecb7ed69ba41..1d0cedc402a15f09ea36f4502c74391ed8bd4f6d 100644 (file)
@@ -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 */
index 69460c4e71017951326271efe3d7f73ab324d414..1a9bf10e5d41658a7ed1e0ab03d874232fd5e682 100644 (file)
@@ -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 */