From fcb969ed723d0e986e229db2d2e0853dcc3bbeaa Mon Sep 17 00:00:00 2001
From: Julien Bonjean <julien@bonjean.info>
Date: Mon, 2 Mar 2009 18:07:38 -0500
Subject: [PATCH] Added search feature for eds

---
 sflphone-gtk/src/actions.c            |  1 -
 sflphone-gtk/src/calltab.h            |  1 -
 sflphone-gtk/src/calltree.c           | 23 ++++++++++++++++++++---
 sflphone-gtk/src/calltree.h           |  4 ++++
 sflphone-gtk/src/contactlist/Makefile |  2 +-
 sflphone-gtk/src/historyfilter.c      | 10 +++++++---
 6 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c
index 870cec2d8a..a08180c7a7 100644
--- a/sflphone-gtk/src/actions.c
+++ b/sflphone-gtk/src/actions.c
@@ -234,7 +234,6 @@ gboolean sflphone_init()
 	  history = calltab_init();
 	  contacts = calltab_init();
 	  if(SHOW_SEARCHBAR)  histfilter = create_filter(GTK_TREE_MODEL(history->store));
-	  contactfilter = create_filter(GTK_TREE_MODEL(contacts->store));
 	  init();
 	  account_list_init ();
     codec_list_init();
diff --git a/sflphone-gtk/src/calltab.h b/sflphone-gtk/src/calltab.h
index 6da6c8ba25..7d84696df2 100644
--- a/sflphone-gtk/src/calltab.h
+++ b/sflphone-gtk/src/calltab.h
@@ -24,7 +24,6 @@
 #include <gtk/gtk.h>
 
 GtkTreeModel* histfilter;
-GtkTreeModel* contactfilter;
 
 calltab_t* calltab_init();
 
diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c
index 6b2b1c59e1..b2b03e2137 100644
--- a/sflphone-gtk/src/calltree.c
+++ b/sflphone-gtk/src/calltree.c
@@ -210,12 +210,14 @@ toggle_contacts(GtkToggleToolButton *toggle_tool_button UNUSED,
   GList *i;
   char ext[30];
 
+  printf("EDS : %s\n",gtk_entry_get_text(GTK_ENTRY(filter_entry)));
+
   // Reset previous results
   call_list_reset(contacts);
   reset_call_tree(contacts);
 
   // Do a synchronized search
-  results = search_sync ("j", 50);
+  results = search_sync (gtk_entry_get_text(GTK_ENTRY(filter_entry)), 50);
 
   if(results == NULL)
   {
@@ -253,8 +255,6 @@ toggle_contacts(GtkToggleToolButton *toggle_tool_button UNUSED,
   sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (active_calltree->view));
   g_signal_emit_by_name(sel, "changed");
   toolbar_update_buttons();
-
-  //gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(contactfilter));
 }
 
   static void
@@ -933,6 +933,23 @@ update_call_tree_add (calltab_t* tab, call_t * c)
   toolbar_update_buttons();
 }
 
+
+  void
+refresh_tab(calltab_t* tab)
+{
+  if(tab == contacts)
+  {
+    toggle_contacts(NULL, NULL);
+  }
+  else if (tab == history)
+  {
+    toggle_history(NULL, NULL);
+  }
+  else
+  {
+    toggle_current_calls(NULL, NULL);
+  }
+}
   void
 switch_tab(calltab_t* tab)
 {
diff --git a/sflphone-gtk/src/calltree.h b/sflphone-gtk/src/calltree.h
index d7ec9a210f..d548eecaec 100644
--- a/sflphone-gtk/src/calltree.h
+++ b/sflphone-gtk/src/calltree.h
@@ -34,6 +34,8 @@
 GtkToolItem * historyButton;
 GtkToolItem * contactButton;
 
+GtkWidget * filter_entry;
+
 calltab_t* active_calltree;
 /**
  * Create a new widget calltree
@@ -73,4 +75,6 @@ GtkWidget * create_toolbar();
 
 void switch_tab( calltab_t* tab );
 
+void refresh_tab( calltab_t* tab );
+
 #endif
diff --git a/sflphone-gtk/src/contactlist/Makefile b/sflphone-gtk/src/contactlist/Makefile
index 353e6f3504..882ff1c350 100644
--- a/sflphone-gtk/src/contactlist/Makefile
+++ b/sflphone-gtk/src/contactlist/Makefile
@@ -77,7 +77,7 @@ AUTOMAKE = ${SHELL} /home/jbonjean/dev/Savoir.Faire.Linux/sflphone/missing --run
 AWK = gawk
 CC = gcc
 CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2 -g -Wall -O2
+CFLAGS = -g -O2 -g -O2 -DDEBUG -Wall -Wextra
 CPP = gcc -E
 CPPFLAGS = 
 CYGPATH_W = echo
diff --git a/sflphone-gtk/src/historyfilter.c b/sflphone-gtk/src/historyfilter.c
index 2cf7bf1e12..9c5de2ac25 100644
--- a/sflphone-gtk/src/historyfilter.c
+++ b/sflphone-gtk/src/historyfilter.c
@@ -22,8 +22,6 @@
 #include <historyfilter.h>
 #include <calltree.h>
 
-GtkWidget * filter_entry;
-
 GtkTreeModel*
 create_filter(GtkTreeModel* child)
 {
@@ -58,7 +56,13 @@ is_visible(GtkTreeModel* model, GtkTreeIter* iter, gpointer data UNUSED)
 void
 filter_entry_changed(GtkEntry* entry UNUSED, gchar* arg1 UNUSED, gpointer data UNUSED)
 {
-	switch_tab(history);
+  //printf("%s\n",gtk_entry_get_text(GTK_ENTRY(entry)));
+
+  if(active_calltree == current_calls)
+    switch_tab(contacts);
+  else
+    refresh_tab(active_calltree);
+
 }
 
 void
-- 
GitLab