[grisbi-cvs] grisbi/src affichage_liste.c, 1.120, 1.121 balance_estimate_data.c, 1.17, 1.18 balance_estimate_data.h, 1.11, 1.12 balance_estimate_future.c, 1.5, 1.6 balance_estimate_future.h, 1.4, 1.5 balance_estimate_tab.c, 1.58, 1.59 gsb_assistant_archive.c, 1.43, 1.44 gsb_data_account.c, 1.100, 1.101 gsb_data_payee.c, 1.51, 1.52 gsb_data_payment.c, 1.18, 1.19 gsb_data_payment.h, 1.7, 1.8 gsb_file_load.c, 1.215, 1.216 gsb_file_others.c, 1.33, 1.34 gsb_file_save.c, 1.161, 1.162 gsb_form.c, 1.155, 1.156 gsb_form_transaction.c, 1.55, 1.56 gsb_form_widget.c, 1.51, 1.52 gsb_form_widget.h, 1.8, 1.9 gsb_transactions_list.c, 1.204, 1.205 gtk_combofix.c, 1.73, 1.74 import.c, 1.327, 1.328 main.c, 1.169, 1.170 tiers_onglet.c, 1.171, 1.172 transaction_list.c, 1.58, 1.59 utils_dates.c, 1.66, 1.67 utils_dates.h, 1.23, 1.24

Pierre Biava pbiava at users.sourceforge.net
Sat Apr 3 21:57:44 CEST 2010


Update of /cvsroot/grisbi/grisbi/src
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv7054/src

Modified Files:
	affichage_liste.c balance_estimate_data.c 
	balance_estimate_data.h balance_estimate_future.c 
	balance_estimate_future.h balance_estimate_tab.c 
	gsb_assistant_archive.c gsb_data_account.c gsb_data_payee.c 
	gsb_data_payment.c gsb_data_payment.h gsb_file_load.c 
	gsb_file_others.c gsb_file_save.c gsb_form.c 
	gsb_form_transaction.c gsb_form_widget.c gsb_form_widget.h 
	gsb_transactions_list.c gtk_combofix.c import.c main.c 
	tiers_onglet.c transaction_list.c utils_dates.c utils_dates.h 
Log Message:
Bug fixes in the management of payees. Additions of the modification of the future data for the budget module.

Index: gsb_file_others.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_file_others.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- gsb_file_others.c	28 Jan 2010 20:25:12 -0000	1.33
+++ gsb_file_others.c	3 Apr 2010 19:57:41 -0000	1.34
@@ -99,7 +99,7 @@
     length_calculated = length_part * g_slist_length (gsb_data_category_get_categories_list());
 
     iterator = 0;
-    file_content = g_malloc ( length_calculated );
+    file_content = g_malloc0 ( length_calculated );
 
     /* begin the file whit xml markup */
     
@@ -180,7 +180,7 @@
     length_calculated = length_part * g_slist_length (gsb_data_budget_get_budgets_list());
 
     iterator = 0;
-    file_content = g_malloc ( length_calculated );
+    file_content = g_malloc0 ( length_calculated );
 
     /* begin the file whit xml markup */
     
@@ -261,7 +261,7 @@
     length_calculated = length_part * g_slist_length (gsb_data_report_get_report_list ());
 
     iterator = 0;
-    file_content = g_malloc ( length_calculated );
+    file_content = g_malloc0 ( length_calculated );
 
     /* begin the file whit xml markup */
     

Index: balance_estimate_future.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/balance_estimate_future.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- balance_estimate_future.h	28 Mar 2010 14:40:28 -0000	1.4
+++ balance_estimate_future.h	3 Apr 2010 19:57:41 -0000	1.5
@@ -8,6 +8,9 @@
 
 
 /* START_DECLARATION */
+gboolean bet_future_modify_line ( gint account_number,
+                        gint number,
+                        gint mother_row );
 gboolean bet_future_new_line_dialog ( GtkTreeModel *tab_model,
                         gchar *str_date );
 /* END_DECLARATION */

Index: utils_dates.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/utils_dates.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- utils_dates.c	29 Mar 2010 21:54:00 -0000	1.66
+++ utils_dates.c	3 Apr 2010 19:57:42 -0000	1.67
@@ -128,6 +128,26 @@
 
 
 /**
+ * return the tomorrow date in the gdate format
+ *
+ * \param
+ *
+ * \return a newly allocated GDate which represents the date of the day. Use g_date_free to free memory when no more used.
+ * */
+GDate *gsb_date_tomorrow ( void )
+{
+    GDate *date;
+
+    date = g_date_new ( );
+    g_date_set_time_t (  date, time ( NULL ) );
+    g_date_add_days ( date, 1);
+
+    return ( date );
+}
+
+
+
+/**
  * copy the date given in param
  * 
  * \param date a GDate to copy

Index: gsb_data_payment.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_payment.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- gsb_data_payment.c	28 Mar 2010 14:40:28 -0000	1.18
+++ gsb_data_payment.c	3 Apr 2010 19:57:41 -0000	1.19
@@ -768,7 +768,7 @@
 
 
 /**
- * try to find a method of payment similar to the origin method of payement
+ * try to find a method of payment similar to the origin method of payment
  *
  * \param origin_payment	the method of payment we try to find a similar other
  * \param target_account_number	the account we want to search into for the new method of payment
@@ -904,3 +904,54 @@
 }
 
 
+/**
+ * permet de trouver pour un autre compte le moyen de paiement
+ * ayant le même nom.
+ *
+ * \param number initial
+ * \ numéro du nouveau compte
+ *
+ * \ return the numéro de paiement si trouvé ou celui par défaut pour 
+ * le compte concerné.
+ * */
+gint gsb_data_payment_search_number_other_account_by_name ( gint payment_number,
+                                gint account_number )
+{
+
+    const gchar *name;
+    GSList *tmp_list;
+    gint new_payment_number;
+    gint sign;
+
+    name = gsb_data_payment_get_name ( payment_number );
+
+    tmp_list = payment_list;
+
+    while ( tmp_list )
+    {
+        struct_payment *payment;
+
+        payment = tmp_list -> data;
+
+        if ( payment -> account_number == account_number )
+        {
+            if ( my_strcasecmp (  (gchar *)name, payment -> payment_name ) == 0 )
+                return payment -> payment_number;
+        }
+        tmp_list = tmp_list -> next;
+    }
+
+    sign = gsb_data_payment_get_sign ( payment_number );
+
+    if ( sign == GSB_PAYMENT_CREDIT)
+        new_payment_number = gsb_data_account_get_default_credit ( account_number );
+    else 
+        new_payment_number = gsb_data_account_get_default_debit ( account_number );
+
+    return new_payment_number;
+}
+
+
+/* Local Variables: */
+/* c-basic-offset: 4 */
+/* End: */

Index: transaction_list.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/transaction_list.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- transaction_list.c	8 Mar 2010 21:30:01 -0000	1.58
+++ transaction_list.c	3 Apr 2010 19:57:42 -0000	1.59
@@ -134,22 +134,22 @@
     /* if this is a child, go to append_child_record */
     if (gsb_data_transaction_get_mother_transaction_number (transaction_number))
     {
-	transaction_list_append_child (transaction_number);
-	return;
+        transaction_list_append_child (transaction_number);
+        return;
     }
 
     /* the transaction is a mother */
-    account_number = gsb_gui_navigation_get_current_account ();
+    account_number = gsb_data_transaction_get_account_number ( transaction_number );
 
     /* if the transaction is a split, create a white line, we will append it later */
-    if (gsb_data_transaction_get_split_of_transaction (transaction_number))
+    if ( gsb_data_transaction_get_split_of_transaction ( transaction_number ) )
     {
 	/* append a white line */
 	gint white_line_number;
 	gchar *amount_string;
 	gchar *variance_string;
 
-	white_line_number = gsb_data_transaction_new_white_line (transaction_number);
+	white_line_number = gsb_data_transaction_new_white_line ( transaction_number );
 	children_rows = g_malloc0 (sizeof (CustomRecord*));
 
 	/* create and fill the white line record */
@@ -216,7 +216,7 @@
 	/* we check if the row is visible or not only if we are on an account,
 	 * in other case, the model will be filtered when change account so no need
 	 * to do that here */
-	if (account_number != -1
+	if ( gsb_gui_navigation_get_current_account ( ) != -1
 	    &&
 	    gsb_transactions_list_transaction_visible ( newrecord[i] -> transaction_pointer,
 							account_number,

Index: balance_estimate_future.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/balance_estimate_future.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- balance_estimate_future.c	28 Mar 2010 14:40:28 -0000	1.5
+++ balance_estimate_future.c	3 Apr 2010 19:57:41 -0000	1.6
@@ -86,14 +86,16 @@
 						       gpointer null );
 static GtkWidget *bet_form_scheduler_get_element_widget ( gint element_number );
 static GtkWidget *bet_form_widget_get_widget ( gint element_number );
+static gboolean bet_future_create_dialog ( void );
 static gboolean bet_future_get_budget_data ( GtkWidget *widget,
                         gint budget_type,
                         struct_futur_data *scheduled );
 static gboolean bet_future_get_category_data ( GtkWidget *widget,
                         gint budget_type,
                         struct_futur_data *scheduled );
-static gboolean bet_future_take_data_from_form ( GtkWidget *dialog,
-                        struct_futur_data *scheduled );
+static gboolean bet_future_set_form_data_from_line ( gint account_number,
+                        gint number  );
+static gboolean bet_future_take_data_from_form (  struct_futur_data *scheduled );
 /*END_STATIC*/
 
 /*START_EXTERN*/
@@ -129,40 +131,14 @@
                         gchar *str_date )
 {
     GtkWidget *widget;
-    GtkWidget *vbox;
-    GtkWidget *table;
     gchar *tmp_str;
     GDate *date;
+    GDate *date_jour;
     gint result;
 
     if ( bet_dialog == NULL )
     {
-    /* Create the dialog */
-    bet_dialog = gtk_dialog_new_with_buttons ( _("Enter a budget line"),
-					   GTK_WINDOW ( window ),
-					   GTK_DIALOG_MODAL,
-					   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-					   GTK_STOCK_OK, GTK_RESPONSE_OK,
-					   NULL );
-
-    gtk_window_set_position ( GTK_WINDOW ( bet_dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
-    gtk_window_set_resizable ( GTK_WINDOW ( bet_dialog ), TRUE );
-    gtk_dialog_set_default_response ( GTK_DIALOG ( bet_dialog ), GTK_RESPONSE_OK );
-
-	vbox = gtk_vbox_new ( FALSE, 0 );
-	gtk_box_pack_start ( GTK_BOX ( GTK_DIALOG ( bet_dialog )->vbox ), vbox, TRUE, TRUE, 0 );
-	gtk_container_set_border_width ( GTK_CONTAINER ( vbox ), 12 );
-
-    /* next we fill the bet_form */
-    table = gtk_table_new ( BET_SCHEDULED_HEIGHT, BET_SCHEDULED_WIDTH, FALSE );
-    gtk_table_set_col_spacings ( GTK_TABLE ( table ), 6 );
-    gtk_widget_show ( table );
-    gtk_box_pack_start ( GTK_BOX ( vbox ), table, FALSE, FALSE, 5 );
-
-    bet_form_create_scheduler_part ( table );
-    bet_form_create_current_form ( table );
-
-	gtk_widget_show ( vbox );
+        bet_future_create_dialog ( );
     }
     else
     {
@@ -171,15 +147,28 @@
     }
 
     /* init data */
-    
     widget = bet_form_widget_get_widget ( TRANSACTION_FORM_DATE );
     date = gsb_parse_date_string ( str_date );
+    date_jour = gdate_today ( ); 
+        
     if ( g_date_valid ( date ) )
     {
-        gsb_form_widget_set_empty ( widget, FALSE );
-        gsb_calendar_entry_set_date ( widget, date );
+        if ( g_date_compare ( date_jour, date ) >= 0 )
+        {
+            g_date_free ( date );
+            g_date_add_days ( date_jour, 1 );
+            date = date_jour;
+        }
+    }
+    else
+    {
+        g_date_add_days ( date_jour, 1 );
+        date = date_jour;
     }
 
+    gsb_form_widget_set_empty ( widget, FALSE );
+    gsb_calendar_entry_set_date ( widget, date );
+
     gtk_dialog_set_response_sensitive ( GTK_DIALOG ( bet_dialog ), GTK_RESPONSE_OK, FALSE );
 
 dialog_return:
@@ -198,7 +187,7 @@
             return FALSE;
         }
 
-        if ( bet_future_take_data_from_form ( bet_dialog, scheduled ) == FALSE )
+        if ( bet_future_take_data_from_form ( scheduled ) == FALSE )
         {
             tmp_str = g_strdup ( _("Error: the frequency defined by the user or the amount is "
                                  "not specified or the date is invalid.") );
@@ -206,6 +195,9 @@
             g_free ( tmp_str );
             goto dialog_return;
         }
+        else
+            bet_data_future_add_lines ( scheduled );
+
         bet_array_refresh_estimate_tab ( );
     }
 
@@ -216,6 +208,48 @@
 
 
 /**
+ *
+ *
+ *
+ *
+ * */
+gboolean bet_future_create_dialog ( void )
+{
+    GtkWidget *vbox;
+    GtkWidget *table;
+
+    /* Create the dialog */
+    bet_dialog = gtk_dialog_new_with_buttons ( _("Enter a budget line"),
+					   GTK_WINDOW ( window ),
+					   GTK_DIALOG_MODAL,
+					   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+					   GTK_STOCK_OK, GTK_RESPONSE_OK,
+					   NULL );
+
+    gtk_window_set_position ( GTK_WINDOW ( bet_dialog ), GTK_WIN_POS_CENTER_ON_PARENT );
+    gtk_window_set_resizable ( GTK_WINDOW ( bet_dialog ), TRUE );
+    gtk_dialog_set_default_response ( GTK_DIALOG ( bet_dialog ), GTK_RESPONSE_OK );
+
+	vbox = gtk_vbox_new ( FALSE, 0 );
+	gtk_box_pack_start ( GTK_BOX ( GTK_DIALOG ( bet_dialog )->vbox ), vbox, TRUE, TRUE, 0 );
+	gtk_container_set_border_width ( GTK_CONTAINER ( vbox ), 12 );
+
+    /* next we fill the bet_form */
+    table = gtk_table_new ( BET_SCHEDULED_HEIGHT, BET_SCHEDULED_WIDTH, FALSE );
+    gtk_table_set_col_spacings ( GTK_TABLE ( table ), 6 );
+    gtk_widget_show ( table );
+    gtk_box_pack_start ( GTK_BOX ( vbox ), table, FALSE, FALSE, 5 );
+
+    bet_form_create_scheduler_part ( table );
+    bet_form_create_current_form ( table );
+
+	gtk_widget_show ( vbox );
+
+    return FALSE;
+ }
+
+
+/**
  * create the scheduled part
  *
  * \param table a GtkTable with the dimension SCHEDULED_HEIGHT*SCHEDULED_WIDTH to be filled
@@ -389,8 +423,8 @@
 					 etat.combofix_max_item );
     gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (widget),
 					      etat.combofix_case_sensitive );
-    gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
-					      etat.combofix_enter_select_completion );
+    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
+					      //~ etat.combofix_enter_select_completion );
     /* we never mix the payee because the only case of the complex combofix is
      * for the report and there is non sense to mix report with the payee */
     gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (widget),
@@ -475,7 +509,7 @@
 
     element_number = TRANSACTION_FORM_CATEGORY;
     widget = gtk_combofix_new_complex (
-                         gsb_data_category_get_name_list ( TRUE, TRUE, TRUE, TRUE ) );
+                         gsb_data_category_get_name_list ( TRUE, TRUE, FALSE, FALSE ) );
     gtk_widget_set_size_request ( widget, width, -1 );
     gtk_combofix_set_force_text ( GTK_COMBOFIX (widget),
 					  etat.combofix_force_category );
@@ -483,8 +517,8 @@
 					 etat.combofix_max_item );
     gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (widget),
 					      etat.combofix_case_sensitive );
-    gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
-					      etat.combofix_enter_select_completion );
+    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
+					      //~ etat.combofix_enter_select_completion );
     gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (widget),
 					  etat.combofix_mixed_sort );
     gtk_widget_show ( widget );
@@ -535,8 +569,8 @@
 					 etat.combofix_max_item );
     gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (widget),
 					      etat.combofix_case_sensitive );
-    gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
-					      etat.combofix_enter_select_completion );
+    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
+					      //~ etat.combofix_enter_select_completion );
     gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (widget),
 					  etat.combofix_mixed_sort );
     gtk_widget_show ( widget );
@@ -646,6 +680,22 @@
 {
     GSList *tmp_list;
 
+    /* clean the scheduled widget */
+    tmp_list = bet_schedul_element_list;
+
+    while (tmp_list)
+    {
+        struct_element *element;
+
+        element = tmp_list -> data;
+
+        /* better to protect here if widget != NULL (bad experience...) */
+        if (element -> element_widget)
+            gtk_widget_set_sensitive ( element -> element_widget, TRUE );
+
+        tmp_list = tmp_list -> next;
+    }
+    
     /* clean the transactions widget */
     tmp_list = bet_form_list_widgets;
 
@@ -1215,13 +1265,131 @@
 
 
 /**
+ * initialise les données du formulaire
+ *
+ *
+ *
+ * */
+gboolean bet_future_set_form_data_from_line ( gint account_number,
+                        gint number  )
+{
+    GtkWidget *widget;
+    GHashTable *future_list;
+    gchar *key;
+    struct_futur_data *scheduled;
+
+    if ( account_number == 0 )
+        key = g_strconcat ("0:", utils_str_itoa ( number ), NULL );
+    else
+        key = g_strconcat ( utils_str_itoa ( account_number ), ":",
+                        utils_str_itoa ( number ), NULL );
+
+    future_list = bet_data_future_get_list ( );
+
+    scheduled = g_hash_table_lookup ( future_list, key );
+    if ( scheduled == NULL )
+        return FALSE;
+
+    /* On traite les données de la planification */
+    widget = bet_form_scheduler_get_element_widget ( SCHEDULED_FORM_FREQUENCY_BUTTON );
+    gsb_combo_box_set_index ( widget, scheduled -> frequency );
+    gtk_widget_set_sensitive ( widget, FALSE );
+
+    if ( scheduled -> frequency > 0 )
+    {
+        if ( scheduled -> limit_date && g_date_valid ( scheduled -> limit_date ) )
+        {
+            widget = bet_form_scheduler_get_element_widget ( SCHEDULED_FORM_LIMIT_DATE );
+            gsb_form_widget_set_empty ( widget, FALSE );
+            gsb_calendar_entry_set_date ( widget, scheduled -> limit_date );
+            gtk_widget_set_sensitive ( widget, FALSE );
+        }
+
+        if ( scheduled -> user_entry > 0 )
+        {
+            widget = bet_form_scheduler_get_element_widget (
+                        SCHEDULED_FORM_FREQUENCY_USER_ENTRY );
+            gsb_form_widget_set_empty ( widget, FALSE );
+            gtk_entry_set_text ( GTK_ENTRY ( widget ),
+                        utils_str_itoa ( scheduled -> user_entry ) );
+            gtk_widget_set_sensitive ( widget, FALSE );
+
+            widget = bet_form_scheduler_get_element_widget (
+                    SCHEDULED_FORM_FREQUENCY_USER_BUTTON );
+            gsb_combo_box_set_index ( widget, scheduled -> user_interval );
+            gtk_widget_set_sensitive ( widget, FALSE );
+        }
+    }
+
+    /* On traite les données de transaction */
+    widget = bet_form_widget_get_widget ( TRANSACTION_FORM_DATE );
+    gsb_calendar_entry_set_date ( widget, scheduled -> date );
+    gsb_form_widget_set_empty ( widget, FALSE );
+
+    if ( scheduled -> fyear_number > 0 )
+    {
+        widget = bet_form_widget_get_widget ( TRANSACTION_FORM_EXERCICE );
+        gsb_fyear_set_combobox_history ( widget, scheduled -> fyear_number );
+    }
+
+    widget = bet_form_widget_get_widget ( TRANSACTION_FORM_PARTY );
+    gsb_form_widget_set_empty ( GTK_COMBOFIX ( widget ) -> entry, FALSE );
+    gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+                        gsb_data_payee_get_name ( scheduled -> party_number, FALSE ) );
+    gtk_editable_set_position ( GTK_EDITABLE ( GTK_COMBOFIX ( widget ) -> entry ), 0 );
+    
+    if ( scheduled -> amount.mantissa < 0 )
+    {
+        widget = bet_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
+        gtk_entry_set_text ( GTK_ENTRY ( widget ), gsb_real_get_string (
+                        gsb_real_opposite ( scheduled -> amount ) ) );
+    }
+    else
+    {
+        widget = bet_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
+        gtk_entry_set_text ( GTK_ENTRY ( widget ), gsb_real_get_string ( scheduled -> amount ) );
+    }
+    gsb_form_widget_set_empty ( widget, FALSE );
+
+    widget = bet_form_widget_get_widget ( TRANSACTION_FORM_TYPE );
+    gsb_payment_method_set_combobox_history ( widget, scheduled -> payment_number );
+
+    if ( scheduled -> category_number > 0 )
+    {
+        widget = bet_form_widget_get_widget ( TRANSACTION_FORM_CATEGORY );
+        gsb_form_widget_set_empty ( GTK_COMBOFIX ( widget ) -> entry, FALSE );
+        gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+                        gsb_data_category_get_name ( scheduled -> category_number,
+                        scheduled -> sub_category_number, NULL) );
+    }
+
+    if ( scheduled -> budgetary_number > 0 )
+    {
+        widget = bet_form_widget_get_widget ( TRANSACTION_FORM_BUDGET );
+        gsb_form_widget_set_empty ( GTK_COMBOFIX ( widget ) -> entry, FALSE );
+        gtk_combofix_set_text ( GTK_COMBOFIX ( widget ),
+                        gsb_data_budget_get_name (  scheduled -> budgetary_number,
+                        scheduled -> sub_budgetary_number, NULL ) );
+    }
+    
+    if ( scheduled -> notes && strlen ( scheduled -> notes ) > 0 )
+    {
+        widget = bet_form_widget_get_widget ( TRANSACTION_FORM_NOTES );
+        gsb_form_widget_set_empty ( widget, FALSE );
+        gtk_entry_set_text ( GTK_ENTRY ( widget ), scheduled -> notes );
+    }
+    
+    return TRUE;
+}
+
+
+/**
  * récupère les données du formulaire
  *
  *
  *
  * */
-gboolean bet_future_take_data_from_form ( GtkWidget *dialog,
-                        struct_futur_data *scheduled )
+gboolean bet_future_take_data_from_form (  struct_futur_data *scheduled )
 {
     GtkWidget *widget;
     gint budget_type;
@@ -1272,14 +1440,18 @@
     widget = bet_form_widget_get_widget ( TRANSACTION_FORM_DATE );
     if ( gsb_form_widget_check_empty( widget ) == FALSE )
     {
-        GDate *date_jour;
+        GDate *date_tomorrow;
 
-        date_jour = gdate_today ( ); 
+        date_tomorrow = gsb_date_tomorrow ( );
         scheduled -> date = gsb_calendar_entry_get_date ( widget );
         if ( scheduled -> date == NULL
          || 
-         g_date_compare ( date_jour, scheduled -> date ) > 0 )
+         g_date_compare ( scheduled -> date, date_tomorrow ) < 0 )
+        {
+            g_date_free ( date_tomorrow );
             return FALSE;
+        }
+        g_date_free ( date_tomorrow );
     }
     else
         return FALSE;
@@ -1349,8 +1521,6 @@
         scheduled -> notes = g_strdup ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) );
     else
         scheduled -> notes = NULL;
-
-    bet_data_future_add_lines ( scheduled );
     
     return TRUE;
 }
@@ -1433,6 +1603,64 @@
  *
  *
  * */
+gboolean bet_future_modify_line ( gint account_number,
+                        gint number,
+                        gint mother_row )
+{
+    gchar *tmp_str;
+    gint result;
+
+    if ( bet_dialog == NULL )
+    {
+        bet_future_create_dialog ( );
+    }
+    else
+    {
+        bet_form_clean ( gsb_gui_navigation_get_current_account ( ) );
+        gtk_widget_show ( bet_dialog );
+    }
+
+     /* init data */
+    bet_future_set_form_data_from_line ( account_number, number  );
+
+dialog_return:
+	result = gtk_dialog_run ( GTK_DIALOG ( bet_dialog ));
+
+    if ( result == GTK_RESPONSE_OK )
+    {
+        struct_futur_data *scheduled;
+
+        scheduled = struct_initialise_bet_future ( );
+
+        if ( !scheduled )
+        {
+            dialogue_error_memory ();
+            gtk_widget_hide ( bet_dialog );
+            return FALSE;
+        }
+
+        if ( bet_future_take_data_from_form ( scheduled ) == FALSE )
+        {
+            tmp_str = g_strdup ( _("Error: the frequency defined by the user or the amount is "
+                                 "not specified or the date is invalid.") );
+            dialogue_warning_hint ( tmp_str, _("One field is not filled in") );
+            g_free ( tmp_str );
+            goto dialog_return;
+        }
+        else
+        {
+            scheduled -> number = number;
+            scheduled -> mother_row = mother_row;
+            bet_data_future_modify_lines ( scheduled );
+        }
+
+        bet_array_refresh_estimate_tab ( );
+    }
+
+    gtk_widget_hide ( bet_dialog );
+
+    return FALSE;
+}
 /* Local Variables: */
 /* c-basic-offset: 4 */
 /* End: */

Index: tiers_onglet.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/tiers_onglet.c,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -d -r1.171 -r1.172
--- tiers_onglet.c	14 Feb 2010 17:48:50 -0000	1.171
+++ tiers_onglet.c	3 Apr 2010 19:57:42 -0000	1.172
@@ -1002,8 +1002,8 @@
                         etat.combofix_max_item );
     gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (entry),
                         etat.combofix_case_sensitive );
-    gtk_combofix_set_enter_function ( GTK_COMBOFIX (entry),
-					      FALSE );
+    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (entry),
+					      //~ FALSE );
     gtk_box_pack_start ( GTK_BOX(paddingbox), entry, FALSE, FALSE, 6 );
     g_object_set_data ( G_OBJECT (assistant), "payee", entry );
     paddingbox = new_paddingbox_with_title ( page, TRUE, _("Enter the new payee"));

Index: gsb_data_account.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_account.c,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- gsb_data_account.c	13 Mar 2010 21:06:58 -0000	1.100
+++ gsb_data_account.c	3 Apr 2010 19:57:41 -0000	1.101
@@ -120,7 +120,7 @@
     GDate *bet_start_date;  /* date de début */
     gint bet_spin_range;    /* echelle de la période 0 = mois 1 = années */
     gint bet_months;        /* nombre de mois ou d'années */
-    gint bet_hist_data;     /* origine des données catégories ou IB */
+    gint bet_hist_data;     /* origine des données 0 = catégories 1 = IB */
     gint bet_hist_fyear;    /* numéro d'exercice */
 } struct_account;
 
@@ -2948,7 +2948,7 @@
 
 
 /**
- * 
+ * return the historical source of the data
  *
  *
  * */

Index: gsb_file_save.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_file_save.c,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -d -r1.161 -r1.162
--- gsb_file_save.c	28 Mar 2010 14:40:29 -0000	1.161
+++ gsb_file_save.c	3 Apr 2010 19:57:41 -0000	1.162
@@ -687,7 +687,7 @@
 					   "\t\tCombofix_mixed_sort=\"%d\"\n"
 					   "\t\tCombofix_max_item=\"%d\"\n"
 					   "\t\tCombofix_case_sensitive=\"%d\"\n"
-					   "\t\tCombofix_enter_select_completion=\"%d\"\n"
+					   //~ "\t\tCombofix_enter_select_completion=\"%d\"\n"
 					   "\t\tCombofix_force_payee=\"%d\"\n"
 					   "\t\tCombofix_force_category=\"%d\"\n"
 					   "\t\tAutomatic_amount_separator=\"%d\"\n"
@@ -726,7 +726,7 @@
 	etat.combofix_mixed_sort,
 	etat.combofix_max_item,
 	etat.combofix_case_sensitive,
-	etat.combofix_enter_select_completion,
+	//~ etat.combofix_enter_select_completion,
 	etat.combofix_force_payee,
 	etat.combofix_force_category,
 	etat.automatic_separator,

Index: balance_estimate_tab.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/balance_estimate_tab.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- balance_estimate_tab.c	28 Mar 2010 14:40:28 -0000	1.58
+++ balance_estimate_tab.c	3 Apr 2010 19:57:41 -0000	1.59
@@ -85,6 +85,8 @@
                         GtkTreeSelection *tree_selection );
 static gboolean bet_array_list_button_press ( GtkWidget *tree_view,
                         GdkEventButton *ev );
+static void bet_array_list_change_menu ( GtkWidget *menu_item,
+                        GtkTreeSelection *tree_selection );
 static void bet_array_list_context_menu ( GtkWidget *tree_view );
 static void bet_array_list_delete_menu ( GtkWidget *menu_item,
                         GtkTreeSelection *tree_selection );
@@ -289,7 +291,6 @@
     GtkTreeIter iter;
     GtkTreeModel *tree_model;
     gchar *color_str = NULL;
-    gchar *str_date_init;
     gchar *str_date_min;
     gchar *str_date_max;
     gchar *str_current_balance;
@@ -319,29 +320,18 @@
 
     /* calculate date_min and date_max with user choice */
     date_min = gsb_data_account_get_bet_start_date ( account_nb );
-
-    date_init = gsb_date_copy ( date_min );
-    g_date_subtract_days ( date_init, 1 );
-
-    date_max = gsb_date_copy ( date_min );
-
-    if ( g_date_get_day ( date_min ) == 1 )
-    {
-        g_date_add_months (date_max, gsb_data_account_get_bet_months ( account_nb ) - 1 );
-        date_max = gsb_date_get_last_day_of_month ( date_max );
-    }
-    else
-    {
-        g_date_add_months (date_max, gsb_data_account_get_bet_months ( account_nb ) );
-        g_date_subtract_days ( date_max, 1 );
-    }
+    
+    date_max = bet_data_array_get_date_max ( account_nb );
 
     widget = g_object_get_data ( G_OBJECT ( notebook ), "initial_date");
     gsb_calendar_entry_set_date ( widget, date_min );
 
-    str_date_init = gsb_format_gdate ( date_init );
     str_date_min = gsb_format_gdate ( date_min );
 
+    /* sert à mettre en première ligne le solde de début de période */
+    date_init = gsb_date_copy ( date_min );
+    g_date_subtract_days ( date_init, 1 );
+
     g_value_init ( &date_value, G_TYPE_DATE );
     g_value_set_boxed ( &date_value, date_init );
 
@@ -399,7 +389,6 @@
                         -1);
 
     g_value_unset ( &date_value );
-    g_free ( str_date_init );
     g_free ( str_date_min );
     g_free ( str_date_max );
     g_free ( tmp_str );
@@ -424,9 +413,9 @@
                         date_min,
                         date_max );
 
-    g_free ( date_min );
-    g_free ( date_init );
-    g_free ( date_max );
+    g_date_free ( date_min );
+    g_date_free ( date_init );
+    g_date_free ( date_max );
 
     /* Calculate the balance column */
     tmp_range -> first_pass = TRUE;
@@ -1019,7 +1008,7 @@
     else
         str_credit = str_value;
 
-    while (date != NULL && g_date_valid ( date ) )
+    while ( date != NULL && g_date_valid ( date ) )
     {
         if ( g_date_compare ( date, date_max ) > 0 )
             break;
@@ -1085,13 +1074,6 @@
     GHashTable *future_list;
     GHashTableIter iter;
     gpointer key, value;
-    GtkTreeIter tab_iter;
-    GValue date_value = {0, };
-    gchar *str_date;
-    gchar *str_description;
-    gchar *str_debit = NULL;
-    gchar *str_credit = NULL;
-    gchar *str_amount;
     gint account_number;
 
     devel_debug (NULL);
@@ -1103,17 +1085,51 @@
     while ( g_hash_table_iter_next ( &iter, &key, &value ) )
     {
         struct_futur_data *scheduled = ( struct_futur_data *) value;
+        GtkTreeIter tab_iter;
+        GValue date_value = {0, };
+        gchar *str_debit = NULL;
+        gchar *str_credit = NULL;
+        gchar *str_date;
+        gchar *str_description;
+        gchar *str_amount;
+        GDate *date_tomorrow;
 
         if ( account_number != scheduled -> account_number )
             continue;
 
+        date_tomorrow = gsb_date_tomorrow ( );
+        if ( g_date_compare ( scheduled -> date, date_tomorrow ) < 0 )
+        {
+            bet_data_future_remove_line ( account_number, scheduled -> number );
+            g_date_free ( date_tomorrow );
+            continue;
+        }
+        else
+            g_date_free ( date_tomorrow );
+
+        if ( g_date_compare ( scheduled -> date, date_max ) > 0 )
+            continue;
+        if ( g_date_compare ( scheduled -> date, date_min ) < 0 )
+            continue;
+
         str_description = g_strdup ( scheduled -> notes );
 
         if ( !str_description || !strlen ( str_description ) )
             str_description = g_strdup ( gsb_data_payee_get_name (
-                            scheduled -> party_number, FALSE ) );
+                        scheduled -> party_number, FALSE ) );
+
+            if ( !str_description || !strlen ( str_description ) )
+            {
+                if ( gsb_data_account_get_bet_hist_data ( scheduled -> account_number ) == 0 )
+                    str_description = g_strdup ( gsb_data_category_get_name ( scheduled -> category_number,
+                                    scheduled -> sub_category_number, NULL) );
+                else
+                    str_description = g_strdup ( gsb_data_budget_get_name (  scheduled -> budgetary_number,
+                                     scheduled -> sub_budgetary_number, NULL ) );
+            }
 
         str_amount = gsb_real_save_real_to_string ( scheduled -> amount, 2 );
+
         if ( scheduled -> amount.mantissa < 0 )
             str_debit = gsb_real_get_string_with_currency ( gsb_real_opposite (
                             scheduled -> amount ),
@@ -1122,11 +1138,6 @@
             str_credit = gsb_real_get_string_with_currency ( scheduled -> amount,
                             bet_data_get_selected_currency ( ), TRUE );;
 
-        if ( g_date_compare ( scheduled -> date, date_max ) > 0 )
-            break;
-        if ( g_date_compare ( scheduled -> date, date_min ) < 0 )
-            break;
-
         str_date = gsb_format_gdate ( scheduled -> date );
 
         g_value_init ( &date_value, G_TYPE_DATE );
@@ -1157,6 +1168,7 @@
         if ( str_credit )
             g_free ( str_credit );
     }
+
     return FALSE;
 }
 
@@ -1239,22 +1251,19 @@
 
     gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
 
-    if ( g_date_compare ( date, date_jour ) > 0 )
-    {
-        /* Separator */
-        gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), gtk_separator_menu_item_new ( ) );
-        gtk_widget_show ( menu_item );
+    /* Separator */
+    gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), gtk_separator_menu_item_new ( ) );
+    gtk_widget_show ( menu_item );
 
-        menu_item = gtk_image_menu_item_new_with_label ( _("Insert Row") );
-        gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
-                        gtk_image_new_from_stock ( GTK_STOCK_ADD,
-						GTK_ICON_SIZE_MENU ) );
-        g_signal_connect ( G_OBJECT ( menu_item ),
-                        "activate",
-                        G_CALLBACK ( bet_array_list_insert_menu ),
-                        tree_selection );
-        gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
-    }
+    menu_item = gtk_image_menu_item_new_with_label ( _("Insert Row") );
+    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
+                    gtk_image_new_from_stock ( GTK_STOCK_ADD,
+                    GTK_ICON_SIZE_MENU ) );
+    g_signal_connect ( G_OBJECT ( menu_item ),
+                    "activate",
+                    G_CALLBACK ( bet_array_list_insert_menu ),
+                    tree_selection );
+    gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
 
     /* Delete item */
     switch ( origine )
@@ -1286,6 +1295,16 @@
             gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
             break;
         case SPP_ORIGIN_FUTURE:
+            menu_item = gtk_image_menu_item_new_with_label ( _("Change selection") );
+            gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
+                        gtk_image_new_from_stock ( GTK_STOCK_EDIT,
+						GTK_ICON_SIZE_MENU ) );
+            g_signal_connect ( G_OBJECT ( menu_item ),
+                        "activate",
+                        G_CALLBACK ( bet_array_list_change_menu ),
+                        tree_selection );
+            gtk_menu_shell_append ( GTK_MENU_SHELL ( menu ), menu_item );
+
             menu_item = gtk_image_menu_item_new_with_label ( _("Delete selection") );
             gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ),
                         gtk_image_new_from_stock ( GTK_STOCK_DELETE,
@@ -1359,6 +1378,30 @@
 }
 
 
+void bet_array_list_change_menu ( GtkWidget *menu_item,
+                        GtkTreeSelection *tree_selection )
+{
+    GtkTreeModel *model;
+    GtkTreeIter iter;
+    gint origine;
+    gint number;
+    gint mother_row;
+
+    if ( !gtk_tree_selection_get_selected ( GTK_TREE_SELECTION ( tree_selection ),
+     &model, &iter ) )
+        return;
+
+    gtk_tree_model_get ( GTK_TREE_MODEL ( model ), &iter,
+                        SPP_ESTIMATE_TREE_ORIGIN_DATA, &origine,
+                        SPP_ESTIMATE_TREE_DIVISION_COLUMN, &number,
+                        SPP_ESTIMATE_TREE_SUB_DIV_COLUMN, &mother_row,
+                        -1 );
+
+    if ( origine == SPP_ORIGIN_FUTURE )
+        bet_future_modify_line ( gsb_gui_navigation_get_current_account ( ), number, mother_row );
+}
+
+
 /**
  * delete a row
  *
@@ -1369,8 +1412,7 @@
 void bet_array_list_delete_menu ( GtkWidget *menu_item,
                         GtkTreeSelection *tree_selection )
 {
-    GtkWidget *tree_view;
-    GtkWidget *notebook;
+    GtkTreeView *tree_view;
     GtkTreeModel *model;
     GtkTreeIter iter;
     gint origine;
@@ -1385,12 +1427,11 @@
                         SPP_ESTIMATE_TREE_DIVISION_COLUMN, &number,
                         -1 );
 
-    notebook = g_object_get_data ( G_OBJECT ( notebook_general ), "account_notebook");
-    tree_view = g_object_get_data ( G_OBJECT ( notebook), "bet_estimate_treeview");
     gtk_tree_store_remove ( GTK_TREE_STORE ( model ), &iter );
     if ( origine == SPP_ORIGIN_FUTURE )
         bet_data_future_remove_line ( gsb_gui_navigation_get_current_account ( ), number );
-    bet_array_list_set_background_color ( tree_view );
+    tree_view = gtk_tree_selection_get_tree_view ( tree_selection );
+    bet_array_list_set_background_color ( GTK_WIDGET ( tree_view ) );
     bet_array_list_update_balance ( model );
 }
 
@@ -1439,8 +1480,7 @@
 void bet_array_list_insert_menu ( GtkWidget *menu_item,
                         GtkTreeSelection *tree_selection )
 {
-    GtkWidget *tree_view;
-    GtkWidget *notebook;
+    GtkTreeView *tree_view;
     GtkTreeModel *model;
     GtkTreeIter iter;
     gchar *str_date;
@@ -1453,10 +1493,9 @@
                         SPP_ESTIMATE_TREE_DATE_COLUMN, &str_date,
                         -1 );
 
-    notebook = g_object_get_data ( G_OBJECT ( notebook_general ), "account_notebook");
-    tree_view = g_object_get_data ( G_OBJECT ( notebook), "bet_estimate_treeview");
     bet_future_new_line_dialog ( model, str_date );
-    bet_array_list_set_background_color ( tree_view );
+    tree_view = gtk_tree_selection_get_tree_view ( tree_selection );
+    bet_array_list_set_background_color ( GTK_WIDGET ( tree_view ) );
     bet_array_list_update_balance ( model );
 }
 
@@ -1862,16 +1901,10 @@
  * */
 void bet_array_list_traite_double_click ( GtkTreeView *tree_view )
 {
-//~ printf ("bet_array_list_traite_double_click\n");
     GtkTreeSelection *selection;
-    GtkTreeModel *model;
-    GtkTreeIter iter;
 
     selection = gtk_tree_view_get_selection ( tree_view );
-    if ( selection && !gtk_tree_selection_get_selected ( selection, &model, &iter ) )
-        return;
-
-    
+    bet_array_list_change_menu ( NULL, selection );
 }
 
 

Index: gsb_data_payee.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_payee.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- gsb_data_payee.c	14 Feb 2010 17:48:50 -0000	1.51
+++ gsb_data_payee.c	3 Apr 2010 19:57:41 -0000	1.52
@@ -455,13 +455,12 @@
 
     while ( tmp_list )
     {
-	struct_payee *payee;
+        struct_payee *payee;
 
-	payee = tmp_list -> data;
+        payee = tmp_list -> data;
 
-	return_list = g_slist_append ( return_list,
-				       payee -> payee_name );
-	tmp_list = tmp_list -> next;
+        return_list = g_slist_insert_sorted ( return_list, payee -> payee_name, (GCompareFunc) g_utf8_collate );
+        tmp_list = tmp_list -> next;
     }
     return return_list;
 }

Index: gsb_assistant_archive.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_assistant_archive.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- gsb_assistant_archive.c	9 Jan 2010 20:57:38 -0000	1.43
+++ gsb_assistant_archive.c	3 Apr 2010 19:57:41 -0000	1.44
@@ -799,7 +799,6 @@
     /* ok for now the choice is on initial/final date */
     if ( gtk_notebook_get_current_page (GTK_NOTEBOOK(notebook)) == ARCHIVE_ASSISTANT_MENU )
     {
-        printf ("current_page = ARCHIVE_ASSISTANT_MENU\n");
         if ( GTK_WIDGET_IS_SENSITIVE (initial_date) )
         {
             GDate *init_gdate;
@@ -871,9 +870,7 @@
 
                 tmp_list = tmp_list -> next;
             }
-            printf ("nbre de transactions dans l'archive = %d\n",
-                        g_slist_length ( list_transaction_to_archive ) );
-        }
+            }
 
         /* ok for now the choice is on fyear */
         else if (  GTK_WIDGET_IS_SENSITIVE ( financial_year_button ) )

Index: balance_estimate_data.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/balance_estimate_data.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- balance_estimate_data.h	28 Mar 2010 14:40:28 -0000	1.11
+++ balance_estimate_data.h	3 Apr 2010 19:57:41 -0000	1.12
@@ -67,10 +67,12 @@
 
 
 /* START_DECLARATION */
+GDate *bet_data_array_get_date_max ( gint account_number );
 GHashTable *bet_data_future_get_list ( void );
 gboolean bet_data_future_add_lines ( struct_futur_data *sfd );
 GDate *bet_data_futur_get_next_date ( struct_futur_data *scheduled,
 				     const GDate *date );
+gboolean bet_data_future_modify_lines ( struct_futur_data *scheduled );
 gboolean bet_data_future_remove_line ( gint account_number, gint number );
 gboolean bet_data_future_remove_lines ( gint account_number,
                         gint number,

Index: import.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/import.c,v
retrieving revision 1.327
retrieving revision 1.328
diff -u -d -r1.327 -r1.328
--- import.c	23 Mar 2010 22:15:21 -0000	1.327
+++ import.c	3 Apr 2010 19:57:42 -0000	1.328
@@ -3715,8 +3715,8 @@
                         etat.combofix_max_item );
     gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (entry),
                         etat.combofix_case_sensitive );
-    gtk_combofix_set_enter_function ( GTK_COMBOFIX (entry),
-                        FALSE );
+    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (entry),
+                        //~ FALSE );
     gtk_table_attach ( GTK_TABLE ( table ), entry, 1, 2, 0, 1,
                         GTK_EXPAND|GTK_FILL, 0, 0, 0 );
     g_object_set_data ( G_OBJECT (vbox_main), "payee", entry );

Index: gsb_file_load.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_file_load.c,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -d -r1.215 -r1.216
--- gsb_file_load.c	28 Mar 2010 14:40:28 -0000	1.215
+++ gsb_file_load.c	3 Apr 2010 19:57:41 -0000	1.216
@@ -967,11 +967,11 @@
         etat.combofix_case_sensitive = utils_str_atoi( attribute_values[i]);
     }
 
-    else if ( !strcmp ( attribute_names[i],
-                        "Combofix_enter_select_completion" ))
-    {
-        etat.combofix_enter_select_completion = utils_str_atoi( attribute_values[i]);
-    }
+    //~ else if ( !strcmp ( attribute_names[i],
+                        //~ "Combofix_enter_select_completion" ))
+    //~ {
+        //~ etat.combofix_enter_select_completion = utils_str_atoi( attribute_values[i]);
+    //~ }
 
     else if ( !strcmp ( attribute_names[i],
                         "Combofix_force_payee" ))

Index: gsb_data_payment.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_payment.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- gsb_data_payment.h	16 Mar 2010 11:48:43 -0000	1.7
+++ gsb_data_payment.h	3 Apr 2010 19:57:41 -0000	1.8
@@ -31,6 +31,8 @@
 gboolean gsb_data_payment_init_variables ( void );
 gint gsb_data_payment_new ( const gchar *name );
 gboolean gsb_data_payment_remove ( gint payment_number );
+gint gsb_data_payment_search_number_other_account_by_name ( gint payment_number,
+                                gint account_number );
 gboolean gsb_data_payment_set_account_number ( gint payment_number,
 					       gint account_number );
 gboolean gsb_data_payment_set_automatic_numbering ( gint payment_number,

Index: balance_estimate_data.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/balance_estimate_data.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- balance_estimate_data.c	28 Mar 2010 14:40:28 -0000	1.17
+++ balance_estimate_data.c	3 Apr 2010 19:57:41 -0000	1.18
@@ -846,7 +846,7 @@
 {
 	SBR	*sbr;
 	
-	sbr = g_malloc ( sizeof ( SBR ) );
+	sbr = g_malloc0 ( sizeof ( SBR ) );
     sbr -> first_pass = TRUE;
     sbr -> min_date = NULL;
     sbr -> max_date = NULL;
@@ -885,7 +885,7 @@
 {
 	SH	*sh;
 
-	sh = g_malloc ( sizeof ( SH ) );
+	sh = g_malloc0 ( sizeof ( SH ) );
     sh -> sbr = struct_initialise_bet_range ( );
     sh -> list_sub_div = g_hash_table_new_full ( g_str_hash,
                         g_str_equal,
@@ -923,7 +923,7 @@
 {
     struct_hist_div *shd;
 
-    shd = g_malloc ( sizeof ( struct_hist_div ) );
+    shd = g_malloc0 ( sizeof ( struct_hist_div ) );
     shd -> account_nb = 0;
     shd -> div_number = 0;
     shd -> div_edited = FALSE;
@@ -1007,7 +1007,7 @@
 {
     struct_futur_data *sfd;
 
-    sfd = g_malloc ( sizeof ( struct_futur_data ) );
+    sfd = g_malloc0 ( sizeof ( struct_futur_data ) );
 
     sfd -> date = NULL;
     sfd -> amount = null_real;
@@ -1051,9 +1051,6 @@
 
     if ( scheduled -> frequency == 0 )
     {
-        //~ if ( ( old_sch = g_hash_table_lookup ( bet_future_list, key ) ) )
-            //~ g_hash_table_replace ( bet_future_list, key, scheduled );
-        //~ else
         if ( scheduled -> account_number == 0 )
             key = g_strconcat ("0:", utils_str_itoa ( future_number ), NULL );
         else
@@ -1066,14 +1063,16 @@
     else
     {
         GDate *date;
+        GDate *date_max;
         gint mother_row;
         struct_futur_data *new_sch = NULL;
 
         mother_row = future_number;
 
+        date_max = bet_data_array_get_date_max ( scheduled -> account_number );
         /* we don't change the initial date */
         date = gsb_date_copy ( scheduled -> date );
-        while ( date != NULL && g_date_valid ( date ) )
+        while ( date != NULL && g_date_valid ( date ) && g_date_compare ( date, date_max ) <= 0 )
         {
             if ( scheduled -> account_number == 0 )
                 key = g_strconcat ("0:", utils_str_itoa ( future_number ), NULL );
@@ -1096,6 +1095,7 @@
             new_sch = bet_data_future_copy_struct ( scheduled );
             new_sch -> date = date;
         }
+        g_date_free ( date_max );
     }
 
     if ( etat.modification_fichier == 0 )
@@ -1260,14 +1260,17 @@
 
     new_sch ->  number = scheduled -> number;
     new_sch ->  account_number = scheduled -> account_number;
+
     if ( g_date_valid ( scheduled -> date ) )
         new_sch -> date = gsb_date_copy ( scheduled -> date );
     else
         new_sch -> date = NULL;
+
     new_sch -> amount = gsb_real_new ( scheduled -> amount.mantissa,
                         scheduled -> amount.exponent );
     new_sch -> fyear_number = scheduled -> fyear_number;
     new_sch -> payment_number = scheduled -> payment_number;
+
     new_sch -> party_number = scheduled -> party_number;
     new_sch -> category_number = scheduled -> category_number;
     new_sch -> sub_category_number = scheduled -> sub_category_number;
@@ -1278,7 +1281,8 @@
     new_sch -> frequency = scheduled -> frequency;
     new_sch -> user_interval = scheduled -> user_interval;
     new_sch -> user_entry = scheduled -> user_entry;
-    if ( g_date_valid ( scheduled -> limit_date ) )
+
+    if ( scheduled -> limit_date && g_date_valid ( scheduled -> limit_date ) )
         new_sch -> limit_date = gsb_date_copy ( scheduled -> limit_date );
     else
         new_sch -> limit_date = NULL;
@@ -1359,11 +1363,71 @@
 
 
 /**
+ * retourne la date max d'interrogation pour les prévisions
+ *
  *
  *
+ * */
+GDate *bet_data_array_get_date_max ( gint account_number )
+{
+    GDate *date_min;
+    GDate *date_max;
+
+    date_min = gsb_data_account_get_bet_start_date ( account_number );
+
+    date_max = gsb_date_copy ( date_min );
+
+    if ( g_date_get_day ( date_min ) == 1 )
+    {
+        g_date_add_months (date_max, gsb_data_account_get_bet_months ( account_number ) - 1 );
+        date_max = gsb_date_get_last_day_of_month ( date_max );
+    }
+    else
+    {
+        g_date_add_months (date_max, gsb_data_account_get_bet_months ( account_number ) );
+        g_date_subtract_days ( date_max, 1 );
+    }
+
+    return date_max;
+}
+
+
+/**
+ * modify futures data lines 
+ *
  *
  *
  * */
+gboolean bet_data_future_modify_lines ( struct_futur_data *scheduled )
+{
+    GHashTableIter iter;
+    gpointer key, value;
+
+    g_hash_table_iter_init ( &iter, bet_future_list );
+    while ( g_hash_table_iter_next ( &iter, &key, &value ) )
+    {
+        struct_futur_data *sch = ( struct_futur_data *) value;
+
+        if ( scheduled -> number == sch -> number )
+        {
+            if ( scheduled -> account_number == 0 )
+                key = g_strconcat ("0:", utils_str_itoa ( scheduled -> number ), NULL );
+            else
+                key = g_strconcat ( utils_str_itoa ( scheduled -> account_number ), ":",
+                                utils_str_itoa ( scheduled -> number ), NULL );
+
+            g_hash_table_replace ( bet_future_list, key, scheduled );
+        }
+    }
+
+    if ( etat.modification_fichier == 0 )
+        modification_fichier ( TRUE );
+
+    return TRUE;
+}
+
+
+
 /* Local Variables: */
 /* c-basic-offset: 4 */
 /* End: */

Index: main.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/main.c,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -d -r1.169 -r1.170
--- main.c	15 Mar 2010 20:29:47 -0000	1.169
+++ main.c	3 Apr 2010 19:57:42 -0000	1.170
@@ -110,8 +110,10 @@
     gboolean first_use = FALSE;
     gchar *string;
     gchar *path;
-	struct lconv *conv;
     cmdline_options  opt;
+#ifdef IS_DEVELOPMENT_VERSION
+	struct lconv *conv;
+#endif
 
 #ifndef _WIN32
     struct sigaction sig_sev;
@@ -191,7 +193,7 @@
     register_import_formats ();
 
 #ifdef IS_DEVELOPMENT_VERSION
-    /* test locale pour les nombres */
+    /* test local pour les nombres */
 	conv = localeconv();
     
     printf ("currency_symbol = %s\n"

Index: gtk_combofix.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gtk_combofix.c,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- gtk_combofix.c	23 Mar 2010 22:15:21 -0000	1.73
+++ gtk_combofix.c	3 Apr 2010 19:57:42 -0000	1.74
@@ -97,6 +97,7 @@
     COMBOFIX_COL_VISIBLE,
     COMBOFIX_COL_LIST_NUMBER,
     COMBOFIX_COL_SEPARATOR,
+    COMBOFIX_N_COLUMNS,
 };
 
 enum combofix_key_direction {
@@ -523,7 +524,7 @@
      * COMBOFIX_COL_LIST_NUMBER (a int) : the number of the list for a complex combofix (0 else)
      * COMBOFIX_COL_SEPARATOR (a boolean) : TRUE for a separator
      * */
-    combofix -> store = gtk_tree_store_new ( 5,
+    combofix -> store = gtk_tree_store_new ( COMBOFIX_N_COLUMNS,
                          G_TYPE_STRING,
                          G_TYPE_STRING,
                          G_TYPE_BOOLEAN,

Index: gsb_form_widget.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_form_widget.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- gsb_form_widget.c	23 Mar 2010 22:15:21 -0000	1.51
+++ gsb_form_widget.c	3 Apr 2010 19:57:41 -0000	1.52
@@ -75,8 +75,8 @@
 
 static gchar *old_debit = NULL;
 static gchar *old_credit = NULL;
-static gint old_credit_payement_number = 0;
-static gint old_debit_payement_number = 0;
+static gint old_credit_payment_number = 0;
+static gint old_debit_payment_number = 0;
 
 /**
  * return the list wich contains the widgets of the form
@@ -219,8 +219,8 @@
 					 etat.combofix_max_item );
 	    gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (widget),
 					      etat.combofix_case_sensitive );
-	    gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
-					      etat.combofix_enter_select_completion );
+	    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
+					      //~ etat.combofix_enter_select_completion );
 	    /* we never mix the payee because the only case of the complex combofix is
 	     * for the report and there is non sense to mix report with the payee */
 	    gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (widget),
@@ -236,8 +236,8 @@
 					 etat.combofix_max_item );
 	    gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (widget),
 					      etat.combofix_case_sensitive );
-	    gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
-					      etat.combofix_enter_select_completion );
+	    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
+					      //~ etat.combofix_enter_select_completion );
 	    gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (widget),
 					  etat.combofix_mixed_sort );
 	    break;
@@ -255,8 +255,8 @@
 					 etat.combofix_max_item );
 	    gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (widget),
 					      etat.combofix_case_sensitive );
-	    gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
-					      etat.combofix_enter_select_completion );
+	    //~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (widget),
+					      //~ etat.combofix_enter_select_completion );
 	    gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (widget),
 					  etat.combofix_mixed_sort );
 	    break;
@@ -810,7 +810,7 @@
             /* change the signe of the method of payment and the contra */
             if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_CREDIT )
             {
-                old_credit_payement_number = gsb_payment_method_get_selected_number (
+                old_credit_payment_number = gsb_payment_method_get_selected_number (
                         widget );
 
                 gsb_payment_method_create_combo_list ( widget,
@@ -853,7 +853,7 @@
             /* change the signe of the method of payment and the contra */
             if ( gsb_payment_method_get_combo_sign (widget) == GSB_PAYMENT_DEBIT)
             {
-                old_debit_payement_number = gsb_payment_method_get_selected_number (
+                old_debit_payment_number = gsb_payment_method_get_selected_number (
                         widget );
 
                 gsb_payment_method_create_combo_list ( widget,
@@ -1066,9 +1066,9 @@
  *
  *
  * */
-gint gsb_form_widget_get_old_credit_payement ( void )
+gint gsb_form_widget_get_old_credit_payment ( void )
 {
-    return old_credit_payement_number;
+    return old_credit_payment_number;
 }
 
 
@@ -1078,7 +1078,7 @@
  *
  *
  * */
-gint gsb_form_widget_get_old_debit_payement ( void )
+gint gsb_form_widget_get_old_debit_payment ( void )
 {
-    return old_debit_payement_number;
+    return old_debit_payment_number;
 }

Index: gsb_form_transaction.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_form_transaction.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- gsb_form_transaction.c	30 Jan 2010 17:04:12 -0000	1.55
+++ gsb_form_transaction.c	3 Apr 2010 19:57:41 -0000	1.56
@@ -103,14 +103,18 @@
              &&
              element -> element_number != TRANSACTION_FORM_PARTY
              &&
-              ((GTK_IS_ENTRY (element -> element_widget)
+             element -> element_number != TRANSACTION_FORM_CHEQUE
+             &&
+              ( ( GTK_IS_ENTRY ( element -> element_widget )
                 &&
-                !gsb_form_widget_check_empty(element -> element_widget))
+                !gsb_form_widget_check_empty ( element -> element_widget ) )
                ||
                (GTK_IS_COMBOFIX (element -> element_widget)
                 &&
-                !gsb_form_widget_check_empty(GTK_COMBOFIX (element -> element_widget) -> entry))))
+                !gsb_form_widget_check_empty ( GTK_COMBOFIX (
+                element -> element_widget ) -> entry ) ) ) )
             return TRUE;
+
         tmp_list = tmp_list -> next;
     }
 
@@ -192,7 +196,14 @@
 
         if ( GTK_WIDGET_VISIBLE (widget))
         {
+            gint tmp_account;
+
             number = gsb_data_mix_get_method_of_payment_number (transaction_number, TRUE);
+            tmp_account = gsb_data_transaction_get_account_number ( transaction_number );
+
+            if ( account_number != tmp_account )
+                number = gsb_data_payment_search_number_other_account_by_name ( number,
+                                account_number );
 
             /* we show the cheque entry only for transactions */
             if (gsb_payment_method_set_combobox_history ( widget, number )

Index: affichage_liste.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/affichage_liste.c,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -d -r1.120 -r1.121
--- affichage_liste.c	8 Mar 2010 21:30:00 -0000	1.120
+++ affichage_liste.c	3 Apr 2010 19:57:41 -0000	1.121
@@ -596,8 +596,8 @@
 				     etat.combofix_max_item );
 	gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (combofix),
 					  etat.combofix_case_sensitive );
-	gtk_combofix_set_enter_function ( GTK_COMBOFIX (combofix),
-					  etat.combofix_enter_select_completion );
+	//~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (combofix),
+					  //~ etat.combofix_enter_select_completion );
     }
 
     combofix = gsb_form_widget_get_widget ( TRANSACTION_FORM_CATEGORY );
@@ -609,8 +609,8 @@
 				     etat.combofix_max_item );
 	gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (combofix),
 					  etat.combofix_case_sensitive );
-	gtk_combofix_set_enter_function ( GTK_COMBOFIX (combofix),
-					  etat.combofix_enter_select_completion );
+	//~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (combofix),
+					  //~ etat.combofix_enter_select_completion );
 	gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (combofix),
 				      etat.combofix_mixed_sort );
     }
@@ -624,8 +624,8 @@
 				     etat.combofix_max_item );
 	gtk_combofix_set_case_sensitive ( GTK_COMBOFIX (combofix),
 					  etat.combofix_case_sensitive );
-	gtk_combofix_set_enter_function ( GTK_COMBOFIX (combofix),
-					  etat.combofix_enter_select_completion );
+	//~ gtk_combofix_set_enter_function ( GTK_COMBOFIX (combofix),
+					  //~ etat.combofix_enter_select_completion );
 	gtk_combofix_set_mixed_sort ( GTK_COMBOFIX (combofix),
 				      etat.combofix_mixed_sort );
     }

Index: gsb_transactions_list.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_transactions_list.c,v
retrieving revision 1.204
retrieving revision 1.205
diff -u -d -r1.204 -r1.205
--- gsb_transactions_list.c	23 Mar 2010 22:15:21 -0000	1.204
+++ gsb_transactions_list.c	3 Apr 2010 19:57:41 -0000	1.205
@@ -405,8 +405,13 @@
 					     alignment[i] );
 
 	/* automatic and resizeable sizing */
-	gtk_tree_view_column_set_sizing ( transactions_tree_view_columns[i],
+    if ( i == column_balance )
+        gtk_tree_view_column_set_sizing ( transactions_tree_view_columns[i],
+					    GTK_TREE_VIEW_COLUMN_AUTOSIZE );
+    else
+	    gtk_tree_view_column_set_sizing ( transactions_tree_view_columns[i],
 					    GTK_TREE_VIEW_COLUMN_FIXED );
+
 	gtk_tree_view_column_set_resizable ( transactions_tree_view_columns[i],
 					    TRUE );
     }

Index: gsb_form.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_form.c,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -d -r1.155 -r1.156
--- gsb_form.c	28 Mar 2010 14:40:29 -0000	1.155
+++ gsb_form.c	3 Apr 2010 19:57:41 -0000	1.156
@@ -1500,7 +1500,7 @@
     GtkWidget *widget;
     gint account_number;
     gint transaction_number;
-    gint payement_number;
+    gint payment_number;
 
     /* still not found, if change the content of the form, something come in entry
      * wich is nothing, so protect here */
@@ -1604,15 +1604,15 @@
                     if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_DEBIT )
                     {
                     if ( transaction_number == -1 )
-                        payement_number =  gsb_form_widget_get_old_credit_payement ( );
+                        payment_number =  gsb_form_widget_get_old_credit_payment ( );
                     else
-                        payement_number = gsb_data_transaction_get_method_of_payment_number (
+                        payment_number = gsb_data_transaction_get_method_of_payment_number (
                         transaction_number );
 
                     gsb_payment_method_create_combo_list ( widget,
                                             GSB_PAYMENT_CREDIT,
                                             account_number, 0 );
-                    gsb_payment_method_set_payment_position ( widget, payement_number );
+                    gsb_payment_method_set_payment_position ( widget, payment_number );
 
                     /* if there is no payment method, the last function hide it, but we have
                      * to hide the cheque element too */
@@ -1694,15 +1694,15 @@
                     if ( gsb_payment_method_get_combo_sign ( widget ) == GSB_PAYMENT_CREDIT )
                     {
                     if ( transaction_number == -1 )
-                        payement_number =  gsb_form_widget_get_old_debit_payement ( );
+                        payment_number =  gsb_form_widget_get_old_debit_payment ( );
                     else
-                        payement_number = gsb_data_transaction_get_method_of_payment_number (
+                        payment_number = gsb_data_transaction_get_method_of_payment_number (
                         transaction_number );
 
                     gsb_payment_method_create_combo_list ( widget,
                                             GSB_PAYMENT_DEBIT,
                                             account_number, 0 );
-                    gsb_payment_method_set_payment_position ( widget, payement_number );
+                    gsb_payment_method_set_payment_position ( widget, payment_number );
                     
                     /* if there is no payment method, the last function hide it, but we have
                      * to hide the cheque element too */
@@ -2181,8 +2181,12 @@
 	    }
 	    else
 	    {
-		gsb_form_finish_edition();
-		return TRUE;
+            widget_prov = gsb_form_widget_get_widget ( TRANSACTION_FORM_PARTY );
+            
+            gsb_form_transaction_complete_form_by_payee ( gtk_combofix_get_text (
+                        GTK_COMBOFIX ( widget_prov ) ) ); 
+            gsb_form_finish_edition();
+            return TRUE;
 	    }
 	    break;
 
@@ -2709,11 +2713,32 @@
 	return (FALSE);
     }
 
+    /* check if it's a daughter split */
+    mother_number = gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction);
+
+    /* check if debit or credit is > 0 */
+    widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_DEBIT );
+
+    if ( widget && mother_number )
+    {
+	    if ( gsb_form_widget_check_empty ( widget ) == TRUE
+         ||
+         utils_str_atoi ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) ) == 0 )
+        {
+            widget = gsb_form_widget_get_widget ( TRANSACTION_FORM_CREDIT );
+
+            if ( gsb_form_widget_check_empty ( widget ) == TRUE
+             ||
+             utils_str_atoi ( gtk_entry_get_text ( GTK_ENTRY ( widget ) ) ) == 0 )
+                dialogue_error ( _("You must enter an amount.") );
+
+            return (FALSE);
+        }
+    }
+    
     /* now work with the categories */
     widget = gsb_form_widget_get_widget (TRANSACTION_FORM_CATEGORY);
 
-    mother_number = gsb_data_mix_get_mother_transaction_number (transaction_number, is_transaction);
-
     /* check if it's a daughter split that the category is not a split of transaction */
     if ( widget
 	 &&
@@ -2724,7 +2749,8 @@
 	 !strcmp ( gtk_combofix_get_text (GTK_COMBOFIX (widget)),
 		   _("Split of transaction")))
     {
-	dialogue_error ( _("You cannot set split of transaction in category for a daughter of a split of transaction.") );
+	dialogue_error ( _("You cannot set split of transaction in category for a daughter "
+                        "of a split of transaction.") );
 	return (FALSE);
     }
 

Index: utils_dates.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/utils_dates.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- utils_dates.h	9 Jan 2010 20:57:38 -0000	1.23
+++ utils_dates.h	3 Apr 2010 19:57:42 -0000	1.24
@@ -21,5 +21,6 @@
 GDate *gsb_parse_date_string ( const gchar *date_string );
 GDate *gsb_parse_date_string_safe ( const gchar *date_string );
 GDate *gsb_date_get_last_day_of_month ( const GDate *date );
+GDate *gsb_date_tomorrow ( void );
 /* END_DECLARATION */
 #endif

Index: gsb_form_widget.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_form_widget.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- gsb_form_widget.h	23 Mar 2010 22:15:21 -0000	1.8
+++ gsb_form_widget.h	3 Apr 2010 19:57:41 -0000	1.9
@@ -30,8 +30,8 @@
 gchar *gsb_form_widget_get_name ( gint element_number );
 gchar *gsb_form_widget_get_old_credit ( void );
 gchar *gsb_form_widget_get_old_debit ( void );
-gint gsb_form_widget_get_old_credit_payement ( void );
-gint gsb_form_widget_get_old_debit_payement ( void );
+gint gsb_form_widget_get_old_credit_payment ( void );
+gint gsb_form_widget_get_old_debit_payment ( void );
 GtkWidget *gsb_form_widget_get_widget ( gint element_number );
 gint gsb_form_widget_next_element ( gint account_number,
                         gint element_number,



More information about the cvs mailing list