[grisbi-cvs] [SCM] grisbi branch, master, updated. upstream_version_0_9_4-90-g1a42d21

Pierre Biava nobody at users.sourceforge.net
Sun Oct 9 22:54:17 CEST 2011


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, master has been updated
       via  1a42d21fe913d9142b361535baa645cba89e8de1 (commit)
       via  e55b87b8b8f5fc3e6e07633bf6a756a4243cb301 (commit)
       via  2a2ac474caa77f80745e6e3b072d576edfb5db9a (commit)
       via  ca2f23480bfeaa8b0dc2e46673d31dd862889443 (commit)
      from  07c9fe0579ff4597cde2bb46337ac876006d7b22 (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 1a42d21fe913d9142b361535baa645cba89e8de1
Author: pbiava <pierre.biava at nerim.net>
Date:   Sun Oct 9 19:11:37 2011 +0200

    Fixed a bug in the debug function of budgetary lines. Reversal of translation of certain phrases(cherry picked from commit 68b22f771a765075e951e90b5f0d94eae3fa653d)

commit e55b87b8b8f5fc3e6e07633bf6a756a4243cb301
Author: pbiava <pierre.biava at nerim.net>
Date:   Sun Oct 9 17:31:54 2011 +0200

    Added a function for mass processing of files to export.(cherry picked from commit ccbf6debd63503ba0c56423c1b7a0413409196f4)

commit 2a2ac474caa77f80745e6e3b072d576edfb5db9a
Author: pbiava <pierre.biava at nerim.net>
Date:   Sun Oct 9 22:46:15 2011 +0200

    Fix a side effect of commit 53b661fc7c4de2f875982a74e38bb1e200b4e0db

commit ca2f23480bfeaa8b0dc2e46673d31dd862889443
Author: pbiava <pierre.biava at nerim.net>
Date:   Sun Oct 9 10:40:48 2011 +0200

    Added choice of format for files to export(cherry picked from commit 53b661fc7c4de2f875982a74e38bb1e200b4e0db)

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

Changes:
diff --git a/po/fr.po b/po/fr.po
index e082fe3..b463ff6 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7379,33 +7379,32 @@ msgstr ""
 #, c-format
 msgid "Transaction %d has category %d but invalid sub-category %d.\n"
 msgstr ""
-"La sous-catégorie %d de la catégorie %d de la transaction %d est invalide.\n"
+"L'opération %d a la catégorie %d et la sous-catégorie %d qui est invalide.\n"
 
 #. category not found
 #: ../src/gsb_debug.c:625
 #, c-format
 msgid "Transaction %d has invalid category %d.\n"
-msgstr "La catégorie %d de la transaction %d est invalide.\n"
+msgstr "L'opération %d a la catégorie %d qui est invalide.\n"
 
 #. sub-budget not found
 #: ../src/gsb_debug.c:715
 #, c-format
 msgid "Transaction %d has budget %d but invalid sub-budget %d.\n"
 msgstr ""
-"La sous-imputation budgétaire %d de l'imputation budgétaire %d de la "
-"transaction %d est invalide.\n"
+"L'opération %d a l'imputation budgétaire %d et la sous-imputation %d qui est invalide.\n"
 
 #. budget not found
 #: ../src/gsb_debug.c:729
 #, c-format
 msgid "Transaction %d has invalid budget %d.\n"
-msgstr "L'imputation budgétaire %d de la transaction %d est invalide\n"
+msgstr "L'opération %d a l'imputation budgétaire %d qui est invalide\n"
 
 #. payee not found
 #: ../src/gsb_debug.c:814
 #, c-format
 msgid "Transaction %d has invalid payee %d.\n"
-msgstr "Le tiers %d de la transaction %d est invalide.\n"
+msgstr "L'opération %d a le tiers %d qui est invalide.\n"
 
 #. Create main widget.
 #: ../src/gsb_file.c:175
diff --git a/src/export.c b/src/export.c
index 42c4945..1f6dcd7 100644
--- a/src/export.c
+++ b/src/export.c
@@ -30,29 +30,36 @@
 
 /*START_INCLUDE*/
 #include "export.h"
-#include "gsb_assistant.h"
+#include "dialog.h"
 #include "export_csv.h"
+#include "gsb_assistant.h"
+#include "gsb_automem.h"
 #include "gsb_data_account.h"
 #include "gsb_file.h"
-#include "dialog.h"
-#include "utils.h"
 #include "qif.h"
 #include "structures.h"
+#include "traitement_variables.h"
+#include "utils.h"
 #include "erreur.h"
 /*END_INCLUDE*/
 
 
 /*START_STATIC*/
 static GtkWidget * create_export_account_resume_page ( struct exported_account * account );
+static void export_account_all_toggled ( GtkToggleButton *button,
+                        GtkTreeView *tree_view );
 static gboolean export_account_change_format ( GtkWidget * combo,
 					struct exported_account * account );
+static gboolean export_account_radiobutton_format_changed ( GtkWidget *checkbutton,
+                        GdkEventButton *event,
+                        gint *pointeur );
+static void expert_account_free_account_structure ( struct exported_account *account );
 static void export_account_toggled ( GtkCellRendererToggle *cell, gchar *path_str,
 			      GtkTreeModel * model );
-static void export_account_all_toggled ( GtkToggleButton *button,
-                        GtkTreeView *tree_view );
 static GtkWidget * export_create_final_page ( GtkWidget * assistant );
 static GtkWidget * export_create_resume_page ( GtkWidget * assistant );
 static GtkWidget * export_create_selection_page ( GtkWidget * assistant );
+static gboolean export_enter_final_page ( GtkWidget *assistant );
 static gboolean export_enter_resume_page ( GtkWidget * assistant );
 static void export_resume_maybe_sensitive_next ( GtkWidget * assistant );
 /*END_STATIC*/
@@ -74,53 +81,79 @@ static GSList *exported_accounts = NULL;
 void export_accounts ( void )
 {
     GtkWidget *dialog;
+    gchar *extension = NULL;
 
     selected_accounts = NULL;
     exported_accounts = NULL;
 
     dialog = gsb_assistant_new ( _("Exporting Grisbi accounts"),
-				 _("This assistant will guide you through the process of "
-				   "exporting Grisbi accounts into QIF or CSV files.\n\n"
-				   "As QIF and CSV do not support currencies, all "
-				   "transactions will be converted into currency of their "
-				   "respective account."),
-				 "impexp.png",
-				 NULL );
+                        _("This assistant will guide you through the process of "
+                        "exporting Grisbi accounts into QIF or CSV files.\n\n"
+                        "As QIF and CSV do not support currencies, all "
+                        "transactions will be converted into currency of their "
+                        "respective account."),
+                        "impexp.png",
+                        NULL );
 
-    gsb_assistant_add_page ( dialog, export_create_selection_page(dialog), 1, 0, 2,
-			     G_CALLBACK ( export_resume_maybe_sensitive_next ) );
-    gsb_assistant_add_page ( dialog, export_create_resume_page(dialog), 2, 1, 3,
-			     G_CALLBACK ( export_enter_resume_page ) );
+    gsb_assistant_add_page ( dialog, export_create_selection_page ( dialog ), 1, 0, 2,
+                        G_CALLBACK ( export_resume_maybe_sensitive_next ) );
+    gsb_assistant_add_page ( dialog, export_create_resume_page ( dialog ), 2, 1, 3,
+                        G_CALLBACK ( export_enter_resume_page ) );
 
 
     if ( gsb_assistant_run ( dialog ) == GTK_RESPONSE_APPLY )
     {
-	while ( exported_accounts )
-	{
-	    struct exported_account * account;
+        while ( exported_accounts )
+        {
+            struct exported_account *account;
 
-	    account = (struct exported_account *) exported_accounts -> data;
+            account = (struct exported_account *) exported_accounts->data;
 
-	    account -> filename = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(account -> chooser) );
+            if ( etat.export_files_traitement )
+            {
+                const gchar *title;
+                gchar *tmp_str;
 
-	    if ( account -> format == EXPORT_QIF )
-	    {
-		qif_export ( account -> filename, account -> account_nb, 0 );
-	    }
-	    else
-	    {
-		gsb_csv_export_account ( account -> filename, account -> account_nb );
-	    }
+                if ( titre_fichier && strlen ( titre_fichier ) )
+                    title = titre_fichier;
+                else
+                    title = g_get_user_name ( );
 
-	    exported_accounts = exported_accounts -> next;
-	}
+                if ( extension == NULL )
+                    extension = g_strdup ( account->extension );
+
+                tmp_str = g_strconcat ( title, "-",
+                                gsb_data_account_get_name ( account -> account_nb ),
+                                ".",
+                                extension,
+                                NULL );
+
+                account -> filename = g_build_filename ( gsb_file_get_last_path (), tmp_str, NULL );
+
+                g_free ( tmp_str );
+            }
+            else
+            {
+                account->filename = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER ( account -> chooser ) );
+                extension = g_strdup ( account->extension );
+            }
+
+            if ( strcmp ( extension, "qif" ) == 0 )
+                qif_export ( account->filename, account->account_nb, 0 );
+            else    /* extension = csv */
+                gsb_csv_export_account ( account->filename, account->account_nb );
+
+            exported_accounts = exported_accounts->next;
+        }
     }
 
+    g_free ( extension );
+    g_slist_free ( selected_accounts );
+    g_slist_free_full ( exported_accounts, ( GDestroyNotify ) expert_account_free_account_structure );
     gtk_widget_destroy ( dialog );
 }
 
 
-
 /**
  *
  *
@@ -128,6 +161,8 @@ void export_accounts ( void )
 GtkWidget * export_create_selection_page ( GtkWidget * assistant )
 {
     GtkWidget * view, * vbox, * padding_box, * sw;
+    GtkWidget *combo;
+    GtkWidget *button;
     GtkWidget *button_select;
     GtkTreeViewColumn *column;
     GtkCellRenderer *cell;
@@ -201,11 +236,25 @@ GtkWidget * export_create_selection_page ( GtkWidget * assistant )
                         G_CALLBACK ( export_account_all_toggled ),
                         view );
 
+    combo = gsb_automem_radiobutton3_new_with_title ( vbox,
+					    _("Select options to export" ),
+					    _("QIF format" ), _("CSV format" ), NULL,
+					    &etat.export_file_format,
+					    G_CALLBACK ( export_account_radiobutton_format_changed ),
+                        &etat.export_file_format,
+                        GTK_ORIENTATION_HORIZONTAL );
+
+    button = gsb_automem_checkbutton_new ( _("Treat all files as the first" ),
+                        &etat.export_files_traitement,
+                        NULL,
+                        NULL );
+    gtk_box_pack_start ( GTK_BOX ( vbox ), button, FALSE, FALSE, 0 );
+
+    /* return */
     return vbox;
 }
 
 
-
 /**
  *
  *
@@ -293,10 +342,11 @@ GtkWidget * export_create_final_page ( GtkWidget * assistant )
 gboolean export_enter_resume_page ( GtkWidget * assistant )
 {
     GtkWidget *button_select;
-    GtkTextBuffer * buffer;
+    GtkTextBuffer *buffer;
     GtkTextIter iter;
-    GSList * list;
+    GSList *list;
     gint page = 3;
+    gint index = 0;
 
     buffer = g_object_get_data ( G_OBJECT ( assistant ), "text-buffer" );
     gtk_text_buffer_set_text (buffer, "\n", -1 );
@@ -327,24 +377,40 @@ gboolean export_enter_resume_page ( GtkWidget * assistant )
 	list = selected_accounts;
 	while ( list )
 	{
-	    struct exported_account * account;
-	    gint i = GPOINTER_TO_INT(list -> data);
+	    struct exported_account *account;
+	    gint i = GPOINTER_TO_INT ( list -> data );
 
 	    gtk_text_buffer_insert_with_tags_by_name (buffer, &iter,
-						      g_strconcat ( "• ",
-								    gsb_data_account_get_name ( i ),
-								    "\n\n",
-								    NULL ),
-						      -1, "indented", NULL );
+                                g_strconcat ( "• ",
+                                gsb_data_account_get_name ( i ),
+                                "\n\n",
+                                NULL ),
+                                -1, "indented", NULL );
 
 	    account = g_malloc0 ( sizeof ( struct exported_account ) );
 	    account -> account_nb = i;
+        account->extension = "";
 	    exported_accounts = g_slist_append ( exported_accounts, account );
-	    gsb_assistant_add_page ( assistant,
-				     create_export_account_resume_page ( account ),
-				     page, page - 1, page + 1, G_CALLBACK ( NULL ) );
-	    page ++;
 
+        if ( etat.export_files_traitement )
+        {
+            if ( index == 0 )
+            {
+                gsb_assistant_add_page ( assistant,
+                         create_export_account_resume_page ( account ),
+                         page, page - 1, page + 1, G_CALLBACK ( NULL ) );
+                page ++;
+            }
+        }
+        else
+        {
+            gsb_assistant_add_page ( assistant,
+                         create_export_account_resume_page ( account ),
+                         page, page - 1, page + 1, G_CALLBACK ( NULL ) );
+            page ++;
+        }
+
+        index++;
 	    list = list -> next;
 	}
 
@@ -361,7 +427,6 @@ gboolean export_enter_resume_page ( GtkWidget * assistant )
 }
 
 
-
 /**
  *
  *
@@ -403,7 +468,7 @@ GtkWidget * create_export_account_resume_page ( struct exported_account * accoun
     gtk_file_chooser_set_extra_widget ( GTK_FILE_CHOOSER(account -> chooser), hbox );
     gtk_box_pack_start ( GTK_BOX ( vbox ), account -> chooser, TRUE, TRUE, 0 );
 
-    gtk_combo_box_set_active ( GTK_COMBO_BOX(combo), 0 );
+    gtk_combo_box_set_active ( GTK_COMBO_BOX(combo), etat.export_file_format );
 
     return vbox;
 }
@@ -422,36 +487,38 @@ GtkWidget * create_export_account_resume_page ( struct exported_account * accoun
  *
  * \return FALSE
  */
-gboolean export_account_change_format ( GtkWidget * combo,
-					struct exported_account * account )
+gboolean export_account_change_format ( GtkWidget *combo,
+                        struct exported_account *account )
 {
-    gchar * extension = "", * title;
+    gchar *title;
 
-    switch ( gtk_combo_box_get_active ( GTK_COMBO_BOX(combo) ) )
+    switch ( gtk_combo_box_get_active ( GTK_COMBO_BOX ( combo ) ) )
     {
-	    case EXPORT_QIF:
-		extension = "qif";
-		account -> format = EXPORT_QIF;
-		break;
-
-	    case EXPORT_CSV:
-		extension = "csv";
-		account -> format = EXPORT_CSV;
-		break;
+        case EXPORT_QIF:
+        account->extension = "qif";
+        account->format = EXPORT_QIF;
+        break;
+
+        case EXPORT_CSV:
+        account->extension = "csv";
+        account -> format = EXPORT_CSV;
+        break;
     }
 
     if ( titre_fichier && strlen ( titre_fichier ) )
     {
-	title = titre_fichier;
+        title = titre_fichier;
     }
     else
     {
-	title = (gchar *) g_get_user_name ();
+        title = (gchar *) g_get_user_name ( );
     }
 
-    gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER(account -> chooser),
-		       g_strconcat ( title, "-", gsb_data_account_get_name ( account -> account_nb ), ".", extension, NULL ) );
-    gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER(account -> chooser), gsb_file_get_last_path () );
+    gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER ( account->chooser ),
+                        g_strconcat ( title, "-",
+                        gsb_data_account_get_name ( account->account_nb ), ".", account->extension,
+                        NULL ) );
+    gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( account->chooser ), gsb_file_get_last_path () );
 
     return FALSE;
 }
@@ -575,6 +642,39 @@ void export_account_all_toggled ( GtkToggleButton *button,
 }
 
 
+/**
+ * Set a boolean integer to the value of a checkbutton.  Normally called
+ * via a GTK "toggled" signal handler.
+ *
+ * \param checkbutton a pointer to a checkbutton widget.
+ * \param event
+ * \param pointeur vers la donnée à modifier
+ */
+gboolean export_account_radiobutton_format_changed ( GtkWidget *checkbutton,
+                        GdkEventButton *event,
+                        gint *pointeur )
+{
+    if ( pointeur )
+    {
+        gint value = 0;
+
+        value = GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT ( checkbutton ), "pointer" ) );
+        *pointeur = value;
+
+        gsb_file_set_modified ( TRUE );
+    }
+
+    return FALSE;
+}
+
+
+void expert_account_free_account_structure ( struct exported_account *account )
+{
+    g_free ( account->extension );
+    g_free ( account->filename );
+
+    g_free ( account );
+}
 /* Local Variables: */
 /* c-basic-offset: 4 */
 /* End: */
diff --git a/src/export.h b/src/export.h
index 59714b8..77d69a9 100644
--- a/src/export.h
+++ b/src/export.h
@@ -8,17 +8,17 @@
 
 
 /** Structure used to hold exported account information.  */
-struct exported_account {
-    gint account_nb;		/** Account number, to use with
-				 * gsb_data_account_get...() functions */
-    enum exported_format {	/** Export format. */
-	EXPORT_QIF,
-	EXPORT_CSV,
+struct exported_account
+{
+    gint account_nb;        /** Account number, to use with gsb_data_account_get...() functions */
+    enum exported_format    /** Export format. */
+    {
+        EXPORT_QIF,
+        EXPORT_CSV,
     } format;
-    gchar * filename;		/** Filename to export into. */
-    GtkWidget * chooser;	/** GtkFileChooser responsible of
-				 * choosing file to export account
-				 * into.  */
+    gchar *extension;       /** qif ou csv */
+    gchar *filename;        /** Filename to export into. */
+    GtkWidget * chooser;    /** GtkFileChooser responsible of choosing file to export account into. */
 };
 
 /* START_DECLARATION */
diff --git a/src/gsb_debug.c b/src/gsb_debug.c
index a6d38e3..a63de8e 100644
--- a/src/gsb_debug.c
+++ b/src/gsb_debug.c
@@ -699,53 +699,58 @@ gchar *gsb_debug_budget_test  ( void )
     gboolean invalid = FALSE;
 
     tmp_list = gsb_data_transaction_get_complete_transactions_list ();
-    while (tmp_list)
+    while ( tmp_list )
     {
-	gint transaction_number = gsb_data_transaction_get_transaction_number (tmp_list -> data);
-	gint budget_number = gsb_data_transaction_get_budgetary_number (transaction_number);
+        gint transaction_number;
+        gint budget_number;
 
-	if ( gsb_data_budget_get_structure (budget_number))
-	{
-	    /* budget found, check sub-budget */
-	    gint sub_budget_number = gsb_data_transaction_get_sub_budgetary_number (transaction_number);
-	    if (sub_budget_number &&
-		!gsb_data_budget_get_sub_budget_structure (budget_number, sub_budget_number))
-	    {
-		/* sub-budget not found */
-		tmpstr = g_strdup_printf ( _("Transaction %d has budget %d but invalid sub-budget %d.\n"),
-					   transaction_number, budget_number, sub_budget_number );
-		tmpstr1 = g_strconcat ( returned_text,
-					tmpstr,
-					NULL );
-		g_free (returned_text);
-		g_free (tmpstr);
-		returned_text = tmpstr1;
-		invalid = TRUE;
-	    }
-	}
-	else
-	{
-	    /* budget not found */
-	    tmpstr = g_strdup_printf ( _("Transaction %d has invalid budget %d.\n"),
-				       transaction_number, budget_number );
-	    tmpstr1 = g_strconcat ( returned_text,
-				    tmpstr,
-				    NULL );
-	    g_free (returned_text);
-	    g_free (tmpstr);
-	    returned_text = tmpstr1;
-	    invalid = TRUE;
-	}
-	tmp_list = tmp_list -> next;
+        transaction_number = gsb_data_transaction_get_transaction_number ( tmp_list -> data );
+        budget_number = gsb_data_transaction_get_budgetary_number ( transaction_number );
+
+        if ( gsb_data_budget_get_structure ( budget_number ) )
+        {
+            gint sub_budget_number;
+
+            sub_budget_number = gsb_data_transaction_get_sub_budgetary_number (transaction_number);
+            /* budget found, check sub-budget */
+            if ( sub_budget_number
+             &&
+             !gsb_data_budget_get_sub_budget_structure ( budget_number, sub_budget_number ) )
+            {
+            /* sub-budget not found */
+                tmpstr = g_strdup_printf ( _("Transaction %d has budget %d but invalid sub-budget %d.\n"),
+                               transaction_number, budget_number, sub_budget_number );
+                tmpstr1 = g_strconcat ( returned_text, tmpstr, NULL );
+                g_free (returned_text);
+                g_free (tmpstr);
+                returned_text = tmpstr1;
+                invalid = TRUE;
+            }
+        }
+        else
+        {
+            /* budget not found */
+            tmpstr = g_strdup_printf ( _("Transaction %d has invalid budget %d.\n"),
+                           transaction_number, budget_number );
+            tmpstr1 = g_strconcat ( returned_text,
+                        tmpstr,
+                        NULL );
+            g_free (returned_text);
+            g_free (tmpstr);
+            returned_text = tmpstr1;
+            invalid = TRUE;
+        }
+        tmp_list = tmp_list -> next;
     }
 
     if (invalid)
-	return returned_text;
+        return returned_text;
     else
     {
-	g_free (returned_text);
-	return NULL;
+        g_free (returned_text);
+        return NULL;
     }
+
     return NULL;
 }
 
@@ -764,25 +769,30 @@ gboolean gsb_debug_budget_test_fix ()
     tmp_list = gsb_data_transaction_get_complete_transactions_list ();
     while (tmp_list)
     {
-	gint transaction_number = gsb_data_transaction_get_transaction_number (tmp_list -> data);
-	gint budget_number = gsb_data_transaction_get_budgetary_number (transaction_number);
+        gint transaction_number;
+        gint budget_number;
 
-	if ( gsb_data_budget_get_structure (budget_number))
-	{
-	    /* budget found, check sub-budget */
-	    gint sub_budget_number = gsb_data_transaction_get_sub_budgetary_number (transaction_number);
-	    if (sub_budget_number &&
-		!gsb_data_budget_get_sub_budget_structure (budget_number, sub_budget_number))
-		/* sub-budget not found */
-		gsb_data_transaction_set_budgetary_number (transaction_number, 0);
-	}
-	else
-	{
-	    /* budget not found */
-	    gsb_data_transaction_set_sub_budgetary_number (transaction_number, 0);
-	    gsb_data_transaction_set_budgetary_number (transaction_number, 0);
-	}
-	tmp_list = tmp_list -> next;
+        transaction_number = gsb_data_transaction_get_transaction_number (tmp_list -> data);
+        budget_number = gsb_data_transaction_get_budgetary_number (transaction_number);
+
+        if ( gsb_data_budget_get_structure ( budget_number ) )
+        {
+            gint sub_budget_number;
+
+            /* budget found, check sub-budget */
+            sub_budget_number = gsb_data_transaction_get_sub_budgetary_number ( transaction_number );
+            if (sub_budget_number &&
+            !gsb_data_budget_get_sub_budget_structure ( budget_number, sub_budget_number ) )
+            /* sub-budget not found */
+                gsb_data_transaction_set_sub_budgetary_number ( transaction_number, 0 );
+        }
+        else
+        {
+            /* budget not found */
+            gsb_data_transaction_set_sub_budgetary_number (transaction_number, 0);
+            gsb_data_transaction_set_budgetary_number (transaction_number, 0);
+        }
+        tmp_list = tmp_list -> next;
     }
     return TRUE;
 }
diff --git a/src/gsb_file_load.c b/src/gsb_file_load.c
index b10625e..10bdbba 100644
--- a/src/gsb_file_load.c
+++ b/src/gsb_file_load.c
@@ -878,6 +878,16 @@ void gsb_file_load_general_part ( const gchar **attribute_names,
         etat.get_fyear_by_value_date = utils_str_atoi ( attribute_values[i]);
     }
 
+    else if ( !strcmp ( attribute_names[i], "Export_file_format" ) )
+    {
+        etat.export_file_format = utils_str_atoi ( attribute_values[i] );
+    }
+
+    else if ( !strcmp ( attribute_names[i], "Export_files_traitement" ) )
+    {
+        etat.export_files_traitement = utils_str_atoi ( attribute_values[i] );
+    }
+
     else if ( !strcmp ( attribute_names[i], "Reconcile_end_date" ) )
     {
         etat.reconcile_end_date = utils_str_atoi ( attribute_values[i] );
diff --git a/src/gsb_file_save.c b/src/gsb_file_save.c
index 7451870..b575ba5 100644
--- a/src/gsb_file_save.c
+++ b/src/gsb_file_save.c
@@ -755,6 +755,8 @@ gulong gsb_file_save_general_part ( gulong iterator,
 					   "\t\tImport_fusion_transactions=\"%d\"\n"
                        "\t\tImport_categorie_for_payee=\"%d\"\n"
 					   "\t\tImport_fyear_by_value_date=\"%d\"\n"
+					   "\t\tExport_file_format=\"%d\"\n"
+                       "\t\tExport_files_traitement=\"%d\"\n"
 					   "\t\tReconcile_end_date=\"%d\"\n"
 					   "\t\tUse_logo=\"%d\"\n"
                        "\t\tName_logo=\"%s\"\n"
@@ -807,6 +809,8 @@ gulong gsb_file_save_general_part ( gulong iterator,
 	etat.get_fusion_import_transactions,
 	etat.get_categorie_for_payee,
 	etat.get_fyear_by_value_date,
+    etat.export_file_format,
+    etat.export_files_traitement,
     etat.reconcile_end_date,
 	etat.utilise_logo,
     my_safe_null_str( etat.name_logo ),
diff --git a/src/structures.h b/src/structures.h
index fb908a7..26d8ee9 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -67,12 +67,19 @@ struct gsb_etat_t
     gint display_message_qif_export_currency;
     gint display_message_ofx_security;
 
-    /* import rules */
+    /* import files */
     gint get_extract_number_for_check;      /* TRUE if Extracting a number and save it in the field No Cheque/Virement */
     gint get_fusion_import_transactions;    /* TRUE if merge transactions imported with transactions found*/
     gint get_categorie_for_payee;           /* TRUE to automatically retrieve the category of the payee if it exists */
     gint get_fyear_by_value_date;           /* TRUE to get the fyear by value date, FALSE by date */
 
+    gchar * csv_separator;                              /** CSV separator to use while parsing a CSV file. */
+    gboolean csv_skipped_lines [ CSV_MAX_TOP_LINES ];   /* Contains a pointer to skipped lines in CSV preview. */
+
+    /* export files */
+    gint export_file_format;                /* EXPORT_QIF or EXPORT_CSV */
+    gboolean export_files_traitement;       /* 0 = traitement individuel, 1 = traitement automatique */
+
     /* combofix configuration */
     gint combofix_mixed_sort;               /* TRUE for no separation between the categories */
     gint combofix_max_item;                 /* maximum number of items we want before showing the popup */
@@ -93,9 +100,6 @@ struct gsb_etat_t
     gint last_tip; 
     gint show_tip; 
 
-    gchar * csv_separator;                              /** CSV separator to use while parsing a CSV file. */
-    gboolean csv_skipped_lines [ CSV_MAX_TOP_LINES ];   /* Contains a pointer to skipped lines in CSV preview. */
-
     /* variables pour les metatree */
     gint metatree_sort_transactions;        /* 1 = sorting by increasing date 2 = Sort by date descending */
     gint add_archive_in_total_balance;      /* Add transactions archived in the totals */


hooks/post-receive
-- 
grisbi


More information about the cvs mailing list