/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2013 Hiroyuki Yamamoto and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
gtk_widget_grab_focus(ok_button);
gtk_widget_grab_focus(treeview);
- gtk_widget_show(window);
+ gtk_window_present(GTK_WINDOW(window));
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
manage_window_set_transient(GTK_WINDOW(window));
while (finished == FALSE)
gtk_main_iteration();
- gtk_widget_hide(window);
- gtk_window_set_modal(GTK_WINDOW(window), FALSE);
- gtk_entry_set_text(GTK_ENTRY(entry), "");
- gtk_tree_store_clear(tree_store);
+ gtk_widget_destroy(window);
+ window = NULL;
if (!cancelled &&
selected_item && (selected_item->path || root_selectable)) {
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)
{
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE);
gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview),
prefs_common.use_stripes_everywhere);
-#if GTK_CHECK_VERSION(2,10,0)
- gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(treeview),
- prefs_common.enable_dotted_lines);
-#endif
+ 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);
static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event, gpointer data)
{
- if (event && event->keyval == GDK_Escape)
+ if (event && event->keyval == GDK_KEY_Escape)
foldersel_cancel(NULL, NULL);
return FALSE;
}