[grisbi-cvs] grisbi/src accueil.c, 1.209, 1.210 fenetre_principale.c, 1.119, 1.120 gsb_data_partial_balance.c, 1.4, 1.5 gsb_file_config.c, 1.82, 1.83 gsb_file_load.c, 1.188, 1.189 main.c, 1.148, 1.149 parametres.c, 1.202, 1.203 structures.h, 1.231, 1.232

Pierre Biava pbiava at users.sourceforge.net
Mon Aug 24 22:19:49 CEST 2009


Update of /cvsroot/grisbi/grisbi/src
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv717/src

Modified Files:
	accueil.c fenetre_principale.c gsb_data_partial_balance.c 
	gsb_file_config.c gsb_file_load.c main.c parametres.c 
	structures.h 
Log Message:
Changes in management of partial balances and various improvements 

Index: structures.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/structures.h,v
retrieving revision 1.231
retrieving revision 1.232
diff -u -d -r1.231 -r1.232
--- structures.h	23 Aug 2009 16:45:05 -0000	1.231
+++ structures.h	24 Aug 2009 20:19:47 -0000	1.232
@@ -38,7 +38,6 @@
     time_t modification_fichier;
     gint is_archive;                /** TRUE if the file is an archive, FALSE else */
     gint equilibrage;
-    gint r_modifiable;
 
     /* files and backup part */
     gint dernier_fichier_auto;
@@ -67,7 +66,6 @@
     gint crypt_file;        /* TRUE if we want to crypt the file */
     gint compress_file;     /* TRUE if we want to compress the grisbi file */
     gint compress_backup;   /* TRUE if we want to compress the backup */
-    gint full_screen;       /* 1 to full screen, 0 else */
 
     /* archive stuff */
     gint check_for_archival; /* TRUE if we want to check the number of non archived transactions at the opening */
@@ -122,7 +120,6 @@
     struct print_config print_config;
     
     /*     largeur des panned */
-    gint largeur_colonne_comptes_operation;
     gint largeur_colonne_echeancier;
     gint largeur_colonne_comptes_comptes;
     gint largeur_colonne_etat;
@@ -145,6 +142,19 @@
     gint metatree_sort_transactions;
 } etat;
 
+struct {
+
+    /* geometry */
+    gint main_width;                                /* main_window width */
+    gint main_height;                               /* main_window height */
+    gint full_screen;                               /* 1 to full screen, 0 else */
+    gint largeur_colonne_comptes_operation;
+    gint prefs_width;                               /* preferences width */
+
+    /* general part */
+    gint r_modifiable;                              /* Changes in reconciled transactions */
+
+} conf;
 
 /* structure définissant une association entre un tiers
  * et une chaine de recherche contenant un ou des jokers (%)

Index: parametres.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/parametres.c,v
retrieving revision 1.202
retrieving revision 1.203
diff -u -d -r1.202 -r1.203
--- parametres.c	23 Aug 2009 16:45:05 -0000	1.202
+++ parametres.c	24 Aug 2009 20:19:47 -0000	1.203
@@ -235,7 +235,9 @@
                         GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
                         NULL );
 
-    gtk_window_set_default_size ( GTK_WINDOW ( fenetre_preferences ), 600, -1 );
+    if ( conf.prefs_width )
+        gtk_window_set_default_size ( GTK_WINDOW ( fenetre_preferences ),
+                        conf.prefs_width, -1 );
     gtk_window_set_position ( GTK_WINDOW ( fenetre_preferences ), GTK_WIN_POS_CENTER_ON_PARENT );
     gtk_window_set_resizable ( GTK_WINDOW ( fenetre_preferences ), TRUE );
 
@@ -529,6 +531,7 @@
         /* Hook some help function */
         break;
         default:
+        gtk_window_get_size ( GTK_WINDOW ( fenetre_preferences ), &conf.prefs_width, NULL );
         gtk_widget_destroy ( GTK_WIDGET ( fenetre_preferences ));
         return FALSE;
     }

Index: fenetre_principale.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/fenetre_principale.c,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -d -r1.119 -r1.120
--- fenetre_principale.c	8 Jul 2009 22:18:20 -0000	1.119
+++ fenetre_principale.c	24 Aug 2009 20:19:46 -0000	1.120
@@ -157,9 +157,10 @@
     gtk_paned_add1 ( GTK_PANED( main_hpaned ), create_navigation_pane ( ) );
     gtk_paned_add2 ( GTK_PANED( main_hpaned ), create_main_notebook ( ) );
     gtk_container_set_border_width ( GTK_CONTAINER ( main_hpaned ), 6 );
-    if ( etat.largeur_colonne_comptes_operation )
+    if ( conf.largeur_colonne_comptes_operation )
     {
-	gtk_paned_set_position ( GTK_PANED ( main_hpaned ), etat.largeur_colonne_comptes_operation );
+	gtk_paned_set_position ( GTK_PANED ( main_hpaned ),
+                        conf.largeur_colonne_comptes_operation );
     }
     else
     {

Index: gsb_data_partial_balance.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_partial_balance.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- gsb_data_partial_balance.c	24 Aug 2009 13:40:57 -0000	1.4
+++ gsb_data_partial_balance.c	24 Aug 2009 20:19:46 -0000	1.5
@@ -199,6 +199,10 @@
 
         switch ( partial_balance -> kind )
         {
+        case -1:
+            kind_str = g_strdup ( _("Additional balance") );
+            break;
+
         case GSB_TYPE_CASH:
             kind_str = g_strdup ( _("Cash account") );
             break;
@@ -269,7 +273,8 @@
         name = gtk_entry_get_text ( GTK_ENTRY ( entry_name ) );
         liste_cptes = gtk_entry_get_text ( GTK_ENTRY ( entry_list ) );
 
-        if ( strlen ( name ) && strlen ( liste_cptes ) && 
+        if ( strlen ( name ) && strlen ( liste_cptes ) 
+         && 
          g_utf8_strchr  ( liste_cptes, -1, ';' ) )
         {
             position = gtk_spin_button_get_value_as_int ( GTK_SPIN_BUTTON ( spin_bouton ) );
@@ -1193,7 +1198,10 @@
         }
     }
     gsb_data_partial_balance_set_currency ( partial_balance_number, currency_nb );
-    gsb_data_partial_balance_set_kind ( partial_balance_number, kind );
+    if ( return_val == FALSE )
+        gsb_data_partial_balance_set_kind ( partial_balance_number, -1 );
+    else
+        gsb_data_partial_balance_set_kind ( partial_balance_number, kind );
 
     return return_val;
 }

Index: accueil.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/accueil.c,v
retrieving revision 1.209
retrieving revision 1.210
diff -u -d -r1.209 -r1.210
--- accueil.c	24 Aug 2009 08:57:45 -0000	1.209
+++ accueil.c	24 Aug 2009 20:19:46 -0000	1.210
@@ -60,6 +60,7 @@
                         gsb_real solde_global_pointe );
 static gint affiche_soldes_partiels ( GtkWidget *table,
                         gint i,
+                        gint nb_comptes,
                         GSList *liste,
                         gint currency_number,
                         gint type_compte );
@@ -78,6 +79,7 @@
 static void update_liste_echeances_auto_accueil ( gboolean force );
 static void update_liste_echeances_manuelles_accueil ( gboolean force );
 static void update_soldes_minimaux ( gboolean force );
+static gint affiche_soldes_additionnels ( GtkWidget *table, gint i, GSList *liste );
 /*END_STATIC*/
 
 /*START_EXTERN*/
@@ -381,9 +383,10 @@
     GSList *list_tmp;
     gsb_real solde_global_courant, solde_global_pointe;
     gchar* tmpstr;
-    gint i;
+    gint i = 0;
     gint nb_comptes_bancaires=0, nb_comptes_passif=0, nb_comptes_actif=0;
     gint new_comptes_bancaires=0, new_comptes_passif=0, new_comptes_actif=0;
+    gint soldes_mixtes = 0;
     
     if ( !force
 	 &&
@@ -434,14 +437,6 @@
         }
         list_tmp = list_tmp -> next;
     }
-
-    /* on ajoute les lignes pour le solde */
-    if ( nb_comptes_bancaires > 0 )
-        nb_comptes_bancaires = nb_comptes_bancaires + 3;
-    if ( nb_comptes_actif > 0 )
-        nb_comptes_actif = nb_comptes_actif + 3;
-    if ( nb_comptes_passif > 0 )
-        nb_comptes_passif = nb_comptes_passif + 3;
     
     list_tmp = gsb_data_partial_balance_get_list ( );
     if ( list_tmp )
@@ -460,21 +455,17 @@
             {
                 new_comptes_passif++;
             }
+            else if ( gsb_data_partial_balance_get_kind ( i ) == -1 )
+            {
+                soldes_mixtes++;
+            }
             else
             {
                 new_comptes_bancaires++;
             }
             list_tmp = list_tmp -> next;
         }
-
-         /* on ajoute les lignes pour les soldes partiels */
-        if ( new_comptes_bancaires > 0 )
-            new_comptes_bancaires += new_comptes_bancaires + 2;
-        if ( new_comptes_actif > 0 )
-            new_comptes_actif += new_comptes_actif + 2;
-        if ( new_comptes_passif > 0 )
-            new_comptes_passif = new_comptes_passif + 2;
-    }
+   }
 
     /* Affichage des comptes bancaires et de caisse */
     for ( devise = gsb_data_currency_get_currency_list (); devise ; devise = devise->next )
@@ -489,7 +480,7 @@
             continue;
 
 
-        /* Création du tableau dans lequel seront stockés les comptes avec leur solde. */
+        /* Creating the table which will store accounts with their balances. */
         tmpstr = g_strdup_printf ( _("Account balances in %s"),
                         gsb_data_currency_get_name ( currency_number ) );
         if ( balances_with_scheduled == FALSE )
@@ -499,7 +490,7 @@
         g_free ( tmpstr );
 
         pTable = gsb_main_page_get_table_for_accounts (
-                        nb_comptes_bancaires + new_comptes_bancaires, 3 );
+                        nb_comptes_bancaires + 3 + new_comptes_bancaires + 2, 3 );
         gtk_box_pack_start ( GTK_BOX ( paddingbox ), pTable, FALSE, FALSE, 0 );
 
         /* Affichage des comptes et de leur solde */
@@ -541,7 +532,7 @@
         {
             list_tmp = gsb_data_partial_balance_get_list ( );
             if ( list_tmp )
-                i += affiche_soldes_partiels ( pTable, i, list_tmp,
+                i += affiche_soldes_partiels ( pTable, i, new_comptes_bancaires, list_tmp,
                         currency_number, GSB_TYPE_BANK | GSB_TYPE_CASH );
         }
 
@@ -567,8 +558,7 @@
         if ( !gsb_main_page_get_devise_is_used ( currency_number, GSB_TYPE_LIABILITIES ) )
             continue;
 
-        /* Création du tableau dans lequel seront stockés les comptes avec leur     */
-        /* solde.                                                                   */
+        /* Creating the table which will store accounts with their balances   */
 		tmpstr = g_strdup_printf (_("Liabilities accounts balances in %s"),
                          gsb_data_currency_get_name (currency_number) );
         if ( balances_with_scheduled == FALSE )
@@ -578,7 +568,7 @@
         g_free ( tmpstr );
 
         pTable = gsb_main_page_get_table_for_accounts (
-                        nb_comptes_passif + new_comptes_passif, 3 );
+                        nb_comptes_passif + 3 + new_comptes_passif + 2, 3 );
         gtk_box_pack_start ( GTK_BOX ( paddingbox ), pTable, FALSE, FALSE, 0 );
 
         /* Affichage des comptes et de leur solde */
@@ -619,7 +609,7 @@
         {
             list_tmp = gsb_data_partial_balance_get_list ( );
             if ( list_tmp )
-                i += affiche_soldes_partiels ( pTable, i, list_tmp,
+                i += affiche_soldes_partiels ( pTable, i, new_comptes_passif, list_tmp,
                         currency_number, GSB_TYPE_LIABILITIES );
         }
 
@@ -645,8 +635,7 @@
        if ( !gsb_main_page_get_devise_is_used ( currency_number, GSB_TYPE_ASSET ) )
             continue;
 
-        /* Création du tableau dans lequel seront stockés les comptes avec leur     */
-        /* solde.                                                                   */
+        /* Creating the table which will store accounts with their balances    */
         tmpstr = g_strdup_printf (_("Assets accounts balances in %s"),
                          gsb_data_currency_get_name (currency_number));
         if ( balances_with_scheduled == FALSE )
@@ -656,7 +645,7 @@
         g_free ( tmpstr );
 
         pTable = gsb_main_page_get_table_for_accounts (
-                        nb_comptes_actif + new_comptes_passif, 3 );
+                        nb_comptes_actif + 3 + new_comptes_passif  + 2, 3 );
         gtk_box_pack_start ( GTK_BOX ( paddingbox ), pTable, FALSE, FALSE, 0 );
 
         /* Affichage des comptes et de leur solde */
@@ -699,7 +688,7 @@
         {
             list_tmp = gsb_data_partial_balance_get_list ( );
             if ( list_tmp )
-                i += affiche_soldes_partiels ( pTable, i, list_tmp,
+                i += affiche_soldes_partiels ( pTable, i, new_comptes_actif, list_tmp,
                         currency_number, GSB_TYPE_ASSET );
         }
 
@@ -711,6 +700,27 @@
         gtk_widget_show_all ( pTable );
     }
 
+    /* Affichage des soldes mixtes */
+    if ( soldes_mixtes > 0 )
+    {
+        if ( soldes_mixtes == 1 )
+            tmpstr = g_strdup ( _("Additional balance") );
+        else
+            tmpstr = g_strdup ( _("Additional balances") );
+        if ( balances_with_scheduled == FALSE )
+            tmpstr = g_strconcat ( tmpstr, _(" at "), gsb_date_today (), NULL );
+
+        paddingbox = new_paddingbox_with_title ( vbox, FALSE, tmpstr );
+        g_free ( tmpstr );
+
+        pTable = gsb_main_page_get_table_for_accounts ( (3 * soldes_mixtes) , 3 );
+        gtk_box_pack_start ( GTK_BOX ( paddingbox ), pTable, FALSE, FALSE, 0 );
+
+        list_tmp = gsb_data_partial_balance_get_list ( );
+
+        if ( list_tmp )
+            i += affiche_soldes_additionnels ( pTable, i, list_tmp );
+    }
     gtk_widget_show_all (vbox);
 }
 
@@ -961,6 +971,7 @@
  * */
 gint affiche_soldes_partiels ( GtkWidget *table,
                         gint i,
+                        gint nb_comptes,
                         GSList *liste,
                         gint currency_number,
                         gint type_compte )
@@ -979,7 +990,7 @@
     nbre_lignes ++;
 
     /* On met les titres du sous ensemble solde(s) partiel(s) */
-    if ( g_slist_length ( liste ) == 1 )
+    if ( nb_comptes == 1 )
         label = gtk_label_new ( COLON(_("Partial balance")));
     else
         label = gtk_label_new ( COLON(_("Partial balances")));
@@ -1098,6 +1109,76 @@
 	gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 2, 3, i, i+1 );
 	gtk_widget_show ( label );
 }
+
+/**
+ * Création de ou des lignes de solde additionnel
+ *
+ * */
+gint affiche_soldes_additionnels ( GtkWidget *table, gint i, GSList *liste )
+{
+    GtkWidget *label;
+    gchar *tmpstr;
+    gint nbre_lignes = 0;
+    gint currency_number;
+
+    /* on commence par une ligne vide */
+    label = gtk_label_new ( chaine_espace );
+    gtk_size_group_add_widget ( GTK_SIZE_GROUP ( size_group_accueil ), label );
+    gtk_misc_set_alignment ( GTK_MISC ( label ), MISC_RIGHT, MISC_VERT_CENTER );
+	gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, i, i+1 );
+	gtk_widget_show ( label );
+    i ++;
+    nbre_lignes ++;
+
+    while ( liste )
+    {
+        gint partial_number;
+        kind_account kind;
+
+        partial_number = gsb_data_partial_balance_get_number ( liste -> data );
+        kind = gsb_data_partial_balance_get_kind ( partial_number );
+
+        if ( kind == - 1 )
+        {
+            /* Première colonne : elle contient le nom du solde partiel */
+            currency_number = gsb_data_partial_balance_get_currency ( partial_number );
+            tmpstr = g_strdup_printf (_(" in %s"), gsb_data_currency_get_name (
+                        currency_number ) );
+            tmpstr = g_strconcat ( gsb_data_partial_balance_get_name ( partial_number ),
+                            tmpstr,
+                            " : ", NULL );
+            label = gtk_label_new ( tmpstr );
+            g_free ( tmpstr );
+            gtk_misc_set_alignment ( GTK_MISC ( label ), MISC_LEFT, MISC_VERT_CENTER );
+            gtk_size_group_add_widget ( GTK_SIZE_GROUP ( size_group_accueil ), label );
+            gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, i, i+1 );
+            gtk_widget_show ( label );
+
+            /* Deuxième colonne : elle contient le solde pointé du solde partiel */
+            tmpstr = gsb_data_partial_balance_get_marked_balance ( partial_number );
+            label = gtk_label_new ( tmpstr );
+            g_free ( tmpstr );
+            gtk_misc_set_alignment ( GTK_MISC ( label ), MISC_RIGHT, MISC_VERT_CENTER );
+            gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 1, 2, i, i+1 );
+            gtk_widget_show ( label );
+
+            /* Troisième colonne : elle contient le solde courant du solde partiel */
+            tmpstr = gsb_data_partial_balance_get_current_balance ( partial_number );
+            label = gtk_label_new ( NULL );
+            gtk_label_set_markup ( GTK_LABEL ( label ), tmpstr );
+            g_free ( tmpstr );
+            gtk_misc_set_alignment ( GTK_MISC ( label ), MISC_RIGHT, MISC_VERT_CENTER );
+            gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 2, 3, i, i+1 );
+            gtk_widget_show ( label );
+
+            i++;
+            nbre_lignes ++;
+        }
+        liste = liste -> next;
+    }
+
+    return nbre_lignes;
+}
 /* ************************************************************************* */
 
 

Index: gsb_file_load.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_file_load.c,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -d -r1.188 -r1.189
--- gsb_file_load.c	24 Aug 2009 14:05:10 -0000	1.188
+++ gsb_file_load.c	24 Aug 2009 20:19:46 -0000	1.189
@@ -24,7 +24,10 @@
 
 #include "include.h"
 #include <glib/gstdio.h>
+#if GLIB_CHECK_VERSION (2,18,0)
 #include <gio/gio.h>
+#endif//GLIB_CHECK_VERSION (2,18,0)
+
 
 /*START_INCLUDE*/
 #include "gsb_file_load.h"

Index: main.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/main.c,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -d -r1.148 -r1.149
--- main.c	24 Aug 2009 13:46:54 -0000	1.148
+++ main.c	24 Aug 2009 20:19:47 -0000	1.149
@@ -77,8 +77,6 @@
 
 /*START_EXTERN*/
 extern FILE *debug_file;
-extern gint hauteur_window;
-extern gint largeur_window;
 extern gchar *nom_fichier_comptes;
 /*END_EXTERN*/
 
@@ -227,12 +225,11 @@
     affiche_derniers_fichiers_ouverts ();
 
     /* set the size of the window */
-    if ( largeur_window && hauteur_window )
+    if ( conf.main_width && conf.main_height )
 	gtk_window_set_default_size ( GTK_WINDOW ( window ),
-				      largeur_window, hauteur_window );
+				      conf.main_width, conf.main_height );
     else
-	gtk_window_set_default_size ( GTK_WINDOW ( window ),
-				      900, 600 );
+	gtk_window_set_default_size ( GTK_WINDOW ( window ), 900, 600 );
 
     /* display window centered */
     gtk_window_set_position ( GTK_WINDOW (window), GTK_WIN_POS_CENTER );
@@ -272,8 +269,8 @@
     }
 
     /* set the full screen if necessary */
-    if (etat.full_screen)
-	gtk_window_maximize (GTK_WINDOW (window));
+    if ( conf.full_screen )
+        gtk_window_maximize (GTK_WINDOW (window));
 
     gtk_main ();
 
@@ -312,9 +309,9 @@
     if (event -> changed_mask == GDK_WINDOW_STATE_FULLSCREEN)
     {
 	if (event -> new_window_state)
-	    etat.full_screen = TRUE;
+	    conf.full_screen = TRUE;
 	else
-	    etat.full_screen = FALSE;
+	    conf.full_screen = FALSE;
     }
     return FALSE;
 }

Index: gsb_file_config.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_file_config.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -d -r1.82 -r1.83
--- gsb_file_config.c	24 Aug 2009 15:24:23 -0000	1.82
+++ gsb_file_config.c	24 Aug 2009 20:19:46 -0000	1.83
@@ -1,6 +1,6 @@
 /* ************************************************************************** */
 /*                                                                            */
-/*     Copyright (C)    2000-2008 Cédric Auger (cedric at grisbi.org)            */
+/*     Copyright (C)    2000-2008 Cédric Auger (cedric at grisbi.org)            */
 /*          2005-2008 Benjamin Drieu (bdrieu at april.org)                       */
 /*          http://www.grisbi.org                                             */
 /*                                                                            */
@@ -69,14 +69,12 @@
 extern GtkWidget *window;
 /*END_EXTERN*/
 
-gint largeur_window;
-gint hauteur_window;
 gint mini_paned_width = 250;
 
 /* contient le nb de derniers fichiers ouverts */
 gsize nb_derniers_fichiers_ouverts = 0;
 
-/* contient le nb max que peut contenir nb_derniers_fichiers_ouverts ( réglé dans les paramètres ) */
+/* contient le nb max que peut contenir nb_derniers_fichiers_ouverts ( réglé dans les paramètres ) */
 gint nb_max_derniers_fichiers_ouverts = 0;
 gchar **tab_noms_derniers_fichiers_ouverts = NULL;
 
@@ -145,24 +143,35 @@
 
     /* get the geometry */
 
-    largeur_window = g_key_file_get_integer ( config,
+    conf.main_width = g_key_file_get_integer ( config,
                         "Geometry",
                         "Width",
                         NULL );
 
-    hauteur_window = g_key_file_get_integer ( config,
+    conf.main_height = g_key_file_get_integer ( config,
                         "Geometry",
                         "Height",
                         NULL );
 
-    etat.full_screen = g_key_file_get_integer ( config,
+    conf.full_screen = g_key_file_get_integer ( config,
                         "Geometry",
                         "Full screen",
                         NULL );
 
+    conf.largeur_colonne_comptes_operation = g_key_file_get_integer ( config,
+                        "Geometry",
+                        "Panel width",
+                        NULL );
+    if ( conf.largeur_colonne_comptes_operation < mini_paned_width )
+        conf.largeur_colonne_comptes_operation = mini_paned_width;
+
+    conf.prefs_width = g_key_file_get_integer ( config,
+                        "Geometry",
+                        "Prefs width",
+                        NULL );
 
     /* get general */
-    etat.r_modifiable = g_key_file_get_integer ( config,
+    conf.r_modifiable = g_key_file_get_integer ( config,
                         "General",
                         "Can modify R",
                         NULL );
@@ -199,7 +208,7 @@
 
     etat.entree = g_key_file_get_integer ( config,
                         "General",
-                        "Function of entry",
+                        "Function of enter",
                         NULL );
 
     etat.alerte_mini = g_key_file_get_integer ( config,
@@ -229,13 +238,6 @@
                         "Web",
                         NULL );
 
-    etat.largeur_colonne_comptes_operation = g_key_file_get_integer ( config,
-                        "General",
-                        "Panel width",
-                        NULL );
-    if ( etat.largeur_colonne_comptes_operation < mini_paned_width )
-        etat.largeur_colonne_comptes_operation = mini_paned_width;
-
     /* get input/output */
     etat.dernier_fichier_auto = g_key_file_get_integer ( config,
                         "IO",
@@ -474,34 +476,46 @@
     
     /* get the geometry */
     if ( GTK_WIDGET ( window) -> window ) 
-        gtk_window_get_size (GTK_WINDOW ( window ),
-                        &largeur_window,&hauteur_window);
+        gtk_window_get_size ( GTK_WINDOW ( window ),
+                        &conf.main_width, &conf.main_height);
     else 
     {
-        largeur_window = 0;
-        hauteur_window = 0;
+        conf.main_width = 0;
+        conf.main_height = 0;
     }
 
     g_key_file_set_integer ( config,
                         "Geometry",
                         "Width",
-                        largeur_window );
+                        conf.main_width );
     g_key_file_set_integer ( config,
                         "Geometry",
                         "Height",
-                        hauteur_window );
+                        conf.main_height );
     g_key_file_set_integer ( config,
                         "Geometry",
                         "Full screen",
-                        etat.full_screen );
+                        conf.full_screen );
 
+    g_key_file_set_integer ( config,
+                        "Geometry",
+                        "Prefs width",
+                        conf.prefs_width );
 
+    /* Remember size of main panel */
+    if (main_hpaned && GTK_IS_WIDGET (main_hpaned))
+        conf.largeur_colonne_comptes_operation = gtk_paned_get_position (
+                        GTK_PANED ( main_hpaned ) );
+    g_key_file_set_integer ( config,
+                        "Geometry",
+                        "Panel width",
+                        conf.largeur_colonne_comptes_operation );
 
     /* save general */
     g_key_file_set_integer ( config,
                         "General",
                         "Can modify R",
-                        etat.r_modifiable );
+                        conf.r_modifiable );
     g_key_file_set_string ( config,
                         "General",
                         "Path",
@@ -529,7 +543,7 @@
                         etat.alerte_permission );
     g_key_file_set_integer ( config,
                         "General",
-                        "Function of entry",
+                        "Function of enter",
                         etat.entree );
     g_key_file_set_integer ( config,
                         "General",
@@ -566,14 +580,6 @@
         g_free (string);
     }
 
-    /* Remember size of main panel */
-    if (main_hpaned && GTK_IS_WIDGET (main_hpaned))
-    etat.largeur_colonne_comptes_operation = gtk_paned_get_position ( GTK_PANED ( main_hpaned ) );
-    g_key_file_set_integer ( config,
-                        "General",
-                        "Panel width",
-                        etat.largeur_colonne_comptes_operation );
-
     /* save input/output */
     g_key_file_set_integer ( config,
                         "IO",
@@ -894,21 +900,21 @@
     if ( !strcmp ( element_name,
 		   "Width" ))
     {
-	largeur_window = utils_str_atoi (text);
+	conf.main_width = utils_str_atoi (text);
 	return;
     }
 
     if ( !strcmp ( element_name,
 		   "Height" ))
     {
-	hauteur_window = utils_str_atoi (text);
+	conf.main_height = utils_str_atoi (text);
 	return;
     }
 
     if ( !strcmp ( element_name,
 		   "Modification_operations_rapprochees" ))
     {
-	etat.r_modifiable = utils_str_atoi (text);
+	conf.r_modifiable = utils_str_atoi (text);
 	return;
     }
 
@@ -991,7 +997,7 @@
     if ( !strcmp ( element_name,
 		   "Largeur_colonne_comptes_operation" ))
     {
-	etat.largeur_colonne_comptes_operation = utils_str_atoi (text);
+	conf.largeur_colonne_comptes_operation = utils_str_atoi (text);
 	return;
     }
 
@@ -1017,13 +1023,6 @@
     }
 
     if ( !strcmp ( element_name,
-		   "Largeur_colonne_comptes_operation" ))
-    {
-	etat.largeur_colonne_comptes_operation = utils_str_atoi (text);
-	return;
-    }
-
-    if ( !strcmp ( element_name,
 		   "Chargement_auto_dernier_fichier" ))
     {
 	etat.dernier_fichier_auto = utils_str_atoi (text);
@@ -1192,27 +1191,28 @@
 {
     devel_debug (NULL);
 
-    largeur_window = 0;
-    hauteur_window = 0;
-    etat.largeur_colonne_comptes_operation = mini_paned_width;
+    conf.main_width = 0;
+    conf.main_height = 0;
+    conf.largeur_colonne_comptes_operation = mini_paned_width;
+    conf.prefs_width = 600;
 
     etat.force_enregistrement = 1;
     etat.utilise_logo = 1;
 
-    etat.r_modifiable = 0;       /* on ne peux modifier les opé relevées */
+    conf.r_modifiable = 0;       /* we can not change the reconciled transaction */
     etat.dernier_fichier_auto = 1;   /*  on n'ouvre pas directement le dernier fichier */
-    etat.sauvegarde_auto = 0;    /* on NE sauvegarde PAS * automatiquement par défaut */
-    etat.entree = 1;    /* la touche entree provoque l'enregistrement de l'opération */
-    nb_days_before_scheduled = 0;     /* nb de jours avant l'échéance pour prévenir */
+    etat.sauvegarde_auto = 0;    /* on NE sauvegarde PAS * automatiquement par défaut */
+    etat.entree = 1;    /* la touche entree provoque l'enregistrement de l'opération */
+    nb_days_before_scheduled = 0;     /* nb de jours avant l'échéance pour prévenir */
     execute_scheduled_of_month = FALSE;
     balances_with_scheduled = TRUE;
-    etat.formulaire_toujours_affiche = 0;       /* le formulaire ne s'affiche que lors de l'edition d'1 opé */
+    etat.formulaire_toujours_affiche = 0;       /* le formulaire ne s'affiche que lors de l'edition d'1 opé */
     etat.affichage_exercice_automatique = 0;        /* l'exercice est choisi en fonction de la date */
     etat.get_fyear_by_value_date = 0;        /* By default use transaction-date */
     etat.automatic_completion_payee = 1;        /* by default automatic completion */
     etat.limit_completion_to_current_account = 0;        /* By default, do full search */
 
-    etat.display_grisbi_title = GSB_ACCOUNTS_FILE;  /* show Accounts file title par défaut */
+    etat.display_grisbi_title = GSB_ACCOUNTS_FILE;  /* show Accounts file title par défaut */
     etat.display_toolbar = GSB_BUTTON_BOTH;         /* How to display toolbar icons. */
     etat.show_toolbar = TRUE;                       /* Show toolbar or not. */
     etat.show_headings_bar = TRUE;                  /* Show toolbar or not. */
@@ -1226,7 +1226,7 @@
     etat.font_string = NULL;
     }
     
-    etat.force_enregistrement = 1;     /* par défaut, on force l'enregistrement */
+    etat.force_enregistrement = 1;     /* par défaut, on force l'enregistrement */
     gsb_file_update_last_path (g_get_home_dir ());
     gsb_file_set_backup_path (my_get_XDG_grisbi_data_dir ());
     etat.make_backup = 1;       /* on force aussi le backup pbiava le 24/01/2009*/



More information about the cvs mailing list