From 7f03f0360ead1c138b3a0b8be649ad592aeeb46a Mon Sep 17 00:00:00 2001 From: Andrej Kacian Date: Thu, 12 Dec 2013 12:17:59 +0100 Subject: [PATCH 1/1] In folder select dialog, allow type-search to match any part of folder names, not just beginning. --- src/foldersel.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/foldersel.c b/src/foldersel.c index ef29fc0cc..ab512dcb2 100644 --- a/src/foldersel.c +++ b/src/foldersel.c @@ -198,6 +198,24 @@ FolderItem *foldersel_folder_sel(Folder *cur_folder, FolderSelectionType type, return NULL; } +static gboolean foldersel_search_name_func(GtkTreeModel *model, gint column, + const gchar *key, GtkTreeIter *iter, gpointer search_data) +{ + gchar *store_string; + gboolean retval; + + gtk_tree_model_get(model, iter, column, &store_string, -1); + + if (!store_string || !key) + return FALSE; + + retval = (strcasestr(store_string, key) == NULL); + + g_free(store_string); + + return retval; +} + static void foldersel_size_allocate_cb(GtkWidget *widget, GtkAllocation *allocation) { @@ -262,6 +280,8 @@ static void foldersel_create(void) gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_search_column(GTK_TREE_VIEW(treeview), FOLDERSEL_FOLDERNAME); + gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), + foldersel_search_name_func, NULL, NULL); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); gtk_tree_selection_set_mode(selection, GTK_SELECTION_BROWSE); -- 2.25.1