int main (int argc, char ** argv) { const char *location = g_getenv("GNC_ACCOUNT_PATH"); GSList *list = NULL; GDir *ea_dir; g_setenv ("GNC_UNINSTALLED", "1", TRUE); if (!location) { location = "../../../../accounts/C"; } gnc_module_system_init(); gnc_module_load("gnucash/engine", 0); if ((ea_dir = g_dir_open(location, 0, NULL)) == NULL) { failure("unable to open ea directory"); } else { const gchar *entry; while ((entry = g_dir_read_name(ea_dir)) != NULL) { if (g_str_has_suffix(entry, da_ending)) { gchar *to_open = g_build_filename(location, entry, (gchar*)NULL); if (!g_file_test(to_open, G_FILE_TEST_IS_DIR)) { test_load_file(to_open); } g_free(to_open); } } } g_dir_close(ea_dir); { list = gnc_load_example_account_list(location); do_test(list != NULL, "gnc_load_example_account_list"); gnc_free_example_account_list(list); } print_test_results(); exit(get_rv()); }
static void account_categories_tree_view_prepare (hierarchy_data *data) { GSList *list; gchar *gnc_accounts_dir; gchar *locale_dir; GtkTreeView *tree_view; GtkListStore *model; GtkTreeViewColumn *column; GtkCellRenderer *renderer; GtkTreeSelection *selection; GtkTreePath *path; gnc_accounts_dir = gnc_path_get_accountsdir (); locale_dir = gnc_get_ea_locale_dir (gnc_accounts_dir); list = gnc_load_example_account_list (locale_dir); g_free (gnc_accounts_dir); g_free (locale_dir); /* Prepare the account_categories GtkTreeView with a model and with some columns */ tree_view = data->categories_tree; model = gtk_list_store_new(NUM_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL(model)); g_object_unref (model); g_slist_foreach(list, (GFunc)add_one_category, data); g_signal_connect (G_OBJECT (model), "row_changed", G_CALLBACK (categories_selection_changed), data); renderer = gtk_cell_renderer_toggle_new (); g_object_set (G_OBJECT (renderer), "activatable", TRUE, NULL); column = gtk_tree_view_column_new_with_attributes (_("Selected"), renderer, "active", COL_CHECKED, NULL); gtk_tree_view_append_column (tree_view, column); gtk_tree_view_column_set_sort_column_id (column, COL_CHECKED); g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (category_checkbox_toggled), model); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Account Types"), renderer, "text", COL_TITLE, NULL); gtk_tree_view_append_column (tree_view, column); gtk_tree_view_column_set_sort_column_id (column, COL_TITLE); // renderer = gtk_cell_renderer_text_new (); // column = gtk_tree_view_column_new_with_attributes (_("Description"), // renderer, // "text", COL_SHORT_DESCRIPTION, // NULL); // gtk_tree_view_append_column (tree_view, column); // gtk_tree_view_column_set_sort_column_id (column, COL_SHORT_DESCRIPTION); gtk_tree_view_set_headers_clickable(tree_view, TRUE); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(model), COL_TITLE, GTK_SORT_ASCENDING); if (data->initial_category) { path = gtk_tree_row_reference_get_path(data->initial_category); selection = gtk_tree_view_get_selection(tree_view); gtk_tree_view_scroll_to_cell(tree_view, path, NULL, TRUE, 0.5, 0.5); gtk_tree_selection_select_path(selection, path); gtk_tree_path_free(path); } }