rem: if ( DEBUG ) printf ( "gsb_transactions_list_set_visibles_rows_on_account %d\n", no_account );
add: devel_debug ( g_strdup_printf ("gsb_transactions_list_set_visibles_rows_on_account %d", no_account ));
context: gboolean gsb_transactions_list_set_visibles_rows_on_account ( gint no_account ){    GtkTreeModel *sortable_model;    GtkTreeIter iter;    if ( DEBUG )	printf ( "gsb_transactions_list_set_visibles_rows_on_account %d\n", no_account );    sortable_model = GTK_TREE_MODEL (gsb_transactions_list_get_store ());    if ( gtk_tree_model_get_iter_first ( GTK_TREE_MODEL ( sortable_model ),					 &iter ))    {	gint r_shown;	gint nb_rows;	r_shown = gsb_data_account_get_r ( no_account );	nb_rows = gsb_data_account_get_nb_rows ( no_account );    	do	{	    gint transaction_number;	    gpointer transaction;	    gint current_line;	    gint show;	    /* 	    the current_line will contain 0, 1, 2 or 3 ; the line on the transaction */	    /* 		we are on */	    gtk_tree_model_get ( GTK_TREE_MODEL ( sortable_model ),				 &iter,				 TRANSACTION_COL_NB_TRANSACTION_ADDRESS, &transaction,				 TRANSACTION_COL_NB_TRANSACTION_LINE, &current_line,				 -1 );	    transaction_number = gsb_data_transaction_get_transaction_number (transaction);	    /* check the general white line (one for all the list, so no account number) */	    if ( transaction_number == -1)	    {		if ( current_line < nb_rows )		    show = TRUE;		else		    show = FALSE;		gtk_tree_store_set ( GTK_TREE_STORE ( sortable_model ),				     &iter,				     TRANSACTION_COL_NB_VISIBLE, show,				     -1 );		continue;	    }	    /* check the account */	    if ( gsb_data_transaction_get_account_number (transaction_number) != no_account )	    {		gtk_tree_store_set ( GTK_TREE_STORE ( sortable_model ),				     &iter,				     TRANSACTION_COL_NB_VISIBLE, FALSE,				     -1 );		continue;	    }	    /* 	    check if it's R and if r is shown */	    if ( gsb_data_transaction_get_marked_transaction (transaction_number)== OPERATION_RAPPROCHEE		 &&		 !r_shown )	    {		gtk_tree_store_set ( GTK_TREE_STORE ( sortable_model ),				     &iter,				     TRANSACTION_COL_NB_VISIBLE, FALSE,				     -1 );		continue;	    }	    /* 	    now we check if we show 1, 2, 3 or 4 lines */	    /* FIXME: lors de l'affichage de plusieurs lignes, les lignes du dessous doivent forcemment être	     * plus bas que celles du desssus, par ex	     * sur 3 lignes, ligne 1 -> 1, ligne 2-> 2, ligne 3-> 4   => ok	     * mais ligne 1 -> 2 et ligne 2 -> 1  => pas bon ;	     * if faut l'interdire dans les paramètres */	    /* by default, we don't show the line */	    show = FALSE;	    switch ( nb_rows )	    {		case 1:		    if ( current_line == ligne_affichage_une_ligne )			show = TRUE;		    break;		case 2:		    if ( current_line == GPOINTER_TO_INT ( lignes_affichage_deux_lignes -> next -> data )			 ||			 current_line == GPOINTER_TO_INT ( lignes_affichage_deux_lignes -> data ))			show = TRUE;		    break;		case 3:		    if ( current_line == GPOINTER_TO_INT ( lignes_affichage_trois_lignes -> data )			 ||			 current_line == GPOINTER_TO_INT ( lignes_affichage_trois_lignes -> next -> data )			 ||			 current_line == GPOINTER_TO_INT ( lignes_affichage_trois_lignes -> next -> next -> data ))			show = TRUE;		    break;		default:		    show = TRUE;	    }	    gtk_tree_store_set ( GTK_TREE_STORE ( sortable_model ),				 &iter,				 TRANSACTION_COL_NB_VISIBLE, show,				 -1 );	}	while ( gtk_tree_model_iter_next ( GTK_TREE_MODEL ( sortable_model ),					   &iter ));    }    return FALSE;}