[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