diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c index 870cec2d8af4ae2face213fc5b8d47f068b41990..a08180c7a79428cf2c6509d9ce26e17e71816c09 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 6da6c8ba256f17343235711d1a7fd68c8a47c2f4..7d84696df2fa4f4471455b09859b54ccb75d5a79 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 6b2b1c59e1c4496022739c976974d03d73b56c78..b2b03e21377990c6c778c444ac98a7a88fdc0a67 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 d7ec9a210f7038b93068066bca3ce2ac8610c6a8..d548eecaec84bae9bef06d12d8f97bfd93736083 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 353e6f35046f24973cc20034ece14247aa487b47..882ff1c350488efefd9b8094916d4b74d7f22d60 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 2cf7bf1e12ee9e356c8ced21d8abd8fa37aa3cc0..9c5de2ac256f495b0b792ffd91d475b3059c1a65 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