From 759c25fcb81230a5e4739a8253a8188af21d9203 Mon Sep 17 00:00:00 2001
From: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>
Date: Wed, 21 May 2008 16:51:22 -0400
Subject: [PATCH] Disable GTKTreeView default search bar

---
 sflphone-gtk/src/calltree.c      | 24 ++++++++++++++++++++++++
 sflphone-gtk/src/historyfilter.c |  3 +++
 sflphone-gtk/src/historyfilter.h |  4 ----
 sflphone-gtk/src/mainwindow.c    | 27 ---------------------------
 4 files changed, 27 insertions(+), 31 deletions(-)

diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c
index 3c0b0260b0..a61e285c92 100644
--- a/sflphone-gtk/src/calltree.c
+++ b/sflphone-gtk/src/calltree.c
@@ -489,6 +489,27 @@ create_toolbar ()
   return ret;
 
 }  
+static gboolean
+on_key_released (GtkWidget   *widget,
+                GdkEventKey *event,
+                gpointer     user_data)  
+{
+  // If a modifier key is pressed, it's a shortcut, pass along
+  if(event->state & GDK_CONTROL_MASK || 
+     event->state & GDK_MOD1_MASK    ||
+     event->keyval == 60             || // <
+     event->keyval == 62             || // >
+     event->keyval == 34             || // "
+     event->keyval == 65361          || // left arrow
+     event->keyval == 65363          || // right arrow
+     event->keyval >= 65470          || // F-keys
+     event->keyval == 32                // space
+     )
+    return FALSE;
+  else
+    sflphone_keypad(event->keyval, event->string);
+  return TRUE;
+}
 
   void 
 create_call_tree (calltab_t* tab)
@@ -505,6 +526,7 @@ create_call_tree (calltab_t* tab)
   sw = gtk_scrolled_window_new( NULL, NULL);
   gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
   gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
+  g_signal_connect (G_OBJECT ( sw ), "key-press-event",G_CALLBACK (on_key_released), NULL);
 
   tab->store = gtk_list_store_new (3, 
       GDK_TYPE_PIXBUF,// Icon 
@@ -513,6 +535,7 @@ create_call_tree (calltab_t* tab)
       );
 
   tab->view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(tab->store));
+  gtk_tree_view_set_enable_search( GTK_TREE_VIEW(tab->view), FALSE);
   gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(tab->view), FALSE);
   g_signal_connect (G_OBJECT (tab->view), "row-activated",
       G_CALLBACK (row_activated),
@@ -526,6 +549,7 @@ create_call_tree (calltab_t* tab)
       G_CALLBACK (button_pressed), 
       NULL);
 
+
   rend = gtk_cell_renderer_pixbuf_new();
   col = gtk_tree_view_column_new_with_attributes ("Icon",
       rend,
diff --git a/sflphone-gtk/src/historyfilter.c b/sflphone-gtk/src/historyfilter.c
index 0f68c8ba38..76d21a0753 100644
--- a/sflphone-gtk/src/historyfilter.c
+++ b/sflphone-gtk/src/historyfilter.c
@@ -20,6 +20,8 @@
 #include <historyfilter.h>
 #include <calltree.h>
 
+GtkWidget * filter_entry;
+
 GtkTreeModel*
 create_filter(GtkTreeModel* child)
 {
@@ -69,6 +71,7 @@ create_filter_entry()
 	GtkWidget* ret = gtk_hbox_new(FALSE, 0);
       
 	filter_entry = sexy_icon_entry_new();
+	//filter_entry = gtk_entry_new();
 	image = gtk_image_new_from_stock( GTK_STOCK_FIND , GTK_ICON_SIZE_SMALL_TOOLBAR);
 	sexy_icon_entry_set_icon( SEXY_ICON_ENTRY(filter_entry), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE(image) ); 
 	sexy_icon_entry_add_clear_button( SEXY_ICON_ENTRY(filter_entry) );
diff --git a/sflphone-gtk/src/historyfilter.h b/sflphone-gtk/src/historyfilter.h
index 2fd81ea25f..72d46b8ce7 100644
--- a/sflphone-gtk/src/historyfilter.h
+++ b/sflphone-gtk/src/historyfilter.h
@@ -24,10 +24,6 @@
 #include <gtk/gtk.h>
 #include <libsexy/sexy-icon-entry.h>
 
-
-
-GtkWidget * filter_entry;
-
 GtkTreeModel* create_filter(GtkTreeModel* child);
 
 gboolean is_visible(GtkTreeModel* model, GtkTreeIter* iter, gpointer data);
diff --git a/sflphone-gtk/src/mainwindow.c b/sflphone-gtk/src/mainwindow.c
index 78bd04bbff..ddf0124d5e 100644
--- a/sflphone-gtk/src/mainwindow.c
+++ b/sflphone-gtk/src/mainwindow.c
@@ -93,31 +93,6 @@ main_window_ask_quit(){
   return TRUE;
 }
 
-static gboolean
-on_key_released (GtkWidget   *widget,
-                GdkEventKey *event,
-                gpointer     user_data)  
-{
-#ifdef DEBUG
-  g_print("KEY %s, %d\n", event->string, event->keyval);
-#endif 
-  // If a modifier key is pressed, it's a shortcut, pass along
-  if(event->state & GDK_CONTROL_MASK || 
-     event->state & GDK_MOD1_MASK    ||
-     event->keyval == 60             || // <
-     event->keyval == 62             || // >
-     event->keyval == 34             || // "
-     event->keyval == 65361          || // left arrow
-     event->keyval == 65363          || // right arrow
-     event->keyval >= 65470          || // F-keys
-     event->keyval == 32                // space
-     )
-    return FALSE;
-  g_print("search bar active : %s\n", gtk_widget_is_focus(GTK_WIDGET( filterEntry )));
-  sflphone_keypad(event->keyval, event->string);
-  return TRUE;
-}                
-
 void
 create_main_window ()
 {
@@ -137,8 +112,6 @@ create_main_window ()
     */
   g_signal_connect (G_OBJECT (window), "delete-event",
                     G_CALLBACK (on_delete), NULL);
-  //g_signal_connect (G_OBJECT (window), "key-press-event",
-    //                G_CALLBACK (on_key_released), NULL);
 
   /* Create an accel group for window's shortcuts */
   accelGroup = gtk_accel_group_new ();
-- 
GitLab