X-Git-Url: https://git.brokenzipper.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Flist-account.c;fp=src%2Flist_account.c;h=89cc970f369148e81001082987ae66365d28dee3;hp=7f20090dda35d8d05e618e11c469b19f5745d137;hb=236cb5e47660876f46488ea8f76ecd5bebfa1fac;hpb=8892e90b335f94c296462a91534334b674226cd9 diff --git a/src/list_account.c b/src/list-account.c similarity index 87% rename from src/list_account.c rename to src/list-account.c index 7f20090..89cc970 100644 --- a/src/list_account.c +++ b/src/list-account.c @@ -1,5 +1,5 @@ /* HomeBank -- Free, easy, personal accounting for everyone. - * Copyright (C) 1995-2018 Maxime DOYEN + * Copyright (C) 1995-2019 Maxime DOYEN * * This file is part of HomeBank. * @@ -20,7 +20,7 @@ #include "homebank.h" -#include "list_account.h" +#include "list-account.h" /****************************************************************************/ /* Debug macros */ @@ -37,7 +37,38 @@ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; -extern gchar *CYA_ACC_TYPE[]; //in ui_account.c + + + +gboolean list_account_level1_expanded(GtkTreeView *treeview, gchar *name) +{ +gboolean retval, valid; +GtkTreeModel *model; +GtkTreeIter iter1; + + model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); + retval = TRUE; + valid = gtk_tree_model_get_iter_first (model, &iter1); + while(valid) + { + GtkTreePath *tmppath = gtk_tree_model_get_path(model, &iter1); + + if( gtk_tree_view_row_expanded(GTK_TREE_VIEW(treeview), tmppath) == FALSE ) + { + gchar *tmpname; + + gtk_tree_model_get(model, &iter1, LST_DSPACC_NAME, &tmpname, -1); + if( !strcmp(name, tmpname) ) + retval = FALSE; + + g_free(tmpname); + } + gtk_tree_path_free(tmppath); + valid = gtk_tree_model_iter_next (model, &iter1); + } + return retval; +} + /* ** draw some icons according to the stored data structure @@ -64,7 +95,7 @@ gint dt; switch(GPOINTER_TO_INT(user_data)) { case 1: - iconname = (acc->flags & AF_ADDED) ? ICONNAME_NEW : NULL; + iconname = (acc->flags & AF_ADDED) ? ICONNAME_HB_OPE_NEW : NULL; // override if closed account if( acc->flags & AF_CLOSED ) iconname = ICONNAME_CHANGES_PREVENT; @@ -78,29 +109,6 @@ gint dt; g_object_set(renderer, "icon-name", iconname, NULL); } -/* -** draw some text from the stored data structure -*/ -/* -static void -acc_type_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) -{ -Account *acc; -gint dt; - - gtk_tree_model_get(model, iter, - LST_DSPACC_DATATYPE, &dt, - LST_DSPACC_DATAS, &acc, - -1); - - if( dt == DSPACC_TYPE_NORMAL && acc->type > 0 ) - { - g_object_set(renderer, "text", _(CYA_ACC_TYPE[acc->type]), NULL); - } - else - g_object_set(renderer, "text", NULL, NULL); -} -*/ /* ** draw some text from the stored data structure @@ -308,14 +316,33 @@ GtkTreeIter iter; } +static GtkTreeViewColumn *list_account_get_column(GtkTreeView *treeview, gint uid) +{ +GtkTreeViewColumn *retval = NULL; +guint i; + + for(i=0;ipnl_acc_col_acc_width = gtk_tree_view_column_get_width(column); @@ -379,6 +406,7 @@ GtkTreeViewColumn *column; NULL); column = gtk_tree_view_column_new(); + g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPACC_ACCOUNTS)); gtk_tree_view_column_set_title(column, _("Accounts")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, text_cell_data_function, GINT_TO_POINTER(LST_DSPACC_NAME), NULL);