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