/** * Remove the search from the gui and update all widget accordingly. */ void search_gui_remove_search(search_t *search) { GtkTreeIter iter; GtkTreeModel *model; bool stopped; g_return_if_fail(search); stopped = search_gui_start_massive_update(search); if (search_gui_get_current_search() == search) { GtkTreeView *tv = GTK_TREE_VIEW(search->tree); tree_view_save_widths(tv, PROP_SEARCH_RESULTS_COL_WIDTHS); tree_view_save_visibility(tv, PROP_SEARCH_RESULTS_COL_VISIBLE); tree_view_motion_clear_callback(&tvm_search); } g_assert(0 == slist_length(search->queue)); slist_free(&search->queue); model = gtk_tree_view_get_model(tree_view_search); if (tree_find_iter_by_data(model, c_sl_sch, search, &iter)) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } if (stopped) search_gui_end_massive_update(search); }
void upload_stats_gui_shutdown(void) { tree_view_save_widths(upload_stats_treeview, PROP_UL_STATS_COL_WIDTHS); tree_view_save_visibility(upload_stats_treeview, PROP_UL_STATS_COL_VISIBLE); upload_stats_gui_clear_all(); }
/** * Unregister callbacks in the backend and clean up. */ void nodes_gui_shutdown(void) { tree_view_motion_clear_callback(&tvm_nodes); tree_view_save_widths(treeview_nodes, PROP_NODES_COL_WIDTHS); tree_view_save_visibility(treeview_nodes, PROP_NODES_COL_VISIBLE); guc_node_remove_node_added_listener(nodes_gui_node_added); guc_node_remove_node_removed_listener(nodes_gui_node_removed); guc_node_remove_node_info_changed_listener(nodes_gui_node_info_changed); guc_node_remove_node_flags_changed_listener(nodes_gui_node_flags_changed); gtk_list_store_clear(nodes_model); g_object_unref(G_OBJECT(nodes_model)); nodes_model = NULL; gtk_tree_view_set_model(treeview_nodes, NULL); htable_foreach(nodes_handles, free_node_data, NULL); htable_free_null(&nodes_handles); hset_foreach(ht_node_info_changed, free_node_id, NULL); hset_free_null(&ht_node_info_changed); hset_foreach(ht_node_flags_changed, free_node_id, NULL); hset_free_null(&ht_node_flags_changed); hset_foreach(ht_pending_lookups, free_node_id, NULL); hset_free_null(&ht_pending_lookups); }
void search_gui_shutdown(void) { tree_view_save_widths(GTK_TREE_VIEW(tree_view_search), PROP_SEARCH_LIST_COL_WIDTHS); search_gui_common_shutdown(); }
void search_stats_gui_shutdown(void) { tree_view_save_widths(treeview_search_stats, PROP_SEARCH_STATS_COL_WIDTHS); search_stats_gui_set_type(NO_SEARCH_STATS); empty_hash_table(); htable_free_null(&stat_hash); }
void search_gui_hide_search(struct search *search) { GtkTreeView *tv; g_return_if_fail(search); tv = GTK_TREE_VIEW(search->tree); tree_view_save_widths(tv, PROP_SEARCH_RESULTS_COL_WIDTHS); tree_view_save_visibility(tv, PROP_SEARCH_RESULTS_COL_VISIBLE); tree_view_motion_clear_callback(&tvm_search); }
void fi_gui_files_widget_destroy(void) { if (treeview_download_files) { tree_view_save_visibility(treeview_download_files, PROP_FILE_INFO_COL_VISIBLE); tree_view_save_widths(treeview_download_files, PROP_FILE_INFO_COL_WIDTHS); gtk_widget_destroy(GTK_WIDGET(treeview_download_files)); treeview_download_files = NULL; } }
void fi_gui_shutdown(void) { tree_view_save_visibility(treeview_download_files, PROP_FILE_INFO_COL_VISIBLE); tree_view_save_widths(treeview_download_files, PROP_FILE_INFO_COL_WIDTHS); tree_view_save_widths(treeview_download_sources, PROP_SOURCES_COL_WIDTHS); fi_gui_common_shutdown(); if (treeview_download_files) { gtk_widget_destroy(GTK_WIDGET(treeview_download_files)); treeview_download_files = NULL; } if (store_files) { g_object_unref(store_files); store_files = NULL; } if (treeview_download_aliases) { gtk_widget_destroy(GTK_WIDGET(treeview_download_aliases)); treeview_download_aliases = NULL; } if (store_aliases) { g_object_unref(store_aliases); store_aliases = NULL; } if (treeview_download_sources) { gtk_widget_destroy(GTK_WIDGET(treeview_download_sources)); treeview_download_sources = NULL; } if (store_sources) { g_object_unref(store_sources); store_sources = NULL; } gm_hash_table_destroy_null(&fi_sources); }
void hcache_gui_shutdown(void) { tree_view_save_widths(treeview_hcache, PROP_HCACHE_COL_WIDTHS); }