chiark / gitweb /
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/disorder
[disorder] / disobedience / choose-search.c
index 8637687faeb96be8645b5057d9fd6c1a859b0691..83d3f743652578e482d4d2709f24e0708aa1ebcb 100644 (file)
@@ -2,23 +2,21 @@
  * This file is part of DisOrder
  * Copyright (C) 2008 Richard Kettlewell
  *
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-/** @file disobedience/search.c
- * @brief Search support
+/** @file disobedience/choose-search.c
+ * @brief Search support for Disobedience choose window
  */
 #include "disobedience.h"
 #include "choose.h"
@@ -291,6 +289,11 @@ static void choose_search_completed(void attribute((unused)) *v,
    * left over from the old search. */
   choose_auto_collapse();
   choose_search_hash = hash_new(1);
+  /* If we were still setting up the chooser to show previous search results
+   * then turn that off now.  We'll turn it back on again if necessary. */
+  event_cancel(choose_inserted_handle);
+  choose_inserted_handle = 0;
+  /* Start showing the results of our search. */
   if(nvec) {
     for(int n = 0; n < nvec; ++n)
       hash_add(choose_search_hash, vec[n], "", HASH_INSERT);
@@ -443,6 +446,7 @@ static gboolean choose_get_visible_range(GtkTreeView *tree_view,
  * @param direction -1 for prev, +1 for next
  */
 static void choose_move(int direction) {
+  assert(direction);                    /* placate analyzer */
   /* Refocus the main view so typahead find continues to work */
   gtk_widget_grab_focus(choose_view);
   /* If there's no results we have nothing to do */
@@ -517,15 +521,15 @@ GtkWidget *choose_search_widget(void) {
   gtk_widget_set_style(choose_search_entry, tool_style);
   g_signal_connect(choose_search_entry, "changed",
                    G_CALLBACK(choose_search_entry_changed), 0);
-  gtk_tooltips_set_tip(tips, choose_search_entry,
-                       "Enter search terms here; search is automatic", "");
+  gtk_widget_set_tooltip_text(choose_search_entry,
+                              "Enter search terms here; search is automatic");
 
   /* Cancel button to clear the search */
   choose_clear = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
   gtk_widget_set_style(choose_clear, tool_style);
   g_signal_connect(G_OBJECT(choose_clear), "clicked",
                    G_CALLBACK(choose_clear_clicked), 0);
-  gtk_tooltips_set_tip(tips, choose_clear, "Clear search terms", "");
+  gtk_widget_set_tooltip_text(choose_clear, "Clear search terms");
 
   /* Up and down buttons to find previous/next results; initially they are not
    * usable as there are no search results. */