X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Flist_account.c;fp=src%2Flist_account.c;h=7f20090dda35d8d05e618e11c469b19f5745d137;hp=96253b3bcf4620d8702eb1f43c5241d8e5c99ced;hb=d11c8dd3275ed2a4a35598e69c0804dcf9435766;hpb=2ef3e601408ebaeeaf5f40d6967664b012a49979 diff --git a/src/list_account.c b/src/list_account.c index 96253b3..7f20090 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-2017 Maxime DOYEN + * Copyright (C) 1995-2018 Maxime DOYEN * * This file is part of HomeBank. * @@ -65,6 +65,9 @@ gint dt; { case 1: iconname = (acc->flags & AF_ADDED) ? ICONNAME_NEW : NULL; + // override if closed account + if( acc->flags & AF_CLOSED ) + iconname = ICONNAME_CHANGES_PREVENT; break; case 2: iconname = (acc->flags & AF_CHANGED) ? ICONNAME_HB_OPE_EDIT : NULL; @@ -137,6 +140,9 @@ gchar *groupname; "weight", PANGO_WEIGHT_BOLD, "text", groupname, NULL); + + //leak + g_free(groupname); } @@ -166,6 +172,9 @@ gchar *color; tp = gtk_tree_model_get_path(model, iter); expanded = gtk_tree_view_row_expanded(GTK_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)), tp); + //leak + gtk_tree_path_free(tp); + if(!expanded) { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, kcur, GLOBALS->minor); @@ -237,13 +246,16 @@ gint retval = 0; gint dt1, dt2; Account *entry1, *entry2; gchar *name1, *name2; +gint pos1, pos2; gtk_tree_model_get(model, a, + LST_DSPACC_POS, &pos1, LST_DSPACC_DATATYPE, &dt1, LST_DSPACC_DATAS, &entry1, LST_DSPACC_NAME, &name1, -1); gtk_tree_model_get(model, b, + LST_DSPACC_POS, &pos2, LST_DSPACC_DATATYPE, &dt2, LST_DSPACC_DATAS, &entry2, LST_DSPACC_NAME, &name2, @@ -256,7 +268,9 @@ gchar *name1, *name2; else if( dt1 == DSPACC_TYPE_HEADER && dt2 == DSPACC_TYPE_HEADER ) { - retval = hb_string_utf8_compare(name1, name2); + retval = pos1 - pos2; + if( !retval ) + retval = hb_string_utf8_compare(name1, name2); } g_free(name2); @@ -298,6 +312,8 @@ static void list_account_destroy(GtkTreeView *treeview, gpointer user_data) { GtkTreeViewColumn *column; + DB( g_print ("\n[list_account] destroy\n") ); + //todo: unsafe to use direct column index column = gtk_tree_view_get_column(treeview, LST_DSPACC_NAME); if( column ) @@ -314,6 +330,8 @@ GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; + DB( g_print ("\n[list_account] create\n") ); + /* create list store */ store = gtk_tree_store_new( NUM_LST_DSPACC,