[grisbi-cvs] [SCM] grisbi branch, grisbi-gtk3, updated. grisbi_gtk3_1_3_0-241-g5a718db

Pierre Biava nobody at users.sourceforge.net
Sun Dec 16 10:08:13 CET 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "grisbi".

The branch, grisbi-gtk3 has been updated
       via  5a718db467ed9399b5fff367118fb4d007c5485c (commit)
       via  020acb9e7140dbc68de7186f70498bbfee6c2f80 (commit)
       via  05e8e2a38e77bbe4273ee24c4d8c32c24543e2f1 (commit)
       via  68cf032baf22160d6277b0e7cdcba8de913d599e (commit)
      from  a8cb990aa4d529632c30af3ac66f0875d8193084 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5a718db467ed9399b5fff367118fb4d007c5485c
Author: pbiava <pierre.biava at nerim.net>
Date:   Wed Jul 4 22:48:54 2012 +0200

    provisoire

commit 020acb9e7140dbc68de7186f70498bbfee6c2f80
Author: pbiava <pierre.biava at nerim.net>
Date:   Sat Jun 9 11:19:11 2012 +0200

    fr.po: update string

commit 05e8e2a38e77bbe4273ee24c4d8c32c24543e2f1
Author: pbiava <pierre.biava at nerim.net>
Date:   Sat May 19 23:15:47 2012 +0200

    rename struct_payee_asso in GsbPayeeAsso and minor change

commit 68cf032baf22160d6277b0e7cdcba8de913d599e
Author: pbiava <pierre.biava at nerim.net>
Date:   Sat May 19 23:03:05 2012 +0200

    rename kind_account in GsbKindAccount

-----------------------------------------------------------------------

Changes:
diff --git a/configure.in b/configure.in
index 7d35e62..2eb1499 100644
--- a/configure.in
+++ b/configure.in
@@ -57,6 +57,7 @@ dnl ================================================================
 LT_LIB_M
 
 PKG_CHECK_MODULES(GRISBI, [gtk+-2.0 >= 2.2.24 glib-2.0 >= 2.28 gmodule-2.0 >= 2.28 zlib libgoffice-0.8 >= 0.8.14])
+GRISBI_LIBS="$LIBM $GRISBI_LIBS"
 # Temporary hack until Mandriva ships zlib.pc
 #PKG_CHECK_MODULES(GRISBI, [gtk+-2.0 >= 2.12.0 glib-2.0 >= 2.18.0 gmodule-2.0 >= 2.18.0])
 #GRISBI_LIBS="$LIBM $GRISBI_LIBS -lz"
@@ -208,7 +209,7 @@ AC_ARG_ENABLE(werror,
  	enable_werror=no)
 if test "x$enable_werror" = xyes ; then
 	if test "x$GCC" = "xyes" ; then
-		CFLAGS="$CFLAGS -ansi -Wall -Wunused -Wno-unused-parameter -Wno-unused-function"
+		CFLAGS="$CFLAGS -ansi -Wall -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-function"
 		AC_MSG_WARN([Wall and Wunused flags are enabled])
 	else
 		AC_MSG_WARN([Wall and Wunused can be enabled only with gcc])
diff --git a/po/fr.po b/po/fr.po
index a364040..d553f4e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2884,7 +2884,7 @@ msgstr "toutes les dates"
 #: ../src/etats_support.c:191 ../src/etats_support.c:293
 #, c-format
 msgid "Result from %s to %s"
-msgstr "Résultat de %s pour %s"
+msgstr "Résultat du %s au %s"
 
 #: ../src/etats_support.c:197
 msgid "Custom dates ranges not filled"
diff --git a/src/accueil.c b/src/accueil.c
index d20f739..a48cf5a 100644
--- a/src/accueil.c
+++ b/src/accueil.c
@@ -425,7 +425,7 @@ void update_liste_comptes_accueil ( gboolean force )
     {
         while ( list_tmp )
         {
-            kind_account i;
+            GsbKindAccount i;
 
             i = gsb_data_partial_balance_get_number ( list_tmp -> data );
 
@@ -998,7 +998,7 @@ gint affiche_soldes_partiels ( GtkWidget *table,
     while ( liste )
     {
         gint partial_number;
-        kind_account kind;
+        GsbKindAccount kind;
 
         partial_number = gsb_data_partial_balance_get_number ( liste -> data );
         kind = gsb_data_partial_balance_get_kind ( partial_number );
@@ -1157,7 +1157,7 @@ gint affiche_soldes_additionnels ( GtkWidget *table, gint i, GSList *liste )
     while ( liste )
     {
         gint partial_number;
-        kind_account kind;
+        GsbKindAccount kind;
 
         partial_number = gsb_data_partial_balance_get_number ( liste -> data );
         kind = gsb_data_partial_balance_get_kind ( partial_number );
diff --git a/src/bet_data.c b/src/bet_data.c
index 2883f78..83dadbf 100644
--- a/src/bet_data.c
+++ b/src/bet_data.c
@@ -175,7 +175,7 @@ void bet_data_select_bet_pages ( gint account_number )
 void bet_data_update_bet_module ( gint account_number, guint page )
 {
     gint type_maj;
-    kind_account kind;
+    GsbKindAccount kind;
 
     devel_debug_int ( account_number );
 
diff --git a/src/bet_future.c b/src/bet_future.c
index 1d2c42f..fc76a7a 100644
--- a/src/bet_future.c
+++ b/src/bet_future.c
@@ -1844,7 +1844,7 @@ static GtkListStore *bet_transfert_create_account_list_store ( gint account_numb
             bet_credit_card = gsb_data_account_get_bet_credit_card ( tmp_account_number );
             if ( bet_credit_card )
             {
-                kind_account kind;
+                GsbKindAccount kind;
                 gchar *tmp_str = NULL;
 
                 kind = gsb_data_account_get_kind ( tmp_account_number );
diff --git a/src/bet_graph.c b/src/bet_graph.c
index c9f84d6..d921987 100644
--- a/src/bet_graph.c
+++ b/src/bet_graph.c
@@ -711,7 +711,7 @@ gboolean bet_graph_populate_lines_by_forecast_data ( struct_bet_graph_data *self
 {
     GtkTreeModel *model = NULL;
     GtkTreeIter iter;
-    gdouble prev_montant;
+    gdouble prev_montant = 0.;
 
     model = gtk_tree_view_get_model ( GTK_TREE_VIEW ( self -> tree_view ) );
     if ( model == NULL )
@@ -725,10 +725,10 @@ gboolean bet_graph_populate_lines_by_forecast_data ( struct_bet_graph_data *self
         gdouble montant = 0.;
         GDate *first_date;
         GDate *last_date;
-        GDate *date_courante;
-        GDateDay day_courant;
-        GDateMonth month_courant;
-        gint nbre_iterations;
+        GDate *date_courante = NULL;
+        GDateDay day_courant = G_DATE_BAD_DAY;
+        GDateMonth month_courant = G_DATE_BAD_MONTH;
+        gint nbre_iterations = 0;
 
         tab_libelle_axe_x = &libelle_axe_x;
 
@@ -848,7 +848,6 @@ gboolean bet_graph_affiche_XY_line ( struct_bet_graph_data *self )
     GOStyle *style;
     GogObject *axis;
     GogObject *axis_line = NULL;
-    GogObject *grid_line;
     GError *error = NULL;
     gchar *position;
 
@@ -922,6 +921,8 @@ gboolean bet_graph_affiche_XY_line ( struct_bet_graph_data *self )
     {
         if ( prefs_lines->major_grid_y || self->show_grid )
         {
+			    GogObject *grid_line = NULL;
+
             axis = gog_object_get_child_by_name ( GOG_OBJECT ( self->chart ), "Y-Axis" );
 
             grid_line = gog_object_add_by_name ( GOG_OBJECT ( axis ), "MajorGrid", NULL );
@@ -1072,7 +1073,7 @@ gboolean bet_graph_popup_choix_graph_menu ( GtkWidget *button,
     menu = gtk_menu_new ();
 
     tmp_list = liste;
-    
+
     while (tmp_list)
     {
         struct_bet_graph_button *self;
@@ -1123,7 +1124,7 @@ void bet_graph_popup_choix_graph_activate ( GtkMenuItem *menuitem,
 
     parent = gtk_widget_get_parent ( self->box );
     tmp_list = g_object_get_data ( G_OBJECT ( parent ), "button_list" );
-    
+
     while ( tmp_list )
     {
         struct_bet_graph_button *self;
diff --git a/src/bet_hist.c b/src/bet_hist.c
index 8242bb2..23085ed 100644
--- a/src/bet_hist.c
+++ b/src/bet_hist.c
@@ -851,7 +851,7 @@ void bet_historical_populate_div_model ( gpointer key,
     gsb_real average;
     gsb_real retained;
     gsb_real amount;
-    kind_account kind;
+    GsbKindAccount kind;
     GrisbiWindowEtat *etat;
 
     etat = grisbi_window_get_struct_etat ();
diff --git a/src/fenetre_principale.c b/src/fenetre_principale.c
index 77e14fa..4e830f0 100644
--- a/src/fenetre_principale.c
+++ b/src/fenetre_principale.c
@@ -79,8 +79,10 @@ void gsb_gui_new_gui ( void )
     GtkWidget *general_widget;
     GtkWidget *notebook_general;
 
-    /* dégrise les menus nécessaire */
+    /* dégrise les menus nécessaires et montre le menu ShowClosed si nécessaire */
     gsb_menu_sensitive ( TRUE );
+    if ( grisbi_window_get_is_closed_account () )
+        gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/ShowClosed", TRUE );
 
     /* Create main widget. */
     gsb_status_message ( _("Creating main window") );
diff --git a/src/grisbi_app.c b/src/grisbi_app.c
index 0a9fea6..a934e0d 100644
--- a/src/grisbi_app.c
+++ b/src/grisbi_app.c
@@ -37,6 +37,7 @@
 #include "gsb_file.h"
 #include "gsb_file_config.h"
 #include "gsb_select_icon.h"
+#include "menu.h"
 #include "traitement_variables.h"
 #include "erreur.h"
 /*END_INCLUDE*/
@@ -472,6 +473,11 @@ gboolean grisbi_app_close_file ( void )
     gtk_widget_hide ( grisbi_window_get_headings_eb ( main_window ) );
     gtk_widget_show ( grisbi_window_get_accueil_page ( main_window ) );
 
+    /* grise les menus nécessaires */
+    gsb_menu_sensitive ( FALSE );
+    gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/ShowClosed", FALSE );
+    gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/InitWidthCol", FALSE );
+
     return TRUE;
 }
 
diff --git a/src/grisbi_ui.h b/src/grisbi_ui.h
index 75f11ee..4c2204d 100644
--- a/src/grisbi_ui.h
+++ b/src/grisbi_ui.h
@@ -29,6 +29,9 @@
 /*END_INCLUDE*/
 
 
+/* Entrées de menu "groupables" par bloc */
+
+/* Entrées du menu toujours actives */
 static const GtkActionEntry always_sensitive_entries[] =
 {
 /* name, stock_id, label, accelerator, tooltip, callback */
@@ -39,14 +42,11 @@ static const GtkActionEntry always_sensitive_entries[] =
      G_CALLBACK ( gsb_file_new ) },
     {"OpenAction",  GTK_STOCK_OPEN, N_("_Open..."), "<Meta>O", NULL,
      G_CALLBACK ( gsb_file_open_menu ) },
-    {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
-     G_CALLBACK ( gsb_file_save ) },
 #else
     { "NewAction", GTK_STOCK_NEW, N_("_New account file..."), NULL, NULL,
      G_CALLBACK ( gsb_file_new ) },
     {"OpenAction",  GTK_STOCK_OPEN, N_("_Open..."), NULL, NULL,
      G_CALLBACK ( gsb_file_open_menu ) },
-    {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
 #endif
     {"ImportFileAction", GTK_STOCK_CONVERT,  N_("_Import file..."), NULL, NULL,
      G_CALLBACK ( importer_fichier ) },
@@ -93,14 +93,17 @@ static GtkToggleActionEntry show_full_screen_entrie[] =
      G_CALLBACK ( gsb_menu_full_screen_mode ), 0 },
 };
 
-static const GtkActionEntry division_sensitive_entries[] =
+
+/* Entrées du menu actives avec un fichier chargé */
+static const GtkActionEntry file_loading_sensitive_entries[] =
 {
+/* name, stock_id, label, accelerator, tooltip, callback */
     {"SaveAsAction", GTK_STOCK_SAVE_AS,  N_("_Save as..."), NULL, NULL,
      G_CALLBACK ( gsb_file_save_as ) },
     {"FileRevertAction", GTK_STOCK_REVERT_TO_SAVED, NULL, NULL,
      N_("Revert to a saved version of the file..."),
      G_CALLBACK ( gsb_file_save_as ) },
-    { "ExportFileAction", GTK_STOCK_CONVERT, N_("_Export accounts as QIF/CSV file..."), NULL, NULL,
+    {"ExportFileAction", GTK_STOCK_CONVERT, N_("_Export accounts as QIF/CSV file..."), NULL, NULL,
      G_CALLBACK ( export_accounts ) },
     {"CreateArchiveAction", GTK_STOCK_CLEAR, N_("Archive transactions..."), NULL, NULL,
      G_CALLBACK ( gsb_assistant_archive_run_by_menu ) },
@@ -121,22 +124,6 @@ static const GtkActionEntry division_sensitive_entries[] =
      G_CALLBACK ( gsb_assistant_account_run ) },
 };
 
-static const GtkActionEntry file_save_entries[] =
-{
-#ifdef GTKOSXAPPLICATION
-    {"SaveAction", GTK_STOCK_SAVE, N_("_Save"), "<Meta>S", NULL,
-     G_CALLBACK ( gsb_file_save ) },
-#else
-    {"SaveAction", GTK_STOCK_SAVE, N_("_Save"), NULL, NULL,
-     G_CALLBACK ( gsb_file_save ) },
-#endif
-};
-
-static const GtkActionEntry file_recent_files_entrie[] =
-{
-    {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
-};
-
 static GtkToggleActionEntry file_debug_toggle_entrie[] =
 {
 /* Name, stock_id, label, accelerator, tooltip, callback, is_active */
@@ -144,46 +131,54 @@ static GtkToggleActionEntry file_debug_toggle_entrie[] =
      G_CALLBACK ( gsb_debug_start_log ), 0 },
 };
 
-static const GtkActionEntry edit_sensitive_entries[] =
-{
-     {"EditTransactionAction", GTK_STOCK_EDIT, N_("_Edit transaction"), "", NULL,
-     G_CALLBACK ( gsb_transactions_list_edit_current_transaction ) },
-    {"NewTransactionAction", GTK_STOCK_NEW, N_("_New transaction"), "", NULL,
-     G_CALLBACK ( new_transaction ) },
-    {"MoveToAnotherAccountAction", NULL, N_("_Move transaction to another account"), NULL, NULL, NULL },
-    {"RemoveAccountAction", GTK_STOCK_DELETE, N_("_Remove current account"), "", NULL,
-     G_CALLBACK ( gsb_account_delete ) },
-};
-
-static const GtkActionEntry edit_transaction_entrie[] =
+/* Entrées de menu actives si une transaction (y compris planifiée) est sélectionnée */
+static const GtkActionEntry select_all_transactions_sensitive_entries[] =
 {
+/* name, stock_id, label, accelerator, tooltip, callback */
      {"EditTransactionAction", GTK_STOCK_EDIT, N_("_Edit transaction"), "", NULL,
      G_CALLBACK ( gsb_transactions_list_edit_current_transaction ) },
-};
-
-static const GtkActionEntry edit_transactions_entries[] =
-{
     {"RemoveTransactionAction", GTK_STOCK_DELETE, N_("_Remove transaction"), "", NULL,
      G_CALLBACK ( remove_transaction ) },
     {"TemplateTransactionAction", GTK_STOCK_COPY, N_("Use selected transaction as a template"), "", NULL,
      G_CALLBACK ( gsb_transactions_list_clone_template ) },
     {"CloneTransactionAction", GTK_STOCK_COPY, N_("_Clone transaction"), "", NULL,
      G_CALLBACK ( clone_selected_transaction ) },
+};
+
+/* Entrées de menu actives si une transaction d'un compte est sélectionnée */
+static const GtkActionEntry select_transaction_sensitive_entries[] =
+{
+/* name, stock_id, label, accelerator, tooltip, callback */
     {"ConvertToScheduledAction", GTK_STOCK_CONVERT, N_("Convert to _scheduled transaction"), NULL, NULL,
      G_CALLBACK ( schedule_selected_transaction ) },
+    {"MoveToAnotherAccountAction", NULL, N_("_Move transaction to another account"), NULL, NULL, NULL },
 };
 
+/* Entrées de menu actives si un compte ou l'onglet planification est sélectionné */
+static const GtkActionEntry new_transaction_sensitive_entries[] =
+{
+/* name, stock_id, label, accelerator, tooltip, callback */
+    {"NewTransactionAction", GTK_STOCK_NEW, N_("_New transaction"), "", NULL,
+     G_CALLBACK ( new_transaction ) },
+};
 
-static const GtkActionEntry view_init_width_col_entrie[] =
+static GtkToggleActionEntry view_transaction_form_toggle_entries[] =
 {
-    {"InitwidthColAction", NULL, N_("Reset the column width"), NULL, NULL,
-     G_CALLBACK ( gsb_menu_reinit_largeur_col_menu ) },
+/* Name, stock_id, label, accelerator, tooltip, callback, is_active */
+    {"ShowTransactionFormAction", NULL, N_("Show transaction _form"), NULL, NULL,
+     G_CALLBACK ( gsb_gui_toggle_show_form ), 0 },
+};
 
+/* Entrée de menu active dès qu'on affiche le détail d'un compte */
+static const GtkActionEntry select_account_remove_current_sensitive_entries[] =
+{
+    {"RemoveAccountAction", GTK_STOCK_DELETE, N_("_Remove current account"), "", NULL,
+     G_CALLBACK ( gsb_account_delete ) },
 };
 
-static GtkRadioActionEntry view_radio_entries[] =
+static GtkRadioActionEntry select_account_radio_entries[] =
 {
-    /* Name, StockID, Label, Accelerator, Tooltip, Value */
+/* name, stock_id, label, accelerator, tooltip, callback */
     {"ShowOneLineAction", NULL, N_("Show _one line per transaction"), NULL, NULL,
      ONE_LINE_PER_TRANSACTION },
     {"ShowTwoLinesAction", NULL, N_("Show _two lines per transaction"), NULL, NULL,
@@ -194,11 +189,9 @@ static GtkRadioActionEntry view_radio_entries[] =
      FOUR_LINES_PER_TRANSACTION },
 };
 
-static GtkToggleActionEntry view_toggle_entries[] =
+static GtkToggleActionEntry select_account_toggle_entries[] =
 {
 /* Name, stock_id, label, accelerator, tooltip, callback, is_active */
-    {"ShowTransactionFormAction", NULL, N_("Show transaction _form"), NULL, NULL,
-     G_CALLBACK ( gsb_gui_toggle_show_form ), 0 },
 #ifdef GTKOSXAPPLICATION
     {"ShowReconciledAction", NULL, N_("Show _reconciled"), "<Meta>R", NULL,
      G_CALLBACK ( gsb_gui_toggle_show_reconciled ), 0 },
@@ -210,9 +203,49 @@ static GtkToggleActionEntry view_toggle_entries[] =
     {"ShowArchivedAction", NULL, N_("Show _lines archives"), "<Alt>L", NULL,
      G_CALLBACK ( gsb_gui_toggle_show_archived ), 0 },
 #endif
+};
+
+
+
+
+
+/* entrées individuelles du menu */
+ /* Entrée du menu pour la liste des fichiers si nécessaire */
+static const GtkActionEntry file_recent_files_entrie[] =
+{
+/* name, stock_id, label, accelerator, tooltip, callback */
+    {"RecentFilesAction", NULL, N_("_Recently opened files"), NULL, NULL, NULL },
+};
+
+/* Entrée du menu active dès qu'une modification du fichier est faite */
+static const GtkActionEntry file_save_entrie[] =
+{
+/* name, stock_id, label, accelerator, tooltip, callback */
+#ifdef GTKOSXAPPLICATION
+    {"SaveAction", GTK_STOCK_SAVE, N_("_Save"), "<Meta>S", NULL,
+     G_CALLBACK ( gsb_file_save ) },
+#else
+    {"SaveAction", GTK_STOCK_SAVE, N_("_Save"), NULL, NULL,
+     G_CALLBACK ( gsb_file_save ) },
+#endif
+};
+
+/* Entrée de menu existante si il existe au moins un compte clos */
+static GtkToggleActionEntry show_closed_toggle_entries[] =
+{
+/* Name, stock_id, label, accelerator, tooltip, callback, is_active */
     {"ShowClosedAction", NULL, N_("Show _closed accounts"), NULL, NULL,
      G_CALLBACK ( gsb_gui_toggle_show_closed_accounts ),0 }
 };
 
+ /* Entrée du menu réinitialiser la largeur des colonnes */
+static const GtkActionEntry init_width_col_entrie[] =
+{
+/* name, stock_id, label, accelerator, tooltip, callback */
+    {"InitWidthColAction", NULL, N_("Reset the column width"), NULL, NULL,
+     G_CALLBACK ( gsb_menu_reinit_largeur_col_menu ) },
+};
+
+
 
 #endif  /* __GRISBI_UI_H__  */
diff --git a/src/grisbi_window.c b/src/grisbi_window.c
index 69325ae..23c78cf 100644
--- a/src/grisbi_window.c
+++ b/src/grisbi_window.c
@@ -83,16 +83,17 @@ struct _GrisbiWindowPrivate
     /* Menus et barres d'outils */
     GtkWidget           *menu_bar;
     GtkUIManager        *ui_manager;
+
     GtkActionGroup      *always_sensitive_action_group;
-    GtkActionGroup      *division_sensitive_action_group;
-    GtkActionGroup      *file_save_action_group;
+    GtkActionGroup      *file_loading_sensitive_action_group;
+    GtkActionGroup      *select_all_transactions_sensitive_action_group;    /* toutes transactions */
+    GtkActionGroup      *select_transaction_sensitive_action_group;         /* account transaction */
+    GtkActionGroup      *select_account_planed_sensitive_action_group;      /* account or planed selected */
+    GtkActionGroup      *select_account_sensitive_action_group;             /* account selected */
     GtkActionGroup      *file_recent_files_action_group;
-    GtkActionGroup      *file_debug_toggle_action_group;
-    GtkActionGroup      *edit_sensitive_action_group;
-    GtkActionGroup      *edit_transactions_action_group;
-    GtkActionGroup      *view_sensitive_action_group;
-    guint                recent_files_merge_id;             /* utile pour la mise à jour du menu recent file */
-    guint                move_to_account_merge_id;          /* utile pour la mise à jour du menu move_to_account */
+
+    guint                recent_files_merge_id;                     /* utile pour la mise à jour du menu recent file */
+    guint                move_to_account_merge_id;                  /* utile pour la mise à jour du menu move_to_account */
 
     /* statusbar */
     GtkWidget           *statusbar;
@@ -112,6 +113,7 @@ struct _GrisbiWindowPrivate
     GtkWidget           *navigation_tree_view;
     GSList              *list_accounts;
     gpointer            account_buffer;
+    gboolean            is_closed_account;
 
     /* Widget that hold the scheduler calendar. */
     GtkWidget *scheduler_calendar;
@@ -354,7 +356,7 @@ static void grisbi_window_init_menus ( GrisbiWindow *window )
 
     conf = grisbi_app_get_conf ();
 
-    /* actions toujours accessibles (sensitives) */
+    /* actions toujours actives (sensitives) */
     actions = gtk_action_group_new ( "AlwaysSensitiveActions" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
@@ -372,108 +374,148 @@ static void grisbi_window_init_menus ( GrisbiWindow *window )
     g_object_unref ( actions );
     window->priv->always_sensitive_action_group = actions;
 
-    /* Actions pour la gestion des fichiers sensitives */
-    actions = gtk_action_group_new ( "DivisionSensitiveActions" );
+    /* Actions actives lors du chargement initial du fichier */
+    actions = gtk_action_group_new ( "FileLoadingSensitiveActions" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
-                        division_sensitive_entries,
-                        G_N_ELEMENTS ( division_sensitive_entries ),
+                        file_loading_sensitive_entries,
+                        G_N_ELEMENTS ( file_loading_sensitive_entries ),
                         window );
 
+    gtk_action_group_add_toggle_actions ( actions,
+                        file_debug_toggle_entrie,
+                        G_N_ELEMENTS ( file_debug_toggle_entrie ),
+                        NULL );
+
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    window->priv->division_sensitive_action_group = actions;
+    window->priv->file_loading_sensitive_action_group = actions;
     gtk_action_group_set_sensitive ( actions, FALSE );
 
-    /* Actions pour la gestion des fichiers sensitives */
-    actions = gtk_action_group_new ( "FileSaveAction" );
+    /* actions actives lorsqu'on sélectionne une opération (y compris planifiée) */
+    actions = gtk_action_group_new ( "SelectAllTransactionsSensitiveActions" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
-                        file_save_entries,
-                        G_N_ELEMENTS ( file_save_entries ),
+                        select_all_transactions_sensitive_entries,
+                        G_N_ELEMENTS ( select_all_transactions_sensitive_entries ),
                         window );
 
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    window->priv->file_save_action_group = actions;
+    window->priv->select_all_transactions_sensitive_action_group = actions;
     gtk_action_group_set_sensitive ( actions, FALSE );
 
-    /* Actions pour la gestion des fichiers récents */
-    actions = gtk_action_group_new ( "FileRecentFilesAction" );
+    /* actions actives lorsqu'on sélectionne une opération d'un compte */
+    actions = gtk_action_group_new ( "SelectTransactionSensitiveActions" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
-                        file_recent_files_entrie,
-                        G_N_ELEMENTS ( file_recent_files_entrie ),
+                        select_transaction_sensitive_entries,
+                        G_N_ELEMENTS ( select_transaction_sensitive_entries ),
                         window );
 
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    gtk_action_group_set_sensitive ( actions, TRUE );
+    window->priv->select_transaction_sensitive_action_group = actions;
+    gtk_action_group_set_sensitive ( actions, FALSE );
 
-    /* DebugToggle_Action sensitive */
-    actions = gtk_action_group_new ( "FileDebugToggleAction" );
+    /* actions actives si un compte ou l'onglet planification est sélectionné */
+    actions = gtk_action_group_new ( "SelectAccountPlanedSensitiveActions" );
     gtk_action_group_set_translation_domain ( actions, NULL );
+    gtk_action_group_add_actions (actions,
+                        new_transaction_sensitive_entries,
+                        G_N_ELEMENTS ( new_transaction_sensitive_entries ),
+                        window );
+
+    /* view_transaction_form_toggle_entries */
     gtk_action_group_add_toggle_actions ( actions,
-                        file_debug_toggle_entrie,
-                        G_N_ELEMENTS ( file_debug_toggle_entrie ),
+                        view_transaction_form_toggle_entries,
+                        G_N_ELEMENTS ( view_transaction_form_toggle_entries ),
                         NULL );
 
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    window->priv->file_debug_toggle_action_group = actions;
+    window->priv->select_account_planed_sensitive_action_group = actions;
     gtk_action_group_set_sensitive ( actions, FALSE );
 
-    /* actions du menu Edit sensitives */
-    actions = gtk_action_group_new ( "EditSensitiveActions" );
+    /* actions actives si un compte est sélectionné */
+    actions = gtk_action_group_new ( "SelectAccountSensitiveActions" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
-                        edit_sensitive_entries,
-                        G_N_ELEMENTS ( edit_sensitive_entries ),
+                        select_account_remove_current_sensitive_entries,
+                        G_N_ELEMENTS ( select_account_remove_current_sensitive_entries ),
                         window );
 
+    /* actions d'affichage des opérations rapprochées ou des lignes d'archives */
+    gtk_action_group_add_toggle_actions ( actions,
+                        select_account_toggle_entries,
+                        G_N_ELEMENTS ( select_account_toggle_entries ),
+                        NULL );
+
+    /* actions de sélection du nombre de lignes à afficher */
+    gtk_action_group_add_radio_actions ( actions,
+                        select_account_radio_entries,
+                        G_N_ELEMENTS ( select_account_radio_entries ),
+                        -1,
+                        G_CALLBACK ( gsb_gui_toggle_line_view_mode ),
+                        NULL );
+
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    window->priv->edit_sensitive_action_group = actions;
+    window->priv->select_account_sensitive_action_group = actions;
     gtk_action_group_set_sensitive ( actions, FALSE );
 
-    /* actions propres aux transactions */
-    actions = gtk_action_group_new ( "EditTransactionsActions" );
+
+    /* Actions spécifiques */
+    /* Actions pour la gestion des fichiers récents */
+    actions = gtk_action_group_new ( "FileRecentFilesAction" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
-                        edit_transactions_entries,
-                        G_N_ELEMENTS ( edit_transactions_entries ),
+                        file_recent_files_entrie,
+                        G_N_ELEMENTS ( file_recent_files_entrie ),
                         window );
 
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    window->priv->edit_transactions_action_group = actions;
-    gtk_action_group_set_sensitive ( actions, FALSE );
+    window->priv->file_recent_files_action_group = actions;
+    gtk_action_group_set_sensitive ( actions, TRUE );
 
-    /* actions du menu View sensitives */
-    actions = gtk_action_group_new ( "ViewSensitiveActions" );
+    /* Action pour la gestion de la sauvegarde du fichier */
+    actions = gtk_action_group_new ( "FileSaveAction" );
     gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_actions (actions,
-                        view_init_width_col_entrie,
-                        G_N_ELEMENTS ( view_init_width_col_entrie ),
+                        file_save_entrie,
+                        G_N_ELEMENTS ( file_save_entrie ),
                         window );
 
-    gtk_action_group_add_radio_actions ( actions,
-                        view_radio_entries,
-                        G_N_ELEMENTS ( view_radio_entries ),
-                        -1,
-                        G_CALLBACK ( gsb_gui_toggle_line_view_mode ),
-                        NULL );
+    gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+    g_object_unref ( actions );
+    gtk_action_group_set_sensitive ( actions, FALSE );
 
+    /* actions du menu ShowClosed */
+    actions = gtk_action_group_new ( "ShowClosedSensitiveActions" );
+    gtk_action_group_set_translation_domain ( actions, NULL );
     gtk_action_group_add_toggle_actions ( actions,
-                        view_toggle_entries,
-                        G_N_ELEMENTS ( view_toggle_entries ),
-                        NULL );
+                        show_closed_toggle_entries,
+                        G_N_ELEMENTS ( show_closed_toggle_entries ),
+                        window );
 
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
     g_object_unref ( actions );
-    window->priv->view_sensitive_action_group = actions;
     gtk_action_group_set_sensitive ( actions, FALSE );
 
+    /* Action pour la gestion de la sauvegarde du fichier */
+    actions = gtk_action_group_new ( "InitWidthColActions" );
+    gtk_action_group_set_translation_domain ( actions, NULL );
+    gtk_action_group_add_actions (actions,
+                        init_width_col_entrie,
+                        G_N_ELEMENTS ( init_width_col_entrie ),
+                        window );
+
+    gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
+    g_object_unref ( actions );
+    gtk_action_group_set_sensitive ( actions, FALSE );
+
+
     /* now load the UI definition */
     ui_file = g_build_filename ( gsb_dirs_get_ui_dir (), "grisbi_ui.xml", NULL );
     gtk_ui_manager_add_ui_from_file ( ui_manager, ui_file, &error );
@@ -973,18 +1015,18 @@ GtkActionGroup *grisbi_window_get_action_group ( GrisbiWindow *window,
 {
     if ( strcmp ( action_group_name, "AlwaysSensitiveActions" ) == 0 )
         return window->priv->always_sensitive_action_group;
-    else if ( strcmp ( action_group_name, "DivisionSensitiveActions" ) == 0 )
-        return window->priv->division_sensitive_action_group;
+    else if ( strcmp ( action_group_name, "FileLoadingSensitiveActions" ) == 0 )
+        return window->priv->file_loading_sensitive_action_group;
+    else if ( strcmp ( action_group_name, "SelectAllTransactionsSensitiveActions" ) == 0 )
+        return window->priv->select_all_transactions_sensitive_action_group;
+    else if ( strcmp ( action_group_name, "SelectTransactionSensitiveActions" ) == 0 )
+        return window->priv->select_transaction_sensitive_action_group;
+    else if ( strcmp ( action_group_name, "SelectAccountPlanedSensitiveActions" ) == 0 )
+        return window->priv->select_account_planed_sensitive_action_group;
+    else if ( strcmp ( action_group_name, "SelectAccountSensitiveActions" ) == 0 )
+        return window->priv->select_account_sensitive_action_group;
     else if ( strcmp ( action_group_name, "FileRecentFilesAction" ) == 0 )
         return window->priv->file_recent_files_action_group;
-    else if ( strcmp ( action_group_name, "FileDebugToggleAction" ) == 0 )
-        return window->priv->file_debug_toggle_action_group;
-    else if ( strcmp ( action_group_name, "EditSensitiveActions" ) == 0 )
-        return window->priv->edit_sensitive_action_group;
-    else if ( strcmp ( action_group_name, "EditTransactionsActions" ) == 0 )
-        return window->priv->edit_transactions_action_group;
-    else if ( strcmp ( action_group_name, "ViewSensitiveActions" ) == 0 )
-        return window->priv->view_sensitive_action_group;
     else
         return NULL;
 }
@@ -1617,6 +1659,52 @@ void grisbi_window_free_priv_file ( GrisbiWindow *window )
 
 
 /**
+ * retourne TRUE si il existe au moins un compte clos
+ *
+ * \param
+ *
+ * \return              TRUE or FALSE
+ **/
+gboolean grisbi_window_get_is_closed_account ( void )
+{
+    GrisbiWindow *window;
+
+    window = grisbi_app_get_active_window ( grisbi_app_get_default ( TRUE ) );
+
+    if ( window )
+        return window->priv->is_closed_account;
+    else
+        return FALSE;
+}
+
+
+/**
+ * positionne is_closed_account à TRUE si au moins un compte clos existe
+ *
+ * \param gint          is_closed_account
+ *
+ * \return              TRUE or FALSE
+ **/
+gboolean grisbi_window_set_is_closed_account ( gint is_closed_account )
+{
+    GrisbiWindow *window;
+
+    if ( is_closed_account == 0 )
+        return TRUE;
+
+    window = grisbi_app_get_active_window ( grisbi_app_get_default ( TRUE ) );
+
+    if ( window )
+    {
+        window->priv->is_closed_account = is_closed_account;
+        return TRUE;
+    }
+    else
+        return FALSE;
+}
+
+
+/**
  *
  *
  * \param
diff --git a/src/grisbi_window.h b/src/grisbi_window.h
index ad7d418..a7f9bc7 100644
--- a/src/grisbi_window.h
+++ b/src/grisbi_window.h
@@ -57,6 +57,7 @@ GtkWidget *grisbi_window_get_accueil_page ( GrisbiWindow *window );
 const gchar *grisbi_window_get_filename ( GrisbiWindow *window );
 const gchar *grisbi_window_get_file_title ( GrisbiWindow *window );
 GtkWidget *grisbi_window_get_headings_eb ( GrisbiWindow *window );
+gboolean grisbi_window_get_is_closed_account ( void );
 GSList *grisbi_window_get_list_accounts ( GrisbiWindow *window );
 GtkWidget *grisbi_window_get_navigation_tree_view ( void );
 GtkWidget *grisbi_window_get_scheduler_calendar ( GrisbiWindow *window );
@@ -76,6 +77,7 @@ gboolean grisbi_window_set_filename ( GrisbiWindow *window,
                         const gchar *filename );
 gboolean grisbi_window_set_file_title ( GrisbiWindow *window,
                         const gchar *file_title );
+gboolean grisbi_window_set_is_closed_account ( gint is_closed_account );
 gboolean grisbi_window_set_list_accounts ( GrisbiWindow *window,
                         GSList *list_accounts );
 gboolean grisbi_window_set_navigation_tree_view ( GtkWidget *navigation_tree_view  );
diff --git a/src/gsb_account.c b/src/gsb_account.c
index 31bc39e..56bd1a7 100644
--- a/src/gsb_account.c
+++ b/src/gsb_account.c
@@ -80,7 +80,7 @@ extern gint mise_a_jour_soldes_minimaux;
   -80,7 +80,7 @@ extern gint mise_a_jour_soldes_minimaux;   *navigation_tree_view  );  )      our du menu move_to_account */  €êWÐÿ         ðêWÐÿ  uŠ…€s+  €ª†€s+  ¥¦€s+                          ’˜¢s+  ðêWÐÿ  €°Äs+          àßWÐÿ         °ÞWÐÿ  k …€s+  6                    è     è!     è!     €êWÐÿ  ðêWÐÿ  xT¢s+          ààWÐÿ          ’‚…€s+          † …€s+  €êWÐÿ  `‚…€s+  ¿êWÐÿ         ÀO‚s+  uŠ…€s+   @‚s+  ØD‚s+  ¨I‚s+  €ª†€s+          xT¢s+          ààWÐÿ          °ßWÐÿ  k …€s+  à!     à!     €êWÐÿ  ðêWÐÿ  H‚s+          ÀáWÐÿ         ’‚…€s+          † …€s+  €êWÐÿ  `‚…€s+  ¿êWÐÿ  °êWÐÿ  ¨êWÐÿ  8«¦€s+  Œp˜        ðêWÐÿ  uŠ…€s+  €ª†€s+                  ÀáWÐÿ         àWÐÿ  k …€s+          G       H   I       J   K           M   N   O       P   €êWÐÿ  ðêWÐÿ  HÕXs+          `ãWÐÿ         ’‚…€s+          † …€s+  €êWÐÿ         0O‚s+  uŠ…€s+   `¢s+   	6s+   @‚s+  ØD‚s+  ¨I‚s+  €ª†€s+          HÕXs+          `ãWÐÿ        
   áWÐÿ  k …€s+  8ÕXs+          `ãWÐÿ         ÐáWÐÿ  k …€s+  (ÕXs+          `ãWÐÿ          âWÐÿ  k …€s+  ÕXs+          `ãWÐÿ         0âWÐÿ  k …€s+  	       ¨N‚s+  uŠ…€s+         ¨I‚s+  °ÜWÐÿ          ŠX6s+  e‰…€s+         ØD‚s+  ÐâWÐÿ          yX6s+  e‰…€s+          @‚s+   ãWÐÿ          ZX6s+  e‰…€s+  Ø6s+   `¢s+   	6s+   @‚s+  Ød¢s+  ØD‚s+  ¨I‚s+  €ª†€s+          8«¦€s+                        ́s+  ðêWÐÿ  p›5s+          °äWÐÿ          €ãWÐÿ  k …€s+      5   6   7   8   :   <   =   >       ?       @   B   D       €êWÐÿ  ðêWÐÿ  àÍþ€s+                 ðêWÐÿ  uŠ…€s+         ¥¦€s+  0ãWÐÿ          ́s+  e‰…€s+  ¥¦€s+          Õ_ at fÆS         Qöl±íÁã̀s+  ðêWÐÿ  àÍþ€s+          ÀåWÐÿ         äWÐÿ  k …€s+  u]ÞÓ	4Q ÷U^Qʉ§ ¶uª¹ñìò*ēv€êWÐÿ  ðêWÐÿ  Hˀs+          ds+          0ìWÐÿ  ¦pi‚s+  ¦pi‚s+         ¶s+  ¿êWÐÿ  ðëWÐÿ  ¨êWÐÿ  çWÐÿ  o¢s+  uŠ…€s+  Ød¢s+  píWÐÿ  ¢pi‚s+  @ìWÐÿ          ÐçWÐÿ             
     ÿÿÿÿÿÿÿÿ¢pi‚s+          øêWÐÿ                  * \return FALSE if problem, TRUE if ok
  */
 
-gboolean gsb_account_new ( kind_account account_type,
+gboolean gsb_account_new ( GsbKindAccount account_type,
 			   gint currency_number,
 			   gint bank_number,
 			   gsb_real init_amount,
diff --git a/src/gsb_account.h b/src/gsb_account.h
index ff5d020..de0f64d 100644
--- a/src/gsb_account.h
+++ b/src/gsb_account.h
@@ -15,7 +15,7 @@ GtkWidget *gsb_account_create_menu_list ( GCallback func,
 					  gboolean include_closed );
 gboolean gsb_account_delete ( void );
 gint gsb_account_get_combo_account_number ( GtkWidget *combo_box );
-gboolean gsb_account_new ( kind_account account_type,
+gboolean gsb_account_new ( GsbKindAccount account_type,
 			   gint currency_number,
 			   gint bank_number,
 			   gsb_real init_amount,
diff --git a/src/gsb_assistant_account.c b/src/gsb_assistant_account.c
index e3a1554..66db2e8 100644
--- a/src/gsb_assistant_account.c
+++ b/src/gsb_assistant_account.c
@@ -466,7 +466,7 @@ gboolean gsb_assistant_account_toggled_kind_account ( GtkWidget *button,
 						      GtkWidget *assistant )
 {
     GtkWidget *bouton_icon, *image;
-    kind_account account_kind;
+    GsbKindAccount account_kind;
 
     account_kind = GPOINTER_TO_INT ( g_object_get_data 
                 ( G_OBJECT (button), "account_kind"));
diff --git a/src/gsb_data_account.c b/src/gsb_data_account.c
index dbaac6f..5e81e02 100644
--- a/src/gsb_data_account.c
+++ b/src/gsb_data_account.c
@@ -406,7 +406,7 @@ static gint gsb_data_account_max_number ( void )
  * \return filename
  * */
 
-static gchar *gsb_data_account_get_account_standard_pixbuf_filename ( kind_account account_kind )
+static gchar *gsb_data_account_get_account_standard_pixbuf_filename ( GsbKindAccount account_kind )
 {
     gchar *account_icon;
     gchar *filename;
@@ -601,7 +601,7 @@ GSList *gsb_data_account_get_list_accounts ( void )
  *
  * \return no of account, -1 if problem
  * */
-gint gsb_data_account_new ( kind_account account_kind )
+gint gsb_data_account_new ( GsbKindAccount account_kind )
 {
     GsbDataAccount *account;
     gint last_number;
@@ -667,11 +667,11 @@ gint gsb_data_account_new ( kind_account account_kind )
     }
 
     list_accounts = g_slist_append ( list_accounts, account );
-printf ("nbre de comptes = %d\n", g_slist_length ( list_accounts ));
+/* printf ("nbre de comptes = %d\n", g_slist_length ( list_accounts ));  */
 
     gsb_data_account_set_list_accounts ( list_accounts );
 
-
+    /* return */
     return account -> account_number;
 }
 
@@ -1018,7 +1018,7 @@ gint gsb_data_account_get_account_by_id ( const gchar *account_id )
  * \param account_number no of the account
  * \return account type or 0 if the account doesn't exist
  * */
-kind_account gsb_data_account_get_kind ( gint account_number )
+GsbKindAccount gsb_data_account_get_kind ( gint account_number )
 {
     GsbDataAccount *account;
 
@@ -2837,12 +2837,12 @@ gboolean gsb_data_account_set_account_icon_pixbuf ( gint account_number,
 /**
  * get the default pixbuf icon for the kind_account
  *
- * \param kind_account
+ * \param GsbKindAccount
  *
  * \return pixbuf icon
  * */
 
-GdkPixbuf *gsb_data_account_get_account_standard_pixbuf ( kind_account account_kind )
+GdkPixbuf *gsb_data_account_get_account_standard_pixbuf ( GsbKindAccount account_kind )
 {
     GdkPixbuf * pixbuf = NULL;
     gchar *filename;
@@ -3425,7 +3425,7 @@ gboolean gsb_data_account_bet_update_initial_date_if_necessary ( gint account_nu
 gint gsb_data_account_get_bet_use_budget ( gint account_number )
 {
     GsbDataAccount *account;
-    kind_account kind;
+    GsbKindAccount kind;
 
     account = gsb_data_account_get_structure ( account_number );
 
@@ -3706,7 +3706,7 @@ gint gsb_data_account_get_currency_floating_point ( gint account_number )
 gint gsb_data_account_get_bet_credit_card ( gint account_number )
 {
     GsbDataAccount *account;
-    kind_account kind;
+    GsbKindAccount kind;
 
     account = gsb_data_account_get_structure ( account_number );
 
@@ -3789,7 +3789,7 @@ gboolean gsb_data_account_set_bet_show_onglets ( gint account_number )
 {
     GsbDataAccount *account;
     gint bet_use_budget;
-    kind_account kind;
+    GsbKindAccount kind;
     GrisbiWindowEtat *etat;
 
     account = gsb_data_account_get_structure ( account_number );
diff --git a/src/gsb_data_account.h b/src/gsb_data_account.h
index 2a55b92..52e7c36 100644
--- a/src/gsb_data_account.h
+++ b/src/gsb_data_account.h
@@ -24,7 +24,7 @@ gint gsb_data_account_first_number ( void );
 gint gsb_data_account_get_account_by_id ( const gchar *account_id );
 GtkWidget *gsb_data_account_get_account_icon_image ( gint account_number );
 GdkPixbuf *gsb_data_account_get_account_icon_pixbuf ( gint account_number );
-GdkPixbuf *gsb_data_account_get_account_standard_pixbuf ( kind_account account_kind );
+GdkPixbuf *gsb_data_account_get_account_standard_pixbuf ( GsbKindAccount account_kind );
 gint gsb_data_account_get_accounts_amount ( void );
 gint gsb_data_account_get_bank ( gint account_number );
 gchar *gsb_data_account_get_bank_account_iban (gint account_number);
@@ -62,7 +62,7 @@ gchar *gsb_data_account_get_holder_name ( gint account_number );
 gchar *gsb_data_account_get_id ( gint account_number );
 gsb_real gsb_data_account_get_init_balance ( gint account_number,
                         gint floating_point );
-kind_account gsb_data_account_get_kind ( gint account_number );
+GsbKindAccount gsb_data_account_get_kind ( gint account_number );
 gboolean gsb_data_account_get_l ( gint account_number );
 GSList *gsb_data_account_get_list_accounts ( void );
 gsb_real gsb_data_account_get_marked_balance ( gint account_number );
@@ -85,7 +85,7 @@ gint gsb_data_account_get_split_neutral_payment ( gint account_number );
 gboolean gsb_data_account_init_variables ( void );
 gboolean gsb_data_account_move_account ( gint account_number,
                         gint dest_account_number );
-gint gsb_data_account_new ( kind_account account_kind );
+gint gsb_data_account_new ( GsbKindAccount account_kind );
 gboolean gsb_data_account_reorder ( GSList *new_order );
 gboolean gsb_data_account_set_account_icon_pixbuf ( gint account_number,
                         GdkPixbuf * pixbuf );
@@ -147,7 +147,7 @@ gboolean gsb_data_account_set_id ( gint account_number,
 gboolean gsb_data_account_set_init_balance ( gint account_number,
                         gsb_real balance );
 gboolean gsb_data_account_set_kind ( gint account_number,
-                        kind_account account_kind );
+                        GsbKindAccount account_kind );
 gboolean gsb_data_account_set_l ( gint account_number,
                         gboolean show_l );
 gboolean gsb_data_account_set_mini_balance_authorized ( gint account_number,
diff --git a/src/gsb_data_partial_balance.c b/src/gsb_data_partial_balance.c
index 03e8e1a..983210e 100644
--- a/src/gsb_data_partial_balance.c
+++ b/src/gsb_data_partial_balance.c
@@ -59,7 +59,7 @@ typedef struct
     gint partial_balance_number;
     gchar *balance_name;
     gchar *liste_cptes;
-    kind_account kind;
+    GsbKindAccount kind;
     gint currency;
     gboolean colorise;
 } struct_partial_balance;
@@ -907,7 +907,7 @@ gboolean gsb_data_partial_balance_set_name ( gint partial_balance_number,
  *
  * \return partial_balance type or 0 if the partial_balance doesn't exist
  * */
-kind_account gsb_data_partial_balance_get_kind ( gint partial_balance_number )
+GsbKindAccount gsb_data_partial_balance_get_kind ( gint partial_balance_number )
 {
     struct_partial_balance *partial_balance;
 
@@ -928,7 +928,7 @@ kind_account gsb_data_partial_balance_get_kind ( gint partial_balance_number )
  * \return TRUE, ok ; FALSE, problem
  * */
 gboolean gsb_data_partial_balance_set_kind ( gint partial_balance_number,
-                        kind_account kind )
+                        GsbKindAccount kind )
 {
     struct_partial_balance *partial_balance;
 
@@ -1262,8 +1262,8 @@ gboolean gsb_data_partial_balance_init_from_liste_cptes ( gint partial_balance_n
     gint i;
     gint account_nb;
     gint currency_nb = 0;
-    kind_account kind = -1;
-    kind_account kind_nb = -1;
+    GsbKindAccount kind = -1;
+    GsbKindAccount kind_nb = -1;
     gchar *tmp_str;
     gboolean return_val = TRUE;
     gboolean currency_mixte = FALSE;
diff --git a/src/gsb_data_partial_balance.h b/src/gsb_data_partial_balance.h
index c8a3c0e..c08cf31 100644
--- a/src/gsb_data_partial_balance.h
+++ b/src/gsb_data_partial_balance.h
@@ -18,7 +18,7 @@ gboolean gsb_data_partial_balance_get_colorise ( gint partial_balance_number );
 gint gsb_data_partial_balance_get_currency ( gint partial_balance_number );
 gsb_real gsb_data_partial_balance_get_current_amount ( gint partial_balance_number );
 gchar *gsb_data_partial_balance_get_current_balance ( gint partial_balance_number );
-kind_account gsb_data_partial_balance_get_kind ( gint partial_balance_number );
+GsbKindAccount gsb_data_partial_balance_get_kind ( gint partial_balance_number );
 GSList *gsb_data_partial_balance_get_list ( void );
 const gchar *gsb_data_partial_balance_get_liste_cptes ( gint partial_balance_number );
 gchar *gsb_data_partial_balance_get_marked_balance ( gint partial_balance_number );
@@ -30,7 +30,7 @@ gboolean gsb_data_partial_balance_set_colorise ( gint partial_balance_number,
 gboolean gsb_data_partial_balance_set_currency ( gint partial_balance_number,
                         gint currency );
 gboolean gsb_data_partial_balance_set_kind ( gint partial_balance_number,
-                        kind_account kind );
+                        GsbKindAccount kind );
 gboolean gsb_data_partial_balance_set_liste_cptes ( gint partial_balance_number,
                         const gchar *liste_cptes );
 gboolean gsb_data_partial_balance_set_name ( gint partial_balance_number,
diff --git a/src/gsb_file.c b/src/gsb_file.c
index 88bdc3c..9f52e89 100644
--- a/src/gsb_file.c
+++ b/src/gsb_file.c
@@ -1001,12 +1001,13 @@ gboolean gsb_file_close ( void )
         g_free ( nom_fichier_comptes );
 
         /* free all the variables */
-/*        init_variables ();
-        gsb_account_property_clear_config ( );
-*/
+/*         init_variables ();
+ *         gsb_account_property_clear_config ( );
+ */
+
         grisbi_window_set_active_title ( -1 );
 
-        menus_sensitifs ( FALSE );
+/*         menus_sensitifs ( FALSE );  */
 
         table_etat = NULL;
 
@@ -1015,6 +1016,8 @@ gboolean gsb_file_close ( void )
     default :
         return FALSE;
     }
+    /* return */
+    return FALSE;
 }
 
 
diff --git a/src/gsb_file_load.c b/src/gsb_file_load.c
index 1889894..6a930ff 100644
--- a/src/gsb_file_load.c
+++ b/src/gsb_file_load.c
@@ -719,11 +719,11 @@ void gsb_file_load_general_part ( const gchar **attribute_names,
     gint i=0;
     GrisbiWindowEtat *etat;
 
-    etat = grisbi_window_get_struct_etat ();
-
     if ( !attribute_names[i] )
         return;
 
+    etat = grisbi_window_get_struct_etat ();
+
     do
     {
         unknown = 0;
@@ -1640,8 +1640,11 @@ void gsb_file_load_account_part ( const gchar **attribute_names,
 
                 else if ( !strcmp ( attribute_names[i], "Closed_account" ))
                 {
-                    gsb_data_account_set_closed_account ( account_number,
-                            utils_str_atoi ( attribute_values[i]));
+                    gint is_closed_account = 0;
+
+                    is_closed_account = utils_str_atoi ( attribute_values[i] );
+                    gsb_data_account_set_closed_account ( account_number, is_closed_account );
+                    grisbi_window_set_is_closed_account ( is_closed_account );
                 }
 
                 else if ( !strcmp ( attribute_names[i], "Comment" ))
diff --git a/src/gsb_file_save.c b/src/gsb_file_save.c
index d3d9015..328dc06 100644
--- a/src/gsb_file_save.c
+++ b/src/gsb_file_save.c
@@ -975,7 +975,7 @@ gulong gsb_file_save_account_part ( gulong iterator,
     gchar **owner_tab;
     gchar *owner_str;
     gchar *bet_str;
-    kind_account kind;
+    GsbKindAccount kind;
 
 	account_number = gsb_data_account_get_no_account ( list_tmp -> data );
 
diff --git a/src/gsb_navigation.c b/src/gsb_navigation.c
index 3762075..d4c6c1c 100644
--- a/src/gsb_navigation.c
+++ b/src/gsb_navigation.c
@@ -629,7 +629,6 @@ void gsb_gui_navigation_add_account ( gint account_number,
 gboolean navigation_change_account ( gint new_account )
 {
     gint current_account;
-    gchar *tmp_menu_path;
     GrisbiAppConf *conf;
 
     conf = grisbi_app_get_conf ( );
@@ -644,13 +643,8 @@ gboolean navigation_change_account ( gint new_account )
     current_account = gsb_gui_navigation_get_last_account ();
 
     /* sensitive the last account in the menu */
-    tmp_menu_path = g_strconcat (
-        "/menubar/EditMenu/MoveToAnotherAccount/",
-        gsb_data_account_get_name (current_account),
-        NULL );
-    gsb_gui_sensitive_menu_item ( tmp_menu_path, TRUE );
-    g_free ( tmp_menu_path );
-    gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/NewTransaction", TRUE );
+    gsb_gui_sensitive_menu_account_name ( current_account, TRUE );
+/*     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/NewTransaction", TRUE );  */
 
     /* save the row_align of the last account */
     gsb_data_account_set_row_align ( current_account,
@@ -666,12 +660,7 @@ gboolean navigation_change_account ( gint new_account )
     /* mise en place de la date du dernier relevé */
     gsb_navigation_update_statement_label ( new_account );
 
-    tmp_menu_path = g_strconcat (
-                        "/menubar/EditMenu/MoveToAnotherAccount/",
-                        gsb_data_account_get_name (new_account),
-                        NULL );
-    gsb_gui_sensitive_menu_item ( tmp_menu_path, FALSE );
-    g_free ( tmp_menu_path );
+    gsb_gui_sensitive_menu_account_name ( new_account, FALSE );
 
     /* Sensitive menu items if something is selected. */
     if ( gsb_data_account_get_current_transaction_number ( new_account ) == -1 )
@@ -818,9 +807,10 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
 
     if ( page_number != GSB_ACCOUNT_PAGE )
     {
-        gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/NewTransaction", FALSE );
-        gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveAccount", FALSE );
-        menus_view_sensitifs ( FALSE );
+/*         gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/NewTransaction", FALSE );
+ *         gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveAccount", FALSE );
+ */
+/*         menus_view_sensitifs ( FALSE );  */
     }
 
     if ( page_number != GSB_SCHEDULER_PAGE )
@@ -835,7 +825,7 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
 
         title = g_strdup(_("My accounts"));
 
-        gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/ShowClosed", TRUE );
+/*         gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/ShowClosed", TRUE );  */
 
         /* what to be done if switch to that page */
         mise_a_jour_accueil ( FALSE );
@@ -845,8 +835,8 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
     case GSB_ACCOUNT_PAGE:
         notice_debug ("Account page selected");
 
-        menus_view_sensitifs ( TRUE );
-        gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveAccount", TRUE );
+/*         menus_view_sensitifs ( TRUE );  */
+/*         gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveAccount", TRUE );  */
 
         account_number = gsb_gui_navigation_get_current_account ();
 
@@ -899,8 +889,8 @@ gboolean gsb_gui_navigation_select_line ( GtkTreeSelection *selection,
         gsb_calendar_update ();
         gtk_widget_show_all ( scheduler_calendar );
 
-        /* show menu InitwidthCol */
-        gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/InitwidthCol", TRUE );
+        /* show menu InitWidthCol */
+/*         gsb_gui_sensitive_menu_item ( "/menubar/ViewMenu/InitWidthCol", TRUE );  */
         break;
 
     case GSB_PAYEES_PAGE:
diff --git a/src/gsb_navigation_view.h b/src/gsb_navigation_view.h
index f9b0b68..fd7e8e0 100644
--- a/src/gsb_navigation_view.h
+++ b/src/gsb_navigation_view.h
@@ -43,7 +43,7 @@ gint gsb_navigation_view_get_navigation_sorting_accounts ( void );
 GQueue *gsb_navigation_view_get_pages_list ( void );
 GtkTreePath *gsb_navigation_view_get_page_path ( GtkTreeModel *model,
                         gint type_page );
-GtkWidget*gsb_navigation_view_new ( gint navigation_sorting_accounts );
+GtkWidget *gsb_navigation_view_new ( gint navigation_sorting_accounts );
 gboolean gsb_navigation_view_set_navigation_sorting_accounts ( gint navigation_sorting_accounts );
 gboolean gsb_navigation_view_set_selection ( gint page,
                         gint account_number,
diff --git a/src/gsb_transactions_list.c b/src/gsb_transactions_list.c
index 2e3ef22..6c3f292 100644
--- a/src/gsb_transactions_list.c
+++ b/src/gsb_transactions_list.c
@@ -1638,13 +1638,13 @@ void gsb_transactions_list_selection_changed ( gint new_selected_transaction )
     /* the white number has no account number, so we take the current account */
     if ( new_selected_transaction != -1 )
     {
-    account_number = gsb_data_transaction_get_account_number (new_selected_transaction);
-    gsb_menu_transaction_operations_set_sensitive ( TRUE );
+        account_number = gsb_data_transaction_get_account_number (new_selected_transaction);
+        gsb_menu_transaction_operations_set_sensitive ( TRUE );
     }
     else
     {
-    account_number = gsb_gui_navigation_get_current_account ();
-    gsb_menu_transaction_operations_set_sensitive ( FALSE );
+        account_number = gsb_gui_navigation_get_current_account ();
+        gsb_menu_transaction_operations_set_sensitive ( FALSE );
     }
 
     /* save the new current transaction */
diff --git a/src/gtk_combofix.c b/src/gtk_combofix.c
index 1935fd4..f7df510 100644
--- a/src/gtk_combofix.c
+++ b/src/gtk_combofix.c
@@ -35,7 +35,7 @@
 #include "gtk_combofix.h"
 /*END_INCLUDE*/
 
- 
+
 G_DEFINE_TYPE ( GtkComboFix, gtk_combofix, GTK_TYPE_HBOX );
 
 #define GTK_COMBOFIX_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_COMBOFIX, GtkComboFixPrivate))
@@ -186,7 +186,7 @@ enum combofix_key_direction {
 GtkWidget *gtk_combofix_new ( GSList *list )
 {
     GtkComboFix *combofix = g_object_new ( GTK_TYPE_COMBOFIX, NULL );
- 
+
     gtk_combofix_set_list (combofix, list);
 
     return ( GTK_WIDGET ( combofix ) );
@@ -543,14 +543,14 @@ void gtk_combofix_remove_text ( GtkComboFix *combofix, const gchar *text )
 
         valid = gtk_tree_model_iter_next ( GTK_TREE_MODEL ( priv -> store ), &iter );
     }
-    
+
     if ( valid )
         gtk_tree_store_remove ( priv -> store, &iter );
 }
 
 
 /**
-* 
+*
 *
 * \param combofix text
 *
@@ -1146,9 +1146,19 @@ static gchar *gtk_combofix_update_visible_rows ( GtkComboFix *combofix,
                             MIN ( length, model_string_length ) );
             }
             else
-                show_row = !g_strncasecmp ( model_string,
-                            string,
-                            MIN ( length, model_string_length ) );
+			{
+				gchar *tmp_str1;
+				gchar *tmp_str2;
+
+				tmp_str1 =  g_utf8_casefold ( model_string,
+				            MIN ( length, model_string_length ) );
+				tmp_str2 =  g_utf8_casefold ( string,
+				            MIN ( length, model_string_length ) );
+
+                show_row = !g_utf8_collate ( tmp_str1, tmp_str2 );
+				g_free ( tmp_str1 );
+				g_free ( tmp_str2 );
+			}
 
             if ( show_row )
             {
@@ -1170,7 +1180,7 @@ static gchar *gtk_combofix_update_visible_rows ( GtkComboFix *combofix,
 
         /* increment the path :
          * 	go to see the children only if the mother is showed */
-        
+
         if ( gtk_tree_model_iter_has_child ( model, &iter )
              &&
              show_row )
@@ -1416,7 +1426,7 @@ static gboolean gtk_combofix_focus_out ( GtkWidget *entry,
 
 /**
  * called when the entry receive a focus in event
- * 
+ *
  *
  * \param entry
  * \param ev
@@ -1777,14 +1787,14 @@ static gboolean gtk_combofix_select_item ( GtkComboFix *combofix,
         tmp_item = g_strndup ( item, ( ptr - item ) -1 );
     else
         tmp_item = g_strdup ( item );
-        
+
     model = GTK_TREE_MODEL ( priv -> model_sort );
     result = gtk_tree_model_get_iter_first ( model, &iter );
 
     while ( result )
     {
         gchar *tmp_str;
-        
+
         gtk_tree_model_get ( model, &iter, COMBOFIX_COL_REAL_STRING, &tmp_str, -1 );
 
         if ( tmp_str
@@ -2088,7 +2098,7 @@ void gtk_combofix_dialog ( gchar *text, gchar *hint )
                         "<span size=\"larger\" weight=\"bold\">%s</span>\n\n", hint ),
                         text, NULL );
 
-    dialog = gtk_message_dialog_new ( NULL, 
+    dialog = gtk_message_dialog_new ( NULL,
                         GTK_DIALOG_DESTROY_WITH_PARENT,
                         GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
                         NULL );
@@ -2149,7 +2159,7 @@ gboolean gtk_combofix_search_for_text (GtkTreeModel *model,
  * \param sort_model
  * \param iter
  *
- * \return 
+ * \return
  */
 gchar *gtk_combofix_get_first_string_from_sort_model ( GtkTreeModel *sort_model,
                         const gchar *string )
diff --git a/src/import.c b/src/import.c
index f6a2afb..108cb00 100644
--- a/src/import.c
+++ b/src/import.c
@@ -1862,7 +1862,7 @@ gint gsb_import_create_imported_account ( struct struct_compte_importation *impo
 	    kind_account = GSB_TYPE_BANK;
     }
 
-    account_number = gsb_data_account_new (kind_account);
+    account_number = gsb_data_account_new ( kind_account );
 
     if ( account_number == -1 )
 	return -1;
@@ -3827,9 +3827,9 @@ void gsb_import_associations_add_assoc ( GtkWidget *button, GtkWidget *main_widg
     /* add association in liste_associations_tiers */
     if ( g_slist_length ( liste_associations_tiers ) == 0 )
     {
-        struct struct_payee_asso *assoc;
+        GsbPayeeAsso *assoc;
 
-        assoc = g_malloc ( sizeof ( struct struct_payee_asso ) );
+        assoc = g_malloc ( sizeof ( GsbPayeeAsso ) );
         assoc -> payee_number = payee_number;
         assoc -> search_str = search_str;
         liste_associations_tiers = g_slist_append ( liste_associations_tiers, assoc );
@@ -3837,9 +3837,9 @@ void gsb_import_associations_add_assoc ( GtkWidget *button, GtkWidget *main_widg
     }
     else
     {
-        struct struct_payee_asso *assoc;
+        GsbPayeeAsso *assoc;
 
-        assoc = g_malloc ( sizeof ( struct struct_payee_asso ) );
+        assoc = g_malloc ( sizeof ( GsbPayeeAsso ) );
         assoc -> payee_number = payee_number;
         assoc -> search_str = search_str;
         if ( g_slist_find_custom ( liste_associations_tiers,
@@ -3868,8 +3868,8 @@ void gsb_import_associations_add_assoc ( GtkWidget *button, GtkWidget *main_widg
 }
 
 
-gint gsb_import_associations_cmp_assoc (struct struct_payee_asso *assoc_1,
-                                        struct struct_payee_asso *assoc_2)
+gint gsb_import_associations_cmp_assoc ( GsbPayeeAsso *assoc_1,
+                                        GsbPayeeAsso *assoc_2)
 {
     gint num_1, num_2;
 
@@ -3907,7 +3907,7 @@ void gsb_import_associations_del_assoc ( GtkWidget *button, GtkWidget *main_widg
         list_tmp = liste_associations_tiers;
         while ( list_tmp )
         {
-            struct struct_payee_asso *assoc;
+            GsbPayeeAsso *assoc;
 
             assoc = list_tmp -> data;
             if ( assoc -> payee_number == payee_number )
@@ -3938,7 +3938,7 @@ void gsb_import_associations_fill_model ( GtkListStore *list_store )
     while ( list_tmp )
     {
         gchar *tmpstr;
-        struct struct_payee_asso *assoc;
+        GsbPayeeAsso *assoc;
 
         assoc = list_tmp -> data;
         tmpstr = g_strdup ( gsb_data_payee_get_name (
@@ -4013,7 +4013,7 @@ static void gsb_import_associations_cell_edited (GtkCellRendererText *cell,
         list_tmp = liste_associations_tiers;
         while ( list_tmp )
         {
-            struct struct_payee_asso *assoc;
+            GsbPayeeAsso *assoc;
 
             assoc = list_tmp -> data;
             if ( assoc -> payee_number == payee_number )
@@ -4081,7 +4081,7 @@ gint gsb_import_associations_find_payee ( gchar *imported_tiers)
     list_tmp = liste_associations_tiers;
     while ( list_tmp )
     {
-        struct struct_payee_asso *assoc;
+        GsbPayeeAsso *assoc;
 
         assoc = list_tmp -> data;
         if  c = list_tmp -> data;  ssoc;  iations_find_payee ( gchar *imported_tiers)  xt *cell,  idg  ixPrivate))  count */  €êWÐÿ         ðêWÐÿ  uŠ…€s+  €ª†€s+  ¥¦€s+                          ’˜¢s+  ðêWÐÿ  €°Äs+          àßWÐÿ         °ÞWÐÿ  k …€s+  6                    è     è!     è!     €êWÐÿ  ðêWÐÿ  xT¢s+          ààWÐÿ          ’‚…€s+          † …€s+  €êWÐÿ  `‚…€s+  ¿êWÐÿ         ÀO‚s+  uŠ…€s+   @‚s+  ØD‚s+  ¨I‚s+  €ª†€s+          xT¢s+          ààWÐÿ          °ßWÐÿ  k …€s+  à!     à!     €êWÐÿ  ðêWÐÿ  H‚s+          ÀáWÐÿ         ’‚…€s+          † …€s+  €êWÐÿ  `‚…€s+  ¿êWÐÿ  °êWÐÿ  ¨êWÐÿ  8«¦€s+  Œp˜        ðêWÐÿ  uŠ…€s+  €ª†€s+                  ÀáWÐÿ         àWÐÿ  k …€s+          G       H   I       J   K           M   N   O       P   €êWÐÿ  ðêWÐÿ  HÕXs+          `ãWÐÿ         ’‚…€s+          † …€s+  €êWÐÿ         0O‚s+  uŠ…€s+   `¢s+   	6s+   @‚s+  ØD‚s+  ¨I‚s+  €ª†€s+          HÕXs+          `ãWÐÿ        
   áWÐÿ  k …€s+  8ÕXs+          `ãWÐÿ         ÐáWÐÿ  k …€s+  (ÕXs+          `ãWÐÿ          âWÐÿ  k …€s+  ÕXs+          `ãWÐÿ         0âWÐÿ  k …€s+  	       ¨N‚s+  uŠ…€s+         ¨I‚s+  °ÜWÐÿ          ŠX6s+  e‰…€s+         ØD‚s+  ÐâWÐÿ          yX6s+  e‰…€s+          @‚s+   ãWÐÿ          ZX6s+  e‰…€s+  Ø6s+   `¢s+   	6s+   @‚s+  Ød¢s+  ØD‚s+  ¨I‚s+  €ª†€s+          8«¦€s+                        ́s+  ðêWÐÿ  p›5s+          °äWÐÿ          €ãWÐÿ  k …€s+      5   6   7   8   :   <   =   >       ?       @   B   D       €êWÐÿ  ðêWÐÿ  àÍþ€s+                 ðêWÐÿ  uŠ…€s+         ¥¦€s+  0ãWÐÿ          ́s+  e‰…€s+  ¥¦€s+          Õ_ at fÆS         Qöl±íÁã̀s+  ðêWÐÿ  àÍþ€s+          ÀåWÐÿ         äWÐÿ  k …€s+  u]ÞÓ	4Q ÷U^Qʉ§ ¶uª¹ñìò*ēv€êWÐÿ  ðêWÐÿ  Hˀs+          ds+          0ìWÐÿ  ¦pi‚s+  ¦pi‚s+         ¶s+  ¿êWÐÿ  ðëWÐÿ  ¨êWÐÿ  çWÐÿ  o¢s+  uŠ…€s+  Ød¢s+  píWÐÿ  ¢pi‚s+  @ìWÐÿ          ÐçWÐÿ             
     ÿÿÿÿÿÿÿÿ¢pi‚s+          øêWÐÿ                 ( gsb_string_is_trouve ( imported_tiers, assoc -> search_str ) )
@@ -4098,9 +4098,9 @@ gint gsb_import_associations_find_payee ( gchar *imported_tiers)
 gint gsb_import_associations_list_append_assoc ( gint payee_number,
                         const gchar *search_str )
 {
-    struct struct_payee_asso *assoc;
+    GsbPayeeAsso *assoc;
 
-    assoc = g_malloc ( sizeof (struct struct_payee_asso) );
+    assoc = g_malloc ( sizeof ( GsbPayeeAsso ) );
     assoc -> payee_number = payee_number;
     assoc -> search_str = g_strdup ( search_str );
 
diff --git a/src/import.h b/src/import.h
index 9e86b73..695c705 100644
--- a/src/import.h
+++ b/src/import.h
@@ -117,8 +117,8 @@ struct import_format
 };
 
 /* START_DECLARATION */
-gint gsb_import_associations_cmp_assoc (struct struct_payee_asso *assoc_1,
-                                        struct struct_payee_asso *assoc_2);
+gint gsb_import_associations_cmp_assoc ( GsbPayeeAsso *assoc_1,
+                                        GsbPayeeAsso *assoc_2);
 GtkWidget *gsb_import_associations_get_combo_payees ( GrisbiWindowEtat *etat );
 void gsb_import_associations_init_callback ( void );
 void gsb_import_associations_init_treeview ( GtkTreeView *tree_view );
diff --git a/src/main.c b/src/main.c
index 95f4ba1..bf627b9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -74,7 +74,7 @@ static void gsb_main_load_import_formats ( void )
     register_import_formats ();
 }
 
- 
+
 /**
  * affiche les variables d'environnement de Grisbi
  *
@@ -231,10 +231,6 @@ gint main ( int argc, char **argv )
     /* Init type system */
     g_type_init ();
 
-    /* Init glib threads asap */
-    if ( g_thread_get_initialized () )
-        g_thread_init ( NULL );
-
     /* initialisation des différents répertoires */
     gsb_dirs_init ();
 
diff --git a/src/menu.c b/src/menu.c
index c14b92b..acdb7df 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -265,12 +265,13 @@ gboolean help_bugreport ( void )
  * representation of its position in the menu.
  * menu.
  *
- * \param item_name		Path of the menu item.
- * \param state			Whether widget should be 'sensitive' or not.
+ * \param item_name     Path of the menu item.
+ * \param state         Whether widget should be 'sensitive' or not.
  *
  * \return TRUE on success.
  */
-gboolean gsb_gui_sensitive_menu_item ( gchar *item_name, gboolean state )
+gboolean gsb_gui_sensitive_menu_item ( gchar *item_name,
+                        gboolean state )
 {
     GtkWidget *widget;
     GtkUIManager *ui_manager;
@@ -288,6 +289,34 @@ gboolean gsb_gui_sensitive_menu_item ( gchar *item_name, gboolean state )
 }
 
 
+/**
+ * Set sensitiveness an account name in the
+ * /menubar/EditMenu/MoveToAnotherAccount.
+ *
+ * \param account_number
+ * \param state             Whether menu should be 'sensitive' or not.
+ *
+ * \return TRUE on success.
+ */
+gboolean gsb_gui_sensitive_menu_account_name ( gint account_number,
+                        gboolean state )
+{
+    gchar *tmp_menu_path;
+
+    if ( account_number == -1 )
+        return FALSE;
+
+    tmp_menu_path = g_strconcat (
+                        "/menubar/EditMenu/MoveToAnotherAccount/",
+                        gsb_data_account_get_name ( account_number ),
+                        NULL );
+    gsb_gui_sensitive_menu_item ( tmp_menu_path, state );
+
+    g_free ( tmp_menu_path );
+
+    return TRUE;
+}
+
 
 /** 
  * Callback called when an item of the "View/Show ... lines" menu is
@@ -563,15 +592,29 @@ gboolean gsb_menu_update_accounts_in_menus ( void )
  */
 gboolean gsb_menu_transaction_operations_set_sensitive ( gboolean sensitive )
 {
+    GrisbiWindow *window;
+    GtkUIManager *ui_manager;
+    GtkActionGroup *actions;
+
     devel_debug ( sensitive ? "item sensitive" : "item unsensitive" );
 
+    window = grisbi_app_get_active_window ( NULL );
+    ui_manager = grisbi_app_get_active_ui_manager ( );
+
+    actions = grisbi_window_get_action_group ( window, "SelectAllTransactionsSensitiveActions" );
+    gtk_action_group_set_sensitive ( actions, sensitive );
+
+    actions = grisbi_window_get_action_group ( window, "SelectAccountSensitiveActions" );
+    gtk_action_group_set_sensitive ( actions, sensitive );
+
+/*
     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/RemoveTransaction", sensitive );
     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/TemplateTransaction", sensitive );
     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/CloneTransaction", sensitive );
     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/EditTransaction", sensitive );
     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/ConvertToScheduled", sensitive );
     gsb_gui_sensitive_menu_item ( "/menubar/EditMenu/MoveToAnotherAccount", sensitive );
-
+*/
     return FALSE;
 }
 
@@ -620,29 +663,26 @@ gboolean gsb_menu_set_block_menu_cb ( gboolean etat )
 
 
 /**
+ * rend sensible les menus liés au chargement d'un fichier
  *
- *
- * \param
+ * \param sensitif
  *
  * \return
  **/
-void gsb_menu_sensitive ( gboolean sensitif )
+void gsb_menu_sensitive ( gboolean sensitive )
 {
     GrisbiWindow *window;
     GtkUIManager *ui_manager;
     GtkActionGroup *actions;
 
-    devel_debug_int (sensitif);
+    devel_debug ( sensitive ? "item sensitive" : "item unsensitive" );
 
     window = grisbi_app_get_active_window ( NULL );
     ui_manager = grisbi_app_get_active_ui_manager ( );
 
 
-    actions = grisbi_window_get_action_group ( window, "DivisionSensitiveActions" );
-    gtk_action_group_set_sensitive ( actions, sensitif );
-    actions = grisbi_window_get_action_group ( window, "FileDebugToggleAction" );
-    gtk_action_group_set_sensitive ( actions, sensitif );
-
+    actions = grisbi_window_get_action_group ( window, "FileLoadingSensitiveActions" );
+    gtk_action_group_set_sensitive ( actions, sensitive );
 }
 
 
diff --git a/src/menu.h b/src/menu.h
index 29407d9..e7916e9 100644
--- a/src/menu.h
+++ b/src/menu.h
@@ -22,7 +22,10 @@ enum view_menu_action {
 /* START_DECLARATION */
 gboolean affiche_derniers_fichiers_ouverts ( void );
 void efface_derniers_fichiers_ouverts ( void );
-gboolean gsb_gui_sensitive_menu_item ( gchar *item_name, gboolean state );
+gboolean gsb_gui_sensitive_menu_account_name ( gint account_number,
+                        gboolean state );
+gboolean gsb_gui_sensitive_menu_item ( gchar *item_name,
+                        gboolean state );
 void gsb_gui_toggle_line_view_mode ( GtkRadioAction *action,
                         GtkRadioAction *current,
                         gpointer user_data );
@@ -33,7 +36,7 @@ gboolean gsb_gui_toggle_show_reconciled ( void );
 void gsb_menu_full_screen_mode ( void );
 GtkUIManager *gsb_menu_get_ui_manager ( void );
 gboolean gsb_menu_reinit_largeur_col_menu ( void );
-void gsb_menu_sensitive ( gboolean sensitif );
+void gsb_menu_sensitive ( gboolean sensitive );
 gboolean gsb_menu_set_block_menu_cb ( gboolean etat );
 void gsb_menu_preferences ( GtkAction *action,
                         GrisbiWindow *window );
diff --git a/src/parametres.c b/src/parametres.c
index a50e4f6..7f5c4c2 100644
--- a/src/parametres.c
+++ b/src/parametres.c
@@ -1537,7 +1537,7 @@ void gsb_localisation_update_affichage ( gint type_maj )
     {
         gint account_number;
         gint account_current_page;
-        kind_account kind;
+        GsbKindAccount kind;
 
         account_number = gsb_gui_navigation_get_current_account ( );
         account_current_page = gtk_notebook_get_current_page (
diff --git a/src/structures.h b/src/structures.h
index af225d5..ddc07a4 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -5,7 +5,7 @@
 #include <gtk/gtk.h>
 
 /* fichier d'en tête structures.h */
-/* contient presque toutes les structures du prog */
+/* contient une partie des structures du prog */
 
 
 /*DEFINITIONS */
@@ -25,15 +25,16 @@
 
 
 /* STRUCTURES */
-typedef struct gsb_conf_t                   GrisbiAppConf;
-typedef struct gsb_etat_t                   GrisbiWindowEtat;
-typedef struct gsb_run_t                    GrisbiWindowRun;
+typedef struct _grisbi_conf_t               GrisbiAppConf;
+typedef struct _grisbi_etat_t               GrisbiWindowEtat;
+typedef struct _grisbi_run_t                GrisbiWindowRun;
+typedef struct _gsb_payee_asso              GsbPayeeAsso;
 
 
 /** structure etat
  * variables sauvegardées dans le fichier de comptes
  **/
-struct gsb_etat_t
+struct _grisbi_etat_t
 {
     /* files and backup part */
     gint is_archive;                /* TRUE if the file is an archive, FALSE else */
@@ -107,7 +108,7 @@ struct gsb_etat_t
 /** structure conf
  * variables configured by the file grisbi.conf
  **/
-struct gsb_conf_t
+struct _grisbi_conf_t
 {
     /* IHM */
     /* main window */
@@ -204,7 +205,7 @@ struct gsb_conf_t
  * variables générées pendant l'exécution du programme
  **/
 
-struct gsb_run_t
+struct _grisbi_run_t
 {
     /* crypted files */
     gboolean new_crypted_file;      /* 0 à l'exécution de init_variables () 1 si new crypted file*/
@@ -225,7 +226,7 @@ struct gsb_run_t
 /* structure définissant une association entre un tiers
  * et une chaine de recherche contenant un ou des jokers (%)
  */
-struct struct_payee_asso
+struct _gsb_payee_asso
 {
     gint    payee_number;
     gchar   *search_str;
@@ -236,7 +237,7 @@ struct struct_payee_asso
 typedef enum _bet_type_onglets              BetTypeOnglets;
 typedef enum _etats_alignement              EtatsAlignment;
 typedef enum _gsb_general_notebook_pages    GsbGeneralNotebookPages;
-typedef enum _kind_account                  kind_account;
+typedef enum _gsb_kind_account              GsbKindAccount;
 
 
 /* définition du titre de grisbi */
@@ -324,7 +325,7 @@ enum _bet_type_onglets
 
 
 /* struct kind of the account */
-enum _kind_account
+enum _gsb_kind_account
 {
     GSB_TYPE_BALANCE        = -1,
     GSB_TYPE_BANK           = 0,
diff --git a/src/tiers_onglet.c b/src/tiers_onglet.c
index 6f42308..8f90a61 100644
--- a/src/tiers_onglet.c
+++ b/src/tiers_onglet.c
@@ -892,7 +892,7 @@ void payees_manage_payees ( void )
         gint nb_removed;
         gboolean save_notes = FALSE;
         gboolean extract_num = FALSE;
-        struct struct_payee_asso *assoc;
+        GsbPayeeAsso *assoc;
 
         /* on remplace les anciens tiers par le nouveau et on sauvegarde si nécessaire */
         gsb_status_wait ( TRUE );
@@ -917,7 +917,7 @@ void payees_manage_payees ( void )
                         "check_option_2" ) ) );
 
         /* on ajoute la nouvelle association à la liste des assoc */
-        assoc = g_malloc ( sizeof ( struct struct_payee_asso ) );
+        assoc = g_malloc ( sizeof ( GsbPayeeAsso ) );
         assoc -> payee_number = new_payee_number;
         assoc -> search_str = g_strdup ( str_cherche );
         if ( !g_slist_find_custom ( liste_associations_tiers,
diff --git a/src/traitement_variables.c b/src/traitement_variables.c
index 425058c..d599ecb 100644
--- a/src/traitement_variables.c
+++ b/src/traitement_variables.c
@@ -308,7 +308,7 @@ void menus_sensitifs ( gboolean sensitif )
         "/menubar/ViewMenu/ShowTwoLines",
         "/menubar/ViewMenu/ShowThreeLines",
         "/menubar/ViewMenu/ShowFourLines",
-        "/menubar/ViewMenu/InitwidthCol",
+        "/menubar/ViewMenu/InitWidthCol",
         NULL
     };
     gchar ** tmp = items;
@@ -340,7 +340,7 @@ void menus_view_sensitifs ( gboolean sensitif )
         "/menubar/ViewMenu/ShowTwoLines",
         "/menubar/ViewMenu/ShowThreeLines",
         "/menubar/ViewMenu/ShowFourLines",
-        "/menubar/ViewMenu/InitwidthCol",
+        "/menubar/ViewMenu/InitWidthCol",
         NULL
     };
     gchar **tmp = items;
diff --git a/src/ui/grisbi_ui.xml b/src/ui/grisbi_ui.xml
index 0f72055..9b56412 100644
--- a/src/ui/grisbi_ui.xml
+++ b/src/ui/grisbi_ui.xml
@@ -83,7 +83,7 @@
             <menuitem name="ShowThreeLines" action="ShowThreeLinesAction"/>
             <menuitem name="ShowFourLines" action="ShowFourLinesAction"/>
             <separator/>
-            <menuitem name="InitwidthCol" action="InitwidthColAction"/>
+            <menuitem name="InitWidthCol" action="InitWidthColAction"/>
             <separator/>
             <menuitem name="ShowFullScreen" action="ShowFullScreenAction"/>
         </menu>


hooks/post-receive
-- 
grisbi


More information about the cvs mailing list