コード例 #1
0
ファイル: gsb_file.c プロジェクト: wazari972/Grisbi
/**
 * called by file -> open
 * open a new file
 *
 * \param
 *
 * \return FALSE
 * */
gboolean gsb_file_open_menu ( void )
{
    GtkWidget *selection_fichier;
    GtkFileFilter * filter;

    selection_fichier = gtk_file_chooser_dialog_new ( _("Open an accounts file"),
					   GTK_WINDOW ( run.window ),
					   GTK_FILE_CHOOSER_ACTION_OPEN,
					   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
					   GTK_STOCK_OPEN, GTK_RESPONSE_OK,
					   NULL);

    gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( selection_fichier ), gsb_file_get_last_path () );
    gtk_window_set_position ( GTK_WINDOW ( selection_fichier ), GTK_WIN_POS_CENTER_ON_PARENT );

    filter = gtk_file_filter_new ();
    gtk_file_filter_set_name ( filter, _("Grisbi files (*.gsb)") );
    gtk_file_filter_add_pattern ( filter, "*.gsb" );
    gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( selection_fichier ), filter );
    gtk_file_chooser_set_filter ( GTK_FILE_CHOOSER ( selection_fichier ), filter );

    filter = gtk_file_filter_new ();
    gtk_file_filter_set_name ( filter, _("All files") );
    gtk_file_filter_add_pattern ( filter, "*" );
    gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER ( selection_fichier ), filter );

    switch ( gtk_dialog_run ( GTK_DIALOG (selection_fichier)))
    {
	case GTK_RESPONSE_OK:
	    if ( gsb_file_close() )
	    {
		gtk_widget_hide ( selection_fichier );
		nom_fichier_comptes = file_selection_get_filename ( GTK_FILE_CHOOSER ( selection_fichier ) );
        gsb_file_update_last_path ( file_selection_get_last_directory (
                        GTK_FILE_CHOOSER ( selection_fichier),
                        TRUE ) );
		gsb_file_open_file (nom_fichier_comptes);
	    }
	    break;
      default:
	  break;
    }
    gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (selection_fichier), TRUE));
    gtk_widget_destroy ( selection_fichier );
    return FALSE;
}
コード例 #2
0
ファイル: gsb_file.c プロジェクト: wazari972/Grisbi
/**
 * ask the name of the file to save it
 *
 * \param
 *
 * \return a newly allocated string containing the new name
 * */
static gchar *gsb_file_dialog_ask_name ( void )
{
    gchar *new_name;
    GtkWidget *dialog;
    gint result;

    dialog = gtk_file_chooser_dialog_new ( _("Name the accounts file"),
					   GTK_WINDOW ( run.window ),
					   GTK_FILE_CHOOSER_ACTION_SAVE,
					   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
					   GTK_STOCK_SAVE, GTK_RESPONSE_OK,
					   NULL);

    gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( dialog ), gsb_file_get_last_path () );
    gtk_file_chooser_set_do_overwrite_confirmation ( GTK_FILE_CHOOSER ( dialog ), TRUE);
    gtk_window_set_position ( GTK_WINDOW ( dialog ), GTK_WIN_POS_CENTER_ON_PARENT );

    if ( ! nom_fichier_comptes )
    {
        gchar* tmp_str;

        tmp_str = g_strconcat ( titre_fichier, ".gsb", NULL );
        gtk_file_chooser_set_current_name ( GTK_FILE_CHOOSER ( dialog ), tmp_str);
        g_free ( tmp_str );
    }
    else
	gtk_file_chooser_select_filename ( GTK_FILE_CHOOSER (dialog), nom_fichier_comptes );

    result = gtk_dialog_run ( GTK_DIALOG ( dialog ));

    switch ( result )
    {
	case GTK_RESPONSE_OK :
	    new_name = file_selection_get_filename ( GTK_FILE_CHOOSER ( dialog ));
	    gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (dialog), TRUE));
	    gtk_widget_destroy ( GTK_WIDGET ( dialog ));
	    break;

	default :
	    gtk_widget_destroy ( GTK_WIDGET ( dialog ));
	    return NULL;
    }

    if ( ! g_strrstr ( new_name, "." ) )
    {
        gchar* tmpstr = new_name;
	new_name = g_strconcat ( tmpstr, ".gsb", NULL );
	g_free ( tmpstr );
    }

    return new_name;
}
コード例 #3
0
ファイル: affichage.c プロジェクト: philippedelorme/grisbi
/* **************************************************************************************************************************** */
gboolean modification_logo_accueil ( )
{
    GtkWidget *file_selector;
    GtkWidget *preview;

    file_selector = gtk_file_chooser_dialog_new ( _("Select a new logo"),
					   GTK_WINDOW ( fenetre_preferences ),
					   GTK_FILE_CHOOSER_ACTION_OPEN,
					   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
					   GTK_STOCK_OPEN, GTK_RESPONSE_OK,
					   NULL);

    if ( etat.is_pixmaps_dir )
        gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (
                        file_selector ), gsb_dirs_get_pixmaps_dir ( ) );
    else
        gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (
                        file_selector ), gsb_file_get_last_path () );
        
    gtk_window_set_position ( GTK_WINDOW ( file_selector ), GTK_WIN_POS_CENTER_ON_PARENT );

    /* create the preview */
    preview = gtk_image_new ();
    gtk_file_chooser_set_preview_widget ( GTK_FILE_CHOOSER ( file_selector ), preview );
    g_signal_connect (G_OBJECT (file_selector),
                        "update-preview",
                        G_CALLBACK ( preferences_view_update_preview_logo ),
                        preview );

    switch ( gtk_dialog_run ( GTK_DIALOG ( file_selector ) ) )
    {
	case GTK_RESPONSE_OK:
	    change_logo_accueil ( file_selector );
	    gsb_file_update_last_path ( file_selection_get_last_directory (
                        GTK_FILE_CHOOSER ( file_selector ), TRUE ) );

	default:
	    gtk_widget_destroy ( file_selector );
	    break;
    }

    return ( FALSE );
}
コード例 #4
0
ファイル: utils_files.c プロジェクト: philippedelorme/grisbi
/**
 * Handler triggered by clicking on the button of a "print to file"
 * combo.  Pop ups a file selector.
 *
 * \param button GtkButton widget that triggered this handler.
 * \param data A pointer to a GtkEntry that will be filled with the
 *             result of the file selector.
 */
void browse_file ( GtkButton *button, gpointer data )
{
    GtkWidget * file_selector;

    file_selector = file_selection_new (_("Print to file"),FILE_SELECTION_IS_SAVE_DIALOG);
    gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_selector),
					 gsb_file_get_last_path ());
    gtk_window_set_transient_for ( GTK_WINDOW ( file_selector ),
				   GTK_WINDOW ( run.window ));
    gtk_window_set_modal ( GTK_WINDOW ( file_selector ), TRUE );

    switch ( gtk_dialog_run ( GTK_DIALOG (file_selector)))
    {
	case GTK_RESPONSE_OK:
	    gtk_entry_set_text ( GTK_ENTRY(data),
				 file_selection_get_filename (GTK_FILE_CHOOSER (file_selector)));
	    gsb_file_update_last_path (file_selection_get_last_directory (GTK_FILE_CHOOSER (file_selector), TRUE));

	default:
	    gtk_widget_destroy ( file_selector );
	    break;
    }
}
コード例 #5
0
ファイル: gsb_file_config.c プロジェクト: jbq/grisbi
/**
 * Set all the config variables to their default values.
 * called before loading the config
 * or for a new opening
 */
static void gsb_file_config_clean_config ( void )
{
    devel_debug (NULL);

    conf.main_width = 0;
    conf.main_height = 0;
    conf.prefs_width = 600;

    conf.force_enregistrement = 1;

    conf.r_modifiable = 0;       /* we can not change the reconciled transaction */
    conf.dernier_fichier_auto = 1;   /*  on n'ouvre pas directement le dernier fichier */
    conf.sauvegarde_auto = 0;    /* on NE sauvegarde PAS * automatiquement par défaut */
    conf.entree = 1;    /* la touche entree provoque l'enregistrement de l'opération */
    nb_days_before_scheduled = 0;     /* nb de jours avant l'échéance pour prévenir */
    conf.execute_scheduled_of_month = FALSE;
    conf.balances_with_scheduled = TRUE;
    conf.formulaire_toujours_affiche = 0;           /* le formulaire ne s'affiche que lors de l'edition d'1 opé */
    conf.affichage_exercice_automatique = 0;        /* l'exercice est choisi en fonction de la date */
    conf.automatic_completion_payee = 1;            /* by default automatic completion */
    conf.limit_completion_to_current_account = 0;   /* By default, do full search */
    conf.automatic_recover_splits = 1;
    conf.automatic_erase_credit_debit = 0;

    conf.display_grisbi_title = GSB_ACCOUNTS_TITLE; /* show Accounts file title par défaut */
    conf.display_toolbar = GSB_BUTTON_BOTH;         /* How to display toolbar icons. */
    conf.active_scrolling_left_pane = FALSE;        /* Active_scrolling_left_pane or not. */
    conf.show_headings_bar = TRUE;                  /* Show toolbar or not. */
    conf.show_transaction_selected_in_form = 1;     /* show selected transaction in form */
    conf.show_transaction_gives_balance = 1;        /* show transaction that gives the balance of the day */
    conf.transactions_list_primary_sorting = 1;     /* Primary sorting option for the transactions */
    conf.transactions_list_secondary_sorting = 0;   /* Secondary sorting option for the transactions */
    conf.show_closed_accounts = FALSE;

    if ( conf.font_string )
    {
    g_free ( conf.font_string );
    conf.font_string = NULL;
    }

    conf.force_enregistrement = 1;     /* par défaut, on force l'enregistrement */
    gsb_file_update_last_path (g_get_home_dir ());
    gsb_file_set_backup_path ( gsb_dirs_get_user_data_dir () );
    conf.make_backup = 1;
    conf.make_backup_every_minutes = FALSE;
    conf.make_backup_nb_minutes = 0;

#if IS_DEVELOPMENT_VERSION == 1
    conf.stable_config_file_model = 0;
#endif

    conf.nb_derniers_fichiers_ouverts = 0;
    conf.nb_max_derniers_fichiers_ouverts = 3;
    tab_noms_derniers_fichiers_ouverts = NULL;

    /* no compress by default */
    conf.compress_file = 0;
    conf.compress_backup = 0;

    /* archive data */
    conf.check_for_archival = TRUE;
    conf.max_non_archived_transactions_for_check = 3000;

    conf.last_tip = -1;
    conf.show_tip = FALSE;

    /* mise en conformité avec les recommandations FreeDesktop. */
    if ( conf.browser_command )
        g_free ( conf.browser_command );
    conf.browser_command = g_strdup ( ETAT_WWW_BROWSER );

    conf.metatree_action_2button_press = 0;     /* action par défaut pour le double clic sur division */

    memset ( etat.csv_skipped_lines, '\0', sizeof(gboolean) * CSV_MAX_TOP_LINES );
}
コード例 #6
0
ファイル: gsb_file_config.c プロジェクト: jbq/grisbi
/**
 * load the config file
 * it uses the glib config utils after 0.6.0
 * if cannot load, try the xml file before that version
 *
 * \param
 *
 * \return TRUE if ok, FALSE if not found, usually for a new opening
 * */
gboolean gsb_file_config_load_config ( void )
{
    GKeyFile *config;
    gboolean result;
    const gchar *filename;
    gchar *name;
    gint i;
    gint int_ret;
    GError* err = NULL;

    gsb_file_config_clean_config ();

    filename = gsb_dirs_get_grisbirc_filename ();

    config = g_key_file_new ();

    result = g_key_file_load_from_file ( config,
                        filename,
                        G_KEY_FILE_KEEP_COMMENTS,
                        NULL );

    if ( !result )
        return FALSE;

#if IS_DEVELOPMENT_VERSION == 1
    /* get config model */
    conf.stable_config_file_model = g_key_file_get_integer ( config,
                        "Model",
                        "Stable_config_file_model",
                        NULL );
    if ( conf.stable_config_file_model )
    {
        used_model = TRUE;
        filename = g_strconcat ( gsb_dirs_get_user_config_dir (), PACKAGE, ".conf", NULL );
        if ( !g_file_test (filename, G_FILE_TEST_EXISTS) )
        {
            g_key_file_free ( config );
            return FALSE;
        }

        g_key_file_free (config);
        config = g_key_file_new ();
        result = g_key_file_load_from_file ( config,
                        filename,
                        G_KEY_FILE_KEEP_COMMENTS,
                        NULL );
    }
#endif

    /* get the geometry */
    conf.root_x = g_key_file_get_integer ( config,
                        "Geometry",
                        "Root_x",
                        NULL );

    conf.root_y = g_key_file_get_integer ( config,
                        "Geometry",
                        "Root_y",
                        NULL );

    conf.main_width = g_key_file_get_integer ( config,
                        "Geometry",
                        "Width",
                        NULL );

    conf.main_height = g_key_file_get_integer ( config,
                        "Geometry",
                        "Height",
                        NULL );

    conf.full_screen = g_key_file_get_integer ( config,
                        "Geometry",
                        "Full_screen",
                        NULL );

    conf.maximize_screen = g_key_file_get_integer ( config,
                        "Geometry",
                        "Maximize_screen",
                        NULL );

    /* Remember size of main panel */
    int_ret = g_key_file_get_integer ( config,
                        "Geometry",
                        "Panel_width",
                        &err );
    if ( err == NULL )
        conf.panel_width = int_ret;
    else
    {
        conf.panel_width = -1;
        err = NULL;
    }

    /* preferences size */
    conf.prefs_width = g_key_file_get_integer ( config,
                        "Geometry",
                        "Prefs_width",
                        NULL );

    /* get general */
    conf.r_modifiable = g_key_file_get_integer ( config,
                        "General",
                        "Can modify R",
                        NULL );

    gsb_file_update_last_path ( g_key_file_get_string ( config,
                        "General",
                        "Path",
                        NULL ));

    conf.alerte_permission = g_key_file_get_integer ( config,
                        "General",
                        "Show permission alert",
                        NULL );

    conf.entree = g_key_file_get_integer ( config,
                        "General",
                        "Function of enter",
                        NULL );

    conf.alerte_mini = g_key_file_get_integer ( config,
                        "General",
                        "Show alert messages",
                        NULL );

    conf.utilise_fonte_listes = g_key_file_get_integer ( config,
                        "General",
                        "Use user font",
                        NULL );

    conf.font_string = g_key_file_get_string ( config, "General", "Font name", NULL );

    conf.browser_command = g_key_file_get_string ( config,
                        "General",
                        "Web",
                        NULL );

    conf.pluriel_final = g_key_file_get_integer ( config,
                        "General",
                        "Pluriel_final",
                        NULL );

    conf.metatree_action_2button_press = g_key_file_get_integer ( config,
                        "General",
                        "Metatree_action_2button_press",
                        NULL );

    /* get backup part */
    conf.make_backup = g_key_file_get_integer ( config,
                        "Backup",
                        "Make backup",
                        NULL );

    conf.make_bakup_single_file = g_key_file_get_integer ( config,
                        "Backup",
                        "Make backup single file",
                        NULL );

    conf.make_backup_every_minutes = g_key_file_get_integer ( config,
                        "Backup",
                        "Make backup every x minutes",
                        NULL );

    conf.make_backup_nb_minutes = g_key_file_get_integer ( config,
                        "Backup",
                        "Make backup nb minutes",
                        NULL );

    /* exec gsb_file_automatic_backup_start ( ) if necessary */
    if ( conf.make_backup_every_minutes
     &&
     conf.make_backup_nb_minutes )
        gsb_file_automatic_backup_start ( NULL, NULL );

    conf.compress_backup = g_key_file_get_integer ( config,
                        "Backup",
                        "Compress backup",
                        NULL );

    gsb_file_set_backup_path ( g_key_file_get_string ( config,
                        "Backup",
                        "Backup path",
                        NULL ));

    /* get input/output */
    conf.dernier_fichier_auto = g_key_file_get_integer ( config,
                        "IO",
                        "Load last file",
                        NULL );

    conf.sauvegarde_auto = g_key_file_get_integer ( config,
                        "IO",
                        "Save at closing",
                        NULL );

    conf.sauvegarde_demarrage = g_key_file_get_integer ( config,
                        "IO",
                        "Save at opening",
                        NULL );

    conf.nb_max_derniers_fichiers_ouverts = g_key_file_get_integer ( config,
                        "IO",
                        "Nb last opened files",
                        NULL );

    conf.compress_file = g_key_file_get_integer ( config,
                        "IO",
                        "Compress file",
                        NULL );

    conf.force_enregistrement = g_key_file_get_integer ( config,
                        "IO",
                        "Force saving",
                        NULL );

    tab_noms_derniers_fichiers_ouverts = g_key_file_get_string_list ( config,
                        "IO",
                        "Names last files",
                        &conf.nb_derniers_fichiers_ouverts,
                        NULL );
    if (tab_noms_derniers_fichiers_ouverts)
        nom_fichier_comptes = my_strdup (tab_noms_derniers_fichiers_ouverts [ 0 ]);
    else
        nom_fichier_comptes = NULL;

    conf.check_for_archival = g_key_file_get_integer ( config,
                        "IO",
                        "Check_archival_at_opening",
                        NULL );

    conf.max_non_archived_transactions_for_check = g_key_file_get_integer ( config,
                        "IO",
                        "Max_transactions_before_warn_archival",
                        NULL );

    /* get scheduled section */
    nb_days_before_scheduled = g_key_file_get_integer ( config,
                        "Scheduled",
                        "Days before remind",
                        NULL );

    conf.execute_scheduled_of_month = g_key_file_get_integer ( config,
                        "Scheduled",
                        "Execute scheduled of month",
                        NULL );

    int_ret = g_key_file_get_integer ( config,
                        "Scheduled",
                        "Balances with scheduled",
                        &err );
    if ( err == NULL )
        conf.balances_with_scheduled = int_ret;
    else
        err = NULL;

    conf.group_partial_balance_under_accounts = g_key_file_get_integer ( config,
                        "Scheduled",
                        "Group_partial_balance",
                        NULL );

    /* get shown section */
    conf.formulaire_toujours_affiche = g_key_file_get_integer ( config,
                        "Display",
                        "Show transaction form",
                        NULL );

    conf.show_transaction_selected_in_form = g_key_file_get_integer ( config,
                        "Display",
                        "Show selected transaction in form",
                        NULL );

    conf.show_transaction_gives_balance = g_key_file_get_integer ( config,
                        "Display",
                        "Show transaction gives balance",
                        NULL );

    conf.transactions_list_primary_sorting = g_key_file_get_integer ( config,
                        "Display",
                        "Transactions_list_primary_sorting",
                        NULL );

    conf.transactions_list_secondary_sorting = g_key_file_get_integer ( config,
                        "Display",
                        "Transactions_list_secondary_sorting",
                        NULL );

    conf.affichage_exercice_automatique = g_key_file_get_integer ( config,
                        "Display",
                        "Show automatic financial year",
                        NULL );

    int_ret = g_key_file_get_integer ( config,
                        "Display",
                        "Automatic completion payee",
                        &err );
    if ( err == NULL )
        conf.automatic_completion_payee = int_ret;
    else
        err = NULL;

    conf.limit_completion_to_current_account = g_key_file_get_integer ( config,
                        "Display",
                        "Limit payee completion",
                        NULL );

    conf.automatic_recover_splits = g_key_file_get_integer ( config,
                        "Display",
                        "Automatic_recover_splits",
                        NULL );

    conf.automatic_erase_credit_debit = g_key_file_get_integer ( config,
                        "Display",
                        "Automatic_erase_credit_debit",
                        NULL );

    conf.display_toolbar = g_key_file_get_integer ( config,
                        "Display",
                        "Display toolbar",
                        NULL );

    conf.active_scrolling_left_pane = g_key_file_get_integer ( config,
                        "Display",
                        "Active_scrolling_left_pane",
                        NULL );

    conf.show_headings_bar = g_key_file_get_integer ( config,
                        "Display",
                        "Show headings bar",
                        NULL );

    conf.show_closed_accounts = g_key_file_get_integer ( config,
                        "Display",
                        "Show closed accounts",
                        NULL );

    conf.display_grisbi_title = g_key_file_get_integer ( config,
                        "Display",
                        "Display grisbi title",
                        NULL );

    /* get messages */
    for ( i = 0; messages[i].name; i ++ )
    {
        name = g_strconcat ( messages[i].name , "-answer", NULL );
        messages[i].hidden = g_key_file_get_integer ( config, "Messages",
                        messages[i].name, NULL );
        messages[i].default_answer = g_key_file_get_integer ( config, "Messages",
                        name, NULL );
        g_free ( name );
    }

    for ( i = 0; delete_msg[i].name; i ++ )
    {
        name = g_strconcat ( delete_msg[i].name , "-answer", NULL );
        delete_msg[i].hidden = g_key_file_get_integer ( config, "Messages",
                        delete_msg[i].name, NULL );
        if ( delete_msg[i].hidden == 1 )
            delete_msg[i].default_answer = 1;
        g_free ( name );
    }

    conf.last_tip = g_key_file_get_integer ( config,
                        "Messages",
                        "Last tip",
                        NULL );

    conf.show_tip = g_key_file_get_integer ( config,
                        "Messages",
                        "Show tip",
                        NULL );

    g_key_file_free (config);
    return TRUE;
}
コード例 #7
0
ファイル: gsb_file_config.c プロジェクト: jbq/grisbi
/**
 * called for each new element in the last xml config file
 * see the g_lib doc for the description of param
 *
 * \param context
 * \param text
 * \param text_len
 * \param user_data
 * \param error
 *
 * \return
 * */
static void gsb_file_config_get_xml_text_element ( GMarkupParseContext *context,
                        const gchar *text,
                        gsize text_len,
                        gpointer user_data,
                        GError **error)
{
    const gchar *element_name;
    gint i;

    element_name = g_markup_parse_context_get_element ( context );

    if ( !strcmp ( element_name,
		   "Width" ))
    {
	conf.main_width = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Height" ))
    {
	conf.main_height = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Modification_operations_rapprochees" ))
    {
	conf.r_modifiable = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Dernier_chemin_de_travail" ))
    {
	gsb_file_update_last_path (text);

	if ( !gsb_file_get_last_path ()
	     ||
	     !strlen (gsb_file_get_last_path ()))
	    gsb_file_update_last_path (g_get_home_dir ());
	return;
    }

    if ( !strcmp ( element_name,
		   "Affichage_alerte_permission" ))
    {
	 conf.alerte_permission = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Force_enregistrement" ))
    {
	conf.force_enregistrement = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Fonction_touche_entree" ))
    {
	conf.entree = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Affichage_messages_alertes" ))
    {
	conf.alerte_mini = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Utilise_fonte_des_listes" ))
    {
	conf.utilise_fonte_listes = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Fonte_des_listes" ))
    {
	conf.font_string = my_strdup (text);
	return;
    }
     if ( !strcmp ( element_name,
		   "Navigateur_web" ))
    {
        if ( conf.browser_command )
            g_free ( conf.browser_command );
	conf.browser_command = my_strdelimit (text,
					      "\\e",
					      "&" );
	return;
    }

    if ( !strcmp ( element_name,
		   "Largeur_colonne_echeancier" ))
    {
	etat.largeur_colonne_echeancier = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Largeur_colonne_comptes_comptes" ))
    {
	etat.largeur_colonne_comptes_comptes = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Largeur_colonne_etats" ))
    {
	etat.largeur_colonne_etat = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Chargement_auto_dernier_fichier" ))
    {
	conf.dernier_fichier_auto = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Nom_dernier_fichier" ))
    {
	nom_fichier_comptes = my_strdup (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Enregistrement_automatique" ))
    {
	conf.sauvegarde_auto = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Enregistrement_au_demarrage" ))
    {
	conf.sauvegarde_demarrage = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Nb_max_derniers_fichiers_ouverts" ))
    {
	conf.nb_max_derniers_fichiers_ouverts = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Compression_fichier" ))
    {
	conf.compress_file = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Compression_backup" ))
    {
	conf.compress_backup = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "fichier" ))
    {
	if (!tab_noms_derniers_fichiers_ouverts)
	    tab_noms_derniers_fichiers_ouverts = g_malloc0 ( conf.nb_max_derniers_fichiers_ouverts * sizeof(gchar *) );

	tab_noms_derniers_fichiers_ouverts[conf.nb_derniers_fichiers_ouverts] = my_strdup (text);
	conf.nb_derniers_fichiers_ouverts++;
	return;
    }

    if ( !strcmp ( element_name,
		   "Delai_rappel_echeances" ))
    {
	nb_days_before_scheduled = utils_str_atoi (text);
	conf.execute_scheduled_of_month = FALSE;
	return;
    }

    if ( !strcmp ( element_name,
		   "Affichage_formulaire" ))
    {
	conf.formulaire_toujours_affiche = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "Affichage_exercice_automatique" ))
    {
	conf.affichage_exercice_automatique = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "display_toolbar" ))
    {
	conf.display_toolbar = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "show_closed_accounts" ))
    {
	conf.show_closed_accounts = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "show_tip" ))
    {
	conf.show_tip = utils_str_atoi (text);
	return;
    }

    if ( !strcmp ( element_name,
		   "last_tip" ))
    {
	conf.last_tip = utils_str_atoi (text);
	return;
    }

    for ( i = 0; messages[i].name; i++ )
    {
	if ( !strcmp ( element_name, messages[i].name ) )
	{
	    messages[i].hidden = utils_str_atoi (text);
	}
    }
}