/* 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.
*
{
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;
"weight", PANGO_WEIGHT_BOLD,
"text", groupname,
NULL);
+
+ //leak
+ g_free(groupname);
}
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);
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,
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);
{
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 )
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
+ DB( g_print ("\n[list_account] create\n") );
+
/* create list store */
store = gtk_tree_store_new(
NUM_LST_DSPACC,