/* HomeBank -- Free, easy, personal accounting for everyone.
- * Copyright (C) 1995-2014 Maxime DOYEN
+ * Copyright (C) 1995-2019 Maxime DOYEN
*
* This file is part of HomeBank.
*
#ifndef __HB_PREFERENCES_H__
#define __HB_PREFERENCES_H__
+#include "hb-currency.h"
+
+
#define DEFAULT_FORMAT_DATE "%x"
#define MAX_FRAC_DIGIT 6
/*
** Preference datas
*/
-struct CurrencyFmt
-{
- //gchar *prefix_symbol; /* max symbol is 3 digits in unicode */
- //gchar *suffix_symbol; /* but mostly is 1 digit, and most are prefix ~100 */
- gchar *symbol;
- gboolean is_prefix;
- gchar *decimal_char;
- gchar *grouping_char;
- gshort frac_digits;
- gchar format[8]; /* hold decimal format: '%.xf' */
- gchar monfmt[32]; /* hold monetary format: 'prefix %s suffix' */
-};
struct WinGeometry
{
gboolean showsplash;
gboolean loadlast;
gboolean appendscheduled;
-
- gchar *language;
-
- gchar *path_hbfile;
- gchar *path_import;
- gchar *path_export;
-
- gboolean heritdate;
- gboolean hidereconciled;
+ gboolean do_update_currency;
gint date_range_wal;
- gint date_range_txn;
- gint date_range_rep;
- gshort fisc_year_day;
- gshort fisc_year_month;
-
//interface
gshort toolbar_style;
+
+ gboolean icon_symbolic;
+ gshort grid_lines;
gboolean custom_colors;
gchar *color_exp;
gchar *color_inc;
gchar *color_warn;
- gboolean rules_hint;
- //display format
+ //locale
+ gchar *language;
gchar *date_format;
+ gshort fisc_year_day;
+ gshort fisc_year_month;
+ gboolean vehicle_unit_ismile; // true if unit is mile, default Km
+ gboolean vehicle_unit_isgal; // true if unit is gallon, default Liter
- struct CurrencyFmt base_cur;
-
- //gshort num_nbdecimal;
- //gboolean num_separator;
- //gboolean imperial_unit;
-
- //help system
- //gboolean show_tooltips;
- //gboolean show_help_button;
- //gboolean show_tipofday;
- //gchar *path_navigator;
-
- //currency
- //gchar *curr_default;
-
- //euro zone
- gboolean euro_active;
- gint euro_country;
- gdouble euro_value;
-
- struct CurrencyFmt minor_cur;
+ //transactions
+ gint date_range_txn;
+ gint date_future_nbdays;
+ gboolean hidereconciled;
+ gboolean showremind;
+ gboolean heritdate;
+ gboolean txn_memoacp;
+ gshort txn_memoacp_days;
- //gshort euro_nbdec;
- //gboolean euro_thsep;
- //gchar *euro_symbol;
+ //import/export
+ gint dtex_datefmt;
+ gint dtex_ofxname;
+ gint dtex_ofxmemo;
+ gboolean dtex_qifmemo;
+ gboolean dtex_qifswap;
+ gboolean dtex_ucfirst;
//report options
+ gint date_range_rep;
+ gint report_color_scheme;
gboolean stat_byamount;
gboolean stat_showrate;
gboolean stat_showdetail;
- gboolean budg_showdetail;
- gint report_color_scheme;
+ gboolean budg_showdetail;
- //data exchange options
- gint dtex_ofxmemo;
- gint dtex_datefmt;
+ //backup option
+ gboolean bak_is_automatic;
+ gshort bak_max_num_copies;
- //chart options
- gboolean chart_legend;
+ //folders
+ gchar *path_hbfile;
+ gchar *path_import;
+ gchar *path_export;
+ gchar *path_attach;
-
- /* internal : not saved*/
+ //euro zone
+ gboolean euro_active;
+ gint euro_country;
+ gdouble euro_value;
+ Currency minor_cur;
- gint lst_ope_columns[NUM_LST_DSPOPE+1];
- gint lst_ope_sort_id;
- gint lst_ope_sort_order;
- /* windows size an position */
+ //---- others data -----
+ gboolean dtex_nointro;
+ gchar IntCurrSymbol[8];
+ gint lst_impope_columns[NUM_LST_DSPOPE+1];
+ gint lst_ope_columns[NUM_LST_DSPOPE+1];
+ gint lst_ope_col_width[NUM_LST_DSPOPE+1];
+ gint lst_ope_sort_id; // -- implicit --
+ gint lst_ope_sort_order; // -- implicit --
+
+ /* windows/dialogs size an position */
struct WinGeometry wal_wg;
struct WinGeometry acc_wg;
+
struct WinGeometry sta_wg;
struct WinGeometry tme_wg;
struct WinGeometry ove_wg;
struct WinGeometry bud_wg;
struct WinGeometry cst_wg;
+ struct WinGeometry txn_wg;
+
+ // main window stuffs
gboolean wal_toolbar;
gboolean wal_spending;
gboolean wal_upcoming;
gint wal_vpaned;
gint wal_hpaned;
+ //home panel
+ gshort pnl_acc_col_acc_width;
+ gshort pnl_acc_show_by;
+ gshort pnl_upc_col_pay_width;
+ gshort pnl_upc_col_mem_width;
+ gchar *pnl_list_tab;
+
//vehiclecost units (mile/gal or km/liters)
- gboolean vehicle_unit_ismile; // true is unit is mile, default Km
- gboolean vehicle_unit_isgal; // true is unit is gallon, default Liter
gchar *vehicle_unit_dist;
gchar *vehicle_unit_vol;