[grisbi-test] [PATCH 1/6] Integration of global variables of the scheduled tab in structure "etat"

pbiava pierre.biava at nerim.net
Ven 19 Juil 20:24:27 CEST 2013


gint affichage_echeances
gint affichage_echeances_perso_nb_libre
enum periodicity_units affichage_echeances_perso_j_m_a
---
 src/gsb_calendar.c         |  3 ---
 src/gsb_calendar.h         |  6 ------
 src/gsb_file_load.c        | 26 ++++++++++++--------------
 src/gsb_file_save.c        |  8 +++-----
 src/gsb_scheduler_list.c   | 24 +++++++++++-------------
 src/structures.h           |  3 +++
 src/traitement_variables.c |  8 +++-----
 7 files changed, 32 insertions(+), 46 deletions(-)

diff --git a/src/gsb_calendar.c b/src/gsb_calendar.c
index 1e779bd..cd8ca97 100644
--- a/src/gsb_calendar.c
+++ b/src/gsb_calendar.c
@@ -47,10 +47,7 @@ static void click_sur_jour_calendrier_echeance ( GtkWidget *calendrier,
 /*END_STATIC*/
 
 
-enum periodicity_units affichage_echeances_perso_j_m_a;
 static GtkWidget *scheduled_calendar;
-gint affichage_echeances;
-gint affichage_echeances_perso_nb_libre;     /* contient le contenu de l'entrée */
 
 /*START_EXTERN*/
 /*END_EXTERN*/
diff --git a/src/gsb_calendar.h b/src/gsb_calendar.h
index f157d5f..fb0ba90 100644
--- a/src/gsb_calendar.h
+++ b/src/gsb_calendar.h
@@ -7,12 +7,6 @@
 #include "gsb_scheduler_list.h"
 /* END_INCLUDE_H */
 
-/* when a global variable contains a definition like here, need to put it with the definition,
- * else mk_include cannot find the .h file...
- * Real declaration is in gsb_calendar.c */
-extern enum periodicity_units affichage_echeances_perso_j_m_a;
-
-
 
 /* START_DECLARATION */
 GtkWidget *gsb_calendar_new ( void );
diff --git a/src/gsb_file_load.c b/src/gsb_file_load.c
index 6117cac..4b0ec21 100644
--- a/src/gsb_file_load.c
+++ b/src/gsb_file_load.c
@@ -174,8 +174,6 @@ static gboolean gsb_file_load_update_previous_version ( void );
 /*START_EXTERN*/
 extern gchar *adresse_commune;
 extern gchar *adresse_secondaire;
-extern gint affichage_echeances;
-extern gint affichage_echeances_perso_nb_libre;
 extern gint bet_array_col_width[BET_ARRAY_COLUMNS];
 extern gint display_one_line;
 extern gint display_three_lines;
@@ -1029,13 +1027,13 @@ void gsb_file_load_general_part ( const gchar **attribute_names,
                 }
 
                 else if ( !strcmp ( attribute_names[i], "Scheduler_view" ))
-                    affichage_echeances = utils_str_atoi ( attribute_values[i]);
+                    etat.affichage_echeances = utils_str_atoi ( attribute_values[i]);
 
                 else if ( !strcmp ( attribute_names[i], "Scheduler_custom_number" ))
-                    affichage_echeances_perso_nb_libre = utils_str_atoi ( attribute_values[i]);
+                    etat.affichage_echeances_perso_nb_libre = utils_str_atoi ( attribute_values[i]);
 
                 else if ( !strcmp ( attribute_names[i], "Scheduler_custom_menu" ))
-                    affichage_echeances_perso_j_m_a = utils_str_atoi ( attribute_values[i]);
+                    etat.affichage_echeances_perso_j_m_a = utils_str_atoi ( attribute_values[i]);
 
                 else
                     unknown = 1;
@@ -6718,16 +6716,16 @@ void gsb_file_load_general_part_before_0_6 ( GMarkupParseContext *context,
     if ( !strcmp ( element_name,
            "Type_affichage_des_echeances" ))
     {
-    affichage_echeances = utils_str_atoi ( text);
+    etat.affichage_echeances = utils_str_atoi ( text);
 
     /* Compatibility issue. */
-    switch ( affichage_echeances )
+    switch ( etat.affichage_echeances )
     {
-        case 0: affichage_echeances = SCHEDULER_PERIODICITY_MONTH_VIEW; break;
-        case 1: affichage_echeances = SCHEDULER_PERIODICITY_TWO_MONTHS_VIEW; break;
-        case 2: affichage_echeances = SCHEDULER_PERIODICITY_YEAR_VIEW; break;
-        case 3: affichage_echeances = SCHEDULER_PERIODICITY_ONCE_VIEW; break;
-        case 4: affichage_echeances = SCHEDULER_PERIODICITY_CUSTOM_VIEW; break;
+        case 0: etat.affichage_echeances = SCHEDULER_PERIODICITY_MONTH_VIEW; break;
+        case 1: etat.affichage_echeances = SCHEDULER_PERIODICITY_TWO_MONTHS_VIEW; break;
+        case 2: etat.affichage_echeances = SCHEDULER_PERIODICITY_YEAR_VIEW; break;
+        case 3: etat.affichage_echeances = SCHEDULER_PERIODICITY_ONCE_VIEW; break;
+        case 4: etat.affichage_echeances = SCHEDULER_PERIODICITY_CUSTOM_VIEW; break;
     }
 
     return;
@@ -6736,14 +6734,14 @@ void gsb_file_load_general_part_before_0_6 ( GMarkupParseContext *context,
     if ( !strcmp ( element_name,
            "Affichage_echeances_perso_nb_libre" ))
     {
-    affichage_echeances_perso_nb_libre = utils_str_atoi ( text);
+    etat.affichage_echeances_perso_nb_libre = utils_str_atoi ( text);
     return;
     }
 
     if ( !strcmp ( element_name,
            "Type_affichage_perso_echeances" ))
     {
-    affichage_echeances_perso_j_m_a = utils_str_atoi ( text);
+    etat.affichage_echeances_perso_j_m_a = utils_str_atoi ( text);
     return;
     }
 
diff --git a/src/gsb_file_save.c b/src/gsb_file_save.c
index 095650f..ef5753c 100644
--- a/src/gsb_file_save.c
+++ b/src/gsb_file_save.c
@@ -156,8 +156,6 @@ static gulong gsb_file_save_transaction_part ( gulong iterator,
 /*START_EXTERN*/
 extern gchar *adresse_commune;
 extern gchar *adresse_secondaire;
-extern gint affichage_echeances;
-extern gint affichage_echeances_perso_nb_libre;
 extern gint bet_array_col_width[BET_ARRAY_COLUMNS];
 extern gint display_one_line;
 extern gint display_three_lines;
@@ -796,9 +794,9 @@ gulong gsb_file_save_general_part ( gulong iterator,
 	etat.no_devise_totaux_categ,
 	etat.no_devise_totaux_ib,
     my_safe_null_str ( navigation_order_list ),
-	affichage_echeances,
-	affichage_echeances_perso_nb_libre,
-	affichage_echeances_perso_j_m_a,
+	etat.affichage_echeances,
+	etat.affichage_echeances_perso_nb_libre,
+	etat.affichage_echeances_perso_j_m_a,
 	valeur_echelle_recherche_date_import,
 	etat.get_copy_payee_in_note,
 	etat.get_extract_number_for_check,
diff --git a/src/gsb_scheduler_list.c b/src/gsb_scheduler_list.c
index 746f24d..8c51748 100644
--- a/src/gsb_scheduler_list.c
+++ b/src/gsb_scheduler_list.c
@@ -123,8 +123,6 @@ static gboolean popup_scheduled_view_mode_menu ( GtkWidget *button );
 
 
 /*START_EXTERN*/
-extern gint affichage_echeances;
-extern gint affichage_echeances_perso_nb_libre;
 extern struct conditional_message delete_msg[];
 /*END_EXTERN*/
 
@@ -1667,7 +1665,7 @@ GDate *gsb_scheduler_list_get_end_date_scheduled_showed ( void )
 
     /* on calcule la date de fin de l'affichage */
 
-    switch ( affichage_echeances )
+    switch ( etat.affichage_echeances )
     {
 	case SCHEDULER_PERIODICITY_ONCE_VIEW:
 	    return NULL;
@@ -1700,22 +1698,22 @@ GDate *gsb_scheduler_list_get_end_date_scheduled_showed ( void )
 	    break;
 
 	case SCHEDULER_PERIODICITY_CUSTOM_VIEW:
-	    switch ( affichage_echeances_perso_j_m_a )
+	    switch ( etat.affichage_echeances_perso_j_m_a )
 	    {
 		case PERIODICITY_DAYS:
-		    g_date_add_days ( end_date, affichage_echeances_perso_nb_libre );
+		    g_date_add_days ( end_date, etat.affichage_echeances_perso_nb_libre );
 		    break;
 
 		case PERIODICITY_WEEKS:
-		    g_date_add_days ( end_date, affichage_echeances_perso_nb_libre * 7 );
+		    g_date_add_days ( end_date, etat.affichage_echeances_perso_nb_libre * 7 );
 		    break;
 
 		case PERIODICITY_MONTHS:
-		    g_date_add_months ( end_date, affichage_echeances_perso_nb_libre );
+		    g_date_add_months ( end_date, etat.affichage_echeances_perso_nb_libre );
 		    break;
 
 		case PERIODICITY_YEARS:
-		    g_date_add_years ( end_date, affichage_echeances_perso_nb_libre );
+		    g_date_add_years ( end_date, etat.affichage_echeances_perso_nb_libre );
 		    break;
 	    }
     }
@@ -2130,7 +2128,7 @@ gboolean gsb_scheduler_list_change_scheduler_view ( enum scheduler_periodicity p
     gsb_gui_headings_update_suffix ( "" );
     g_free ( tmpstr );
 
-    affichage_echeances = periodicity;
+    etat.affichage_echeances = periodicity;
     gsb_scheduler_list_fill_list (gsb_scheduler_list_get_tree_view ());
     gsb_scheduler_list_set_background_color (gsb_scheduler_list_get_tree_view ());
     gsb_scheduler_list_select (-1);
@@ -2176,7 +2174,7 @@ gboolean gsb_scheduler_list_popup_custom_periodicity_dialog (void)
 
     label = gtk_label_new ( _("Show transactions for the next: "));
     gtk_box_pack_start ( GTK_BOX(hbox2), label, FALSE, FALSE, 0 );
-    entry = gsb_automem_spin_button_new ( &affichage_echeances_perso_nb_libre,
+    entry = gsb_automem_spin_button_new ( &etat.affichage_echeances_perso_nb_libre,
 					  NULL, NULL );
     gtk_box_pack_start ( GTK_BOX(hbox2), entry, FALSE, FALSE, 6 );
 
@@ -2188,15 +2186,15 @@ gboolean gsb_scheduler_list_popup_custom_periodicity_dialog (void)
     {
 	gtk_combo_box_append_text ( GTK_COMBO_BOX ( combobox ), names[i] );
     }
-    gtk_combo_box_set_active ( GTK_COMBO_BOX ( combobox ), affichage_echeances_perso_j_m_a );
+    gtk_combo_box_set_active ( GTK_COMBO_BOX ( combobox ), etat.affichage_echeances_perso_j_m_a );
 
     gtk_widget_show_all ( dialog );
 
     switch ( gtk_dialog_run ( GTK_DIALOG ( dialog ) ) )
     {
 	case GTK_RESPONSE_OK:
-	    affichage_echeances_perso_j_m_a = gtk_combo_box_get_active ( GTK_COMBO_BOX (combobox) );
-	    affichage_echeances_perso_nb_libre = utils_str_atoi ( gtk_entry_get_text ( GTK_ENTRY(entry)) );
+	    etat.affichage_echeances_perso_j_m_a = gtk_combo_box_get_active ( GTK_COMBO_BOX (combobox) );
+	    etat.affichage_echeances_perso_nb_libre = utils_str_atoi ( gtk_entry_get_text ( GTK_ENTRY(entry)) );
 	    gtk_widget_destroy ( dialog );
 	    return TRUE;
     }
diff --git a/src/structures.h b/src/structures.h
index 6fff84f..233a34c 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -97,6 +97,9 @@ struct gsb_etat_t
 
     /* variables sur l'échéancier */
     gint affichage_commentaire_echeancier;      /* à 1 si le commentaire est affiché */
+    gint affichage_echeances;                   /* affichage de la période affichée dans la vue échéancier */
+    gint affichage_echeances_perso_nb_libre;    /* nombre de périodicité des échéances personnalisées */
+    gint affichage_echeances_perso_j_m_a;       /* type de périodicité des échéances personnalisées */
 
     /* variables pour les metatree */
     gint metatree_sort_transactions;        /* 1 = sorting by increasing date 2 = Sort by date descending */
diff --git a/src/traitement_variables.c b/src/traitement_variables.c
index 94f17df..8c62dcb 100644
--- a/src/traitement_variables.c
+++ b/src/traitement_variables.c
@@ -102,8 +102,6 @@ gchar *adresse_secondaire = NULL;
 
 
 /*START_EXTERN*/
-extern gint affichage_echeances;
-extern gint affichage_echeances_perso_nb_libre;
 extern GtkTreeModel *bank_list_model;
 extern gint bet_array_col_width[BET_ARRAY_COLUMNS];
 extern gint current_tree_view_width;
@@ -211,9 +209,9 @@ void init_variables ( void )
         g_free ( nom_fichier_comptes );
     nom_fichier_comptes = NULL;
 
-    affichage_echeances = SCHEDULER_PERIODICITY_ONCE_VIEW;
-    affichage_echeances_perso_nb_libre = 0;
-    affichage_echeances_perso_j_m_a = PERIODICITY_DAYS;
+    etat.affichage_echeances = SCHEDULER_PERIODICITY_ONCE_VIEW;
+    etat.affichage_echeances_perso_nb_libre = 0;
+    etat.affichage_echeances_perso_j_m_a = PERIODICITY_DAYS;
 
     /* initialization of titles and logo part */
     if ( titre_fichier && strlen ( titre_fichier ) )
-- 
1.8.1.5



Plus d'informations sur la liste de diffusion test