X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fhb-preferences.c;h=db7b3ed5a2adffbf11420f18a57f87a4d7e026d0;hb=d11c8dd3275ed2a4a35598e69c0804dcf9435766;hp=6fead0dbdc6e2b2b12ce51cd8cff998d160fa602;hpb=27f6e3b112df235c8e9afc9911b1f6bce208a001;p=chaz%2Fhomebank
diff --git a/src/hb-preferences.c b/src/hb-preferences.c
index 6fead0d..db7b3ed 100644
--- a/src/hb-preferences.c
+++ b/src/hb-preferences.c
@@ -1,5 +1,5 @@
/* HomeBank -- Free, easy, personal accounting for everyone.
- * Copyright (C) 1995-2014 Maxime DOYEN
+ * Copyright (C) 1995-2018 Maxime DOYEN
*
* This file is part of HomeBank.
*
@@ -17,7 +17,9 @@
* along with this program. If not, see .
*/
+
#include "homebank.h"
+
#include "hb-preferences.h"
#include "hb-filter.h"
#include "gtk-chart-colors.h"
@@ -41,7 +43,56 @@
extern struct HomeBank *GLOBALS;
extern struct Preferences *PREFS;
+/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
+
+static void homebank_pref_init_monetary(void)
+{
+
+ DB( g_print("\n[system] get currency code\n") );
+
+#ifdef G_OS_UNIX
+ struct lconv *lc = localeconv();
+
+ g_stpcpy (PREFS->IntCurrSymbol, lc->int_curr_symbol);
+ g_strstrip(PREFS->IntCurrSymbol);
+
+ DB( g_print("- stored '%s' from linux system\n", PREFS->IntCurrSymbol) );
+#else
+
+ #ifdef G_OS_WIN32
+ #define BUFFER_SIZE 512
+ char buffer[BUFFER_SIZE];
+ //LPWSTR wcBuffer = buffer;
+ LPSTR wcBuffer = buffer;
+ int iResult;
+
+ //https://msdn.microsoft.com/en-us/library/windows/desktop/dd464799%28v=vs.85%29.aspx
+
+ //LOCALE_SINTLSYMBOL
+ iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SINTLSYMBOL, wcBuffer, BUFFER_SIZE);
+ if(iResult > 0)
+ {
+ DB( g_print("LOCALE_SINTLSYMBOL='%s'\n", buffer) );
+ g_stpcpy (PREFS->IntCurrSymbol, buffer);
+ g_strstrip(PREFS->IntCurrSymbol);
+
+ DB( g_print("- stored '%s' from windows system\n", PREFS->IntCurrSymbol) );
+ }
+ #else
+
+ g_stpcpy (PREFS->IntCurrSymbol, "USD");
+
+ DB( g_print("- stored '%s' as default\n", PREFS->IntCurrSymbol) );
+
+ #endif
+
+#endif
+
+
+}
+
+/*
static void homebank_pref_init_monetary(void)
{
DB( g_print("\n[preferences] monetary\n") );
@@ -53,6 +104,8 @@ struct lconv *lc = localeconv();
DB( g_print("\n[preferences] monetary unix\n") );
+ DB( g_print("int_curr_symbol '%s'\n", lc->int_curr_symbol) );
+
DB( g_print("mon_decimal_point is utf8: %d\n", g_utf8_validate(lc->mon_decimal_point, -1, NULL)) );
DB( g_print("mon_decimal_point '%s'\n", lc->mon_decimal_point) );
DB( g_print("mon_decimal_point %x %x %x %x\n", lc->mon_decimal_point[0], lc->mon_decimal_point[1], lc->mon_decimal_point[2], lc->mon_decimal_point[3]) );
@@ -70,19 +123,18 @@ struct lconv *lc = localeconv();
DB( g_print("n_cs_precedes '%d'\n", lc->n_cs_precedes) );
- /* ok assign */
-
+ //PREFS->base_cur.iso_code = g_strdup(g_strstrip(lc->int_curr_symbol));
if( lc->p_cs_precedes || lc->n_cs_precedes )
{
PREFS->base_cur.symbol = g_strdup(lc->currency_symbol);
- PREFS->base_cur.is_prefix = TRUE;
+ PREFS->base_cur.sym_prefix = TRUE;
DB( g_print("locale mon cs is a prefix\n") );
}
else
{
PREFS->base_cur.symbol = g_strdup(lc->currency_symbol);
- PREFS->base_cur.is_prefix = FALSE;
+ PREFS->base_cur.sym_prefix = FALSE;
}
PREFS->base_cur.decimal_char = g_strdup(lc->mon_decimal_point);
@@ -107,7 +159,7 @@ struct lconv *lc = localeconv();
#else
#ifdef G_OS_WIN32
- //todo: to be really set by a win32 specialist from the registry...
+
#define BUFFER_SIZE 512
char buffer[BUFFER_SIZE];
//LPWSTR wcBuffer = buffer;
@@ -115,6 +167,11 @@ struct lconv *lc = localeconv();
int iResult;
gsize toto;
+ //https://msdn.microsoft.com/en-us/library/windows/desktop/dd464799%28v=vs.85%29.aspx
+
+ //LOCALE_SINTLSYMBOL
+
+
//see g_locale_to_utf8 here
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, wcBuffer, BUFFER_SIZE);
if(iResult > 0)
@@ -123,6 +180,9 @@ struct lconv *lc = localeconv();
PREFS->base_cur.symbol = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
}
+ // LOCALE_ICURRENCY
+ //PREFS->base_cur.sym_prefix =
+
iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, wcBuffer, BUFFER_SIZE);
if(iResult > 0)
{
@@ -137,12 +197,14 @@ struct lconv *lc = localeconv();
PREFS->base_cur.grouping_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL);
}
+ // LOCALE_ICURRDIGITS
PREFS->base_cur.frac_digits = 2;
#else
- PREFS->base_cur.prefix_symbol = NULL; //g_strdup("");
- PREFS->base_cur.suffix_symbol = NULL; //g_strdup("");
+ PREFS->base_cur.iso_code = g_strdup("USD");
+ PREFS->base_cur.symbol = NULL; //g_strdup("");
+ PREFS->base_cur.sym_prefix = FALSE;
PREFS->base_cur.decimal_char = g_strdup(".");
PREFS->base_cur.grouping_char = NULL; //g_strdup("");
PREFS->base_cur.frac_digits = 2;
@@ -151,6 +213,7 @@ struct lconv *lc = localeconv();
#endif
}
+*/
@@ -164,57 +227,6 @@ static void homebank_pref_init_wingeometry(struct WinGeometry *wg, gint l, gint
}
-/*
-** create the format string for monetary strfmon (major/minor)
-*/
-static void _homebank_pref_createformat(void)
-{
-struct CurrencyFmt *cur;
-
- DB( g_print("\n[preferences] pref create format\n") );
-
-/*
- if(PREFS->base_cur.grouping_char != NULL)
- g_snprintf(GLOBALS->fmt_maj_number, 15, "%%^.%dn", PREFS->base_cur.frac_digits);
- else
- g_snprintf(GLOBALS->fmt_maj_number, 15, "%%.%dn", PREFS->base_cur.frac_digits);
-
- DB( g_print("+ major is: '%s'\n", GLOBALS->fmt_maj_number) );
-
-
- if(PREFS->minor_cur.grouping_char != NULL)
- g_snprintf(GLOBALS->fmt_min_number, 15, "%s %%!^.%dn %s",
- PREFS->minor_cur.prefix_symbol,
- PREFS->minor_cur.frac_digits,
- PREFS->minor_cur.suffix_symbol
- );
- else
- g_snprintf(GLOBALS->fmt_min_number, 15, "%s %%!.%dn %s",
- PREFS->minor_cur.prefix_symbol,
- PREFS->minor_cur.frac_digits,
- PREFS->minor_cur.suffix_symbol
- );
-
- DB( g_print("+ minor is: '%s'\n", GLOBALS->fmt_min_number) );
-*/
-
- /* base mon format */
- cur = &PREFS->base_cur;
- g_snprintf(cur->format , 8-1, "%%.%df", cur->frac_digits);
- g_snprintf(cur->monfmt, 32-1, (cur->is_prefix) ? "%s %%s" : "%%s %s", cur->symbol);
- DB( g_print(" - format: '%s'\n", cur->format) );
- DB( g_print(" - monfmt: '%s'\n", cur->monfmt) );
-
- /* minor mon format */
- cur = &PREFS->minor_cur;
- g_snprintf(cur->format , 8-1, "%%.%df", cur->frac_digits);
- g_snprintf(cur->monfmt, 32-1, (cur->is_prefix) ? "%s %%s" : "%%s %s", cur->symbol);
- DB( g_print(" - format: '%s'\n", cur->format) );
- DB( g_print(" - monfmt: '%s'\n", cur->monfmt) );
-
-}
-
-
//vehicle_unit_100
//vehicle_unit_distbyvol
//=> used for column title
@@ -230,27 +242,30 @@ static void _homebank_pref_init_measurement_units(void)
// unit is miles
else
{
- PREFS->vehicle_unit_dist = "%d m.";
- PREFS->vehicle_unit_100 = "100 miles";
+ PREFS->vehicle_unit_dist = "%d mi.";
+ PREFS->vehicle_unit_100 = "100 mi.";
}
// unit is Liters
if(!PREFS->vehicle_unit_isgal)
{
- PREFS->vehicle_unit_vol = "%.2f L";
+ //TRANSLATORS: format a liter number with l/L as abbreviation
+ PREFS->vehicle_unit_vol = _("%.2f l");
if(!PREFS->vehicle_unit_ismile)
- PREFS->vehicle_unit_distbyvol = "km/L";
+ //TRANSLATORS: kilometer per liter
+ PREFS->vehicle_unit_distbyvol = _("km/l");
else
- PREFS->vehicle_unit_distbyvol = "miles/gal";
+ //TRANSLATORS: miles per liter
+ PREFS->vehicle_unit_distbyvol = _("mi./l");
}
// unit is gallon
else
{
- PREFS->vehicle_unit_vol = "%.2f gal";
+ PREFS->vehicle_unit_vol = "%.2f gal.";
if(!PREFS->vehicle_unit_ismile)
- PREFS->vehicle_unit_distbyvol = "km/gal";
+ PREFS->vehicle_unit_distbyvol = "km/gal.";
else
- PREFS->vehicle_unit_distbyvol = "miles/gal";
+ PREFS->vehicle_unit_distbyvol = "mi./gal.";
}
}
@@ -274,9 +289,6 @@ void homebank_pref_free(void)
g_free(PREFS->language);
- g_free(PREFS->base_cur.symbol);
- g_free(PREFS->base_cur.decimal_char);
- g_free(PREFS->base_cur.grouping_char);
g_free(PREFS->minor_cur.symbol);
g_free(PREFS->minor_cur.decimal_char);
@@ -306,16 +318,18 @@ gint i;
PREFS->showsplash = TRUE;
PREFS->loadlast = TRUE;
PREFS->appendscheduled = FALSE;
+ PREFS->do_update_currency = FALSE;
PREFS->heritdate = FALSE;
PREFS->hidereconciled = FALSE;
+ PREFS->showremind = TRUE;
PREFS->toolbar_style = 4; //text beside icons
PREFS->custom_colors = TRUE;
PREFS->color_exp = g_strdup(DEFAULT_EXP_COLOR);
PREFS->color_inc = g_strdup(DEFAULT_INC_COLOR);
PREFS->color_warn = g_strdup(DEFAULT_WARN_COLOR);
- PREFS->rules_hint = FALSE;
+ PREFS->grid_lines = GTK_TREE_VIEW_GRID_LINES_NONE;
/* fiscal year */
PREFS->fisc_year_day = 1;
@@ -330,6 +344,8 @@ gint i;
homebank_pref_init_wingeometry(&PREFS->bud_wg, 0, 0, 800, 494);
homebank_pref_init_wingeometry(&PREFS->cst_wg, 0, 0, 800, 494);
+ homebank_pref_init_wingeometry(&PREFS->txn_wg, 0, 0, -1, -1);
+
homebank_pref_init_monetary();
PREFS->wal_toolbar = TRUE;
@@ -338,6 +354,10 @@ gint i;
PREFS->wal_vpaned = 600/2;
PREFS->wal_hpaned = 1024/2;
+ PREFS->pnl_acc_col_acc_width = -1;
+ PREFS->pnl_acc_show_by = 0;
+ PREFS->pnl_upc_col_pay_width = -1;
+ PREFS->pnl_upc_col_mem_width = -1;
i = 0;
@@ -346,7 +366,7 @@ gint i;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_DATE;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_INFO;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_PAYEE;
- PREFS->lst_ope_columns[i++] = LST_DSPOPE_WORDING;
+ PREFS->lst_ope_columns[i++] = LST_DSPOPE_MEMO;
PREFS->lst_ope_columns[i++] = -LST_DSPOPE_AMOUNT;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_EXPENSE;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_INCOME;
@@ -359,29 +379,43 @@ gint i;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_PAYEE;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_CATEGORY;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_TAGS;
+ PREFS->lst_ope_columns[i++] = LST_DSPOPE_CLR;
PREFS->lst_ope_columns[i++] = -LST_DSPOPE_AMOUNT;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_EXPENSE;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_INCOME;
PREFS->lst_ope_columns[i++] = LST_DSPOPE_BALANCE;
- PREFS->lst_ope_columns[i++] = LST_DSPOPE_WORDING;
+ PREFS->lst_ope_columns[i++] = LST_DSPOPE_MEMO;
PREFS->lst_ope_sort_id = LST_DSPOPE_DATE;
PREFS->lst_ope_sort_order = GTK_SORT_ASCENDING;
+ for( i=0;ilst_ope_col_size[i] = -1;
//PREFS->base_cur.nbdecimal = 2;
//PREFS->base_cur.separator = TRUE;
PREFS->date_range_wal = FLT_RANGE_LASTMONTH;
PREFS->date_range_txn = FLT_RANGE_LAST12MONTHS;
+ PREFS->date_future_nbdays = 0;
PREFS->date_range_rep = FLT_RANGE_THISYEAR;
+ //import/export
+ PREFS->dtex_nointro = TRUE;
+ //PREFS->dtex_datefmt
+ PREFS->dtex_ofxname = 1;
+ PREFS->dtex_ofxmemo = 2;
+ PREFS->dtex_qifmemo = TRUE;
+ PREFS->dtex_qifswap = FALSE;
//todo: add intelligence here
PREFS->euro_active = FALSE;
PREFS->euro_country = 0;
PREFS->euro_value = 1.0;
+
+ da_cur_initformat(&PREFS->minor_cur);
+
//PREFS->euro_nbdec = 2;
//PREFS->euro_thsep = TRUE;
//PREFS->euro_symbol = g_strdup("??");
@@ -392,12 +426,11 @@ gint i;
PREFS->budg_showdetail = FALSE;
PREFS->report_color_scheme = CHART_COLMAP_HOMEBANK;
- PREFS->chart_legend = FALSE;
+ //PREFS->chart_legend = FALSE;
PREFS->vehicle_unit_ismile = FALSE;
PREFS->vehicle_unit_isgal = FALSE;
- _homebank_pref_createformat();
_homebank_pref_init_measurement_units();
}
@@ -512,7 +545,9 @@ gchar *string;
string = g_key_file_get_string(key_file, group_name, key, NULL);
if( string != NULL )
{
- *storage = g_strdup(string);
+ //*storage = g_strdup(string);
+ //leak
+ *storage = string; //already a new allocated string
//DB( g_print(" store '%s' for %s at %x\n", string, key, *storage) );
}
@@ -531,18 +566,18 @@ gchar *string;
}
-static void homebank_pref_currfmt_convert(struct CurrencyFmt *cur, gchar *prefix, gchar *suffix)
+static void homebank_pref_currfmt_convert(Currency *cur, gchar *prefix, gchar *suffix)
{
if( (prefix != NULL) && (strlen(prefix) > 0) )
{
cur->symbol = g_strdup(prefix);
- cur->is_prefix = TRUE;
+ cur->sym_prefix = TRUE;
}
else if( (suffix != NULL) )
{
cur->symbol = g_strdup(suffix);
- cur->is_prefix = FALSE;
+ cur->sym_prefix = FALSE;
}
}
@@ -615,7 +650,16 @@ GError *error = NULL;
homebank_pref_get_string(keyfile, group, "ColorInc" , &PREFS->color_inc);
homebank_pref_get_string(keyfile, group, "ColorWarn", &PREFS->color_warn);
- homebank_pref_get_boolean(keyfile, group, "RulesHint", &PREFS->rules_hint);
+ if( version <= 500 )
+ {
+ gboolean rules_hint;
+ homebank_pref_get_boolean(keyfile, group, "RulesHint", &rules_hint);
+ if( rules_hint == TRUE )
+ PREFS->grid_lines = GTK_TREE_VIEW_GRID_LINES_HORIZONTAL;
+
+ }
+ else
+ homebank_pref_get_short(keyfile, group, "GridLines", &PREFS->grid_lines);
}
DB( g_print(" - color exp: %s\n", PREFS->color_exp) );
@@ -630,14 +674,16 @@ GError *error = NULL;
homebank_pref_get_boolean(keyfile, group, "ShowSplash", &PREFS->showsplash);
homebank_pref_get_boolean(keyfile, group, "LoadLast", &PREFS->loadlast);
homebank_pref_get_boolean(keyfile, group, "AppendScheduled", &PREFS->appendscheduled);
+ homebank_pref_get_boolean(keyfile, group, "UpdateCurrency", &PREFS->do_update_currency);
homebank_pref_get_boolean(keyfile, group, "HeritDate", &PREFS->heritdate);
homebank_pref_get_boolean(keyfile, group, "HideReconciled", &PREFS->hidereconciled);
+ homebank_pref_get_boolean(keyfile, group, "ShowRemind", &PREFS->showremind);
if( g_key_file_has_key(keyfile, group, "ColumnsOpe", NULL) )
{
gboolean *bsrc;
- gint *src, i;
+ gint *src, i, j;
gsize length;
if(version <= 2) //retrieve old 0.1 or 0.2 visibility boolean
@@ -673,10 +719,33 @@ GError *error = NULL;
DB( g_print(" - upgrade from v7\n") );
DB( g_print(" - copying column order from pref file\n") );
memcpy(PREFS->lst_ope_columns, src, length*sizeof(gint));
+ //append balance column
PREFS->lst_ope_columns[10] = LST_DSPOPE_BALANCE;
}
}
+ if(version < 500)
+ {
+ if( length == NUM_LST_DSPOPE-2 ) //1 less column before v4.5.1
+ {
+ DB( g_print(" - upgrade prior v5.0\n") );
+ DB( g_print(" - copying column order from pref file\n") );
+ gboolean added = FALSE;
+ for(i=0,j=0; ilst_ope_columns[j++] = LST_DSPOPE_CLR;
+ added = TRUE;
+ }
+ PREFS->lst_ope_columns[j++] = src[i];
+ }
+ }
+ }
+
}
g_free(src);
@@ -684,6 +753,26 @@ GError *error = NULL;
}
+ if( g_key_file_has_key(keyfile, group, "ColumnsOpeWidth", NULL) )
+ {
+ gint *src;
+ gsize length;
+
+ src = g_key_file_get_integer_list(keyfile, group, "ColumnsOpeWidth", &length, &error);
+
+ DB( g_print(" - length %d (max=%d)\n", length, NUM_LST_DSPOPE) );
+
+ if( length == NUM_LST_DSPOPE-1 )
+ {
+ DB( g_print(" - copying column width from pref file\n") );
+ memcpy(PREFS->lst_ope_col_size, src, length*sizeof(gint));
+ }
+
+ //leak
+ g_free(src);
+
+ }
+
homebank_pref_get_integer(keyfile, group, "OpeSortId", &PREFS->lst_ope_sort_id);
homebank_pref_get_integer(keyfile, group, "OpeSortOrder", &PREFS->lst_ope_sort_order);
@@ -704,10 +793,14 @@ GError *error = NULL;
homebank_pref_get_wingeometry(keyfile, group, "Ove", &PREFS->ove_wg);
homebank_pref_get_wingeometry(keyfile, group, "Bud", &PREFS->bud_wg);
homebank_pref_get_wingeometry(keyfile, group, "Car", &PREFS->cst_wg);
+
+ homebank_pref_get_wingeometry(keyfile, group, "Txn", &PREFS->txn_wg);
+
if(version <= 7) //set maximize to 0
{
PREFS->wal_wg.s = 0;
PREFS->acc_wg.s = 0;
+ PREFS->txn_wg.s = 0;
PREFS->sta_wg.s = 0;
PREFS->tme_wg.s = 0;
PREFS->ove_wg.s = 0;
@@ -720,45 +813,23 @@ GError *error = NULL;
homebank_pref_get_boolean(keyfile, group, "WalSpending", &PREFS->wal_spending);
homebank_pref_get_boolean(keyfile, group, "WalUpcoming", &PREFS->wal_upcoming);
+ //since 5.1.3
+ group = "Panels";
- group = "Format";
+ DB( g_print(" -> ** Panels\n") );
- DB( g_print(" -> ** Format\n") );
+ homebank_pref_get_short(keyfile, group, "AccColAccW", &PREFS->pnl_acc_col_acc_width);
+ homebank_pref_get_short(keyfile, group, "AccShowBy" , &PREFS->pnl_acc_show_by);
- homebank_pref_get_string(keyfile, group, "DateFmt", &PREFS->date_format);
+ homebank_pref_get_short(keyfile, group, "UpcColPayW", &PREFS->pnl_upc_col_pay_width);
+ homebank_pref_get_short(keyfile, group, "UpcColMemW", &PREFS->pnl_upc_col_mem_width);
- if(version <= 1)
- {
- //retrieve old 0.1 preferences
- homebank_pref_get_short(keyfile, group, "NumNbDec", &PREFS->base_cur.frac_digits);
- //PREFS->base_cur.separator = g_key_file_get_boolean (keyfile, group, "NumSep", NULL);
- }
- else
- {
- if(version < 460)
- {
- gchar *prefix = NULL;
- gchar *suffix = NULL;
- homebank_pref_get_string(keyfile, group, "PreSymbol", &prefix);
- homebank_pref_get_string(keyfile, group, "SufSymbol", &suffix);
- homebank_pref_currfmt_convert(&PREFS->base_cur, prefix, suffix);
- g_free(prefix);
- g_free(suffix);
- }
- else
- {
- homebank_pref_get_string(keyfile, group, "Symbol", &PREFS->base_cur.symbol);
- homebank_pref_get_boolean(keyfile, group, "IsPrefix", &PREFS->base_cur.is_prefix);
- }
- homebank_pref_get_string(keyfile, group, "DecChar" , &PREFS->base_cur.decimal_char);
- homebank_pref_get_string(keyfile, group, "GroupChar", &PREFS->base_cur.grouping_char);
- homebank_pref_get_short(keyfile, group, "FracDigits", &PREFS->base_cur.frac_digits);
+ group = "Format";
- //fix 378992/421228
- if( PREFS->base_cur.frac_digits > MAX_FRAC_DIGIT )
- PREFS->base_cur.frac_digits = MAX_FRAC_DIGIT;
- }
+ DB( g_print(" -> ** Format\n") );
+
+ homebank_pref_get_string(keyfile, group, "DateFmt", &PREFS->date_format);
if(version < 460)
{
@@ -782,6 +853,7 @@ GError *error = NULL;
homebank_pref_get_integer(keyfile, group, "DateRangeWal", &PREFS->date_range_wal);
homebank_pref_get_integer(keyfile, group, "DateRangeTxn", &PREFS->date_range_txn);
+ homebank_pref_get_integer(keyfile, group, "DateFutureNbDays", &PREFS->date_future_nbdays);
homebank_pref_get_integer(keyfile, group, "DateRangeRep", &PREFS->date_range_rep);
if(version <= 7)
@@ -833,7 +905,7 @@ GError *error = NULL;
else
{
homebank_pref_get_string(keyfile, group, "Symbol", &PREFS->minor_cur.symbol);
- homebank_pref_get_boolean(keyfile, group, "IsPrefix", &PREFS->minor_cur.is_prefix);
+ homebank_pref_get_boolean(keyfile, group, "IsPrefix", &PREFS->minor_cur.sym_prefix);
}
homebank_pref_get_string(keyfile, group, "DecChar" , &PREFS->minor_cur.decimal_char);
homebank_pref_get_string(keyfile, group, "GroupChar", &PREFS->minor_cur.grouping_char);
@@ -843,6 +915,7 @@ GError *error = NULL;
if( PREFS->minor_cur.frac_digits > MAX_FRAC_DIGIT )
PREFS->minor_cur.frac_digits = MAX_FRAC_DIGIT;
+ da_cur_initformat(&PREFS->minor_cur);
}
//PREFS->euro_symbol = g_locale_to_utf8(tmpstr, -1, NULL, NULL, NULL);
@@ -861,8 +934,13 @@ GError *error = NULL;
DB( g_print(" -> ** Exchange\n") );
+ //homebank_pref_get_boolean(keyfile, group, "DoIntro", &PREFS->dtex_nointro);
+
homebank_pref_get_integer(keyfile, group, "DateFmt", &PREFS->dtex_datefmt);
+ homebank_pref_get_integer(keyfile, group, "OfxName", &PREFS->dtex_ofxname);
homebank_pref_get_integer(keyfile, group, "OfxMemo", &PREFS->dtex_ofxmemo);
+ homebank_pref_get_boolean(keyfile, group, "QifMemo", &PREFS->dtex_qifmemo);
+ homebank_pref_get_boolean(keyfile, group, "QifSwap", &PREFS->dtex_qifswap);
//group = "Chart";
@@ -882,7 +960,6 @@ GError *error = NULL;
g_free(filename);
g_key_file_free (keyfile);
- _homebank_pref_createformat();
_homebank_pref_init_measurement_units();
}
@@ -933,27 +1010,34 @@ gsize length;
g_key_file_set_integer (keyfile, group, "BarStyle", PREFS->toolbar_style);
//g_key_file_set_integer (keyfile, group, "BarImageSize", PREFS->image_size);
+
+
g_key_file_set_boolean (keyfile, group, "CustomColors", PREFS->custom_colors);
g_key_file_set_string (keyfile, group, "ColorExp" , PREFS->color_exp);
g_key_file_set_string (keyfile, group, "ColorInc" , PREFS->color_inc);
g_key_file_set_string (keyfile, group, "ColorWarn", PREFS->color_warn);
- g_key_file_set_boolean (keyfile, group, "RulesHint", PREFS->rules_hint);
-
+ g_key_file_set_integer (keyfile, group, "GridLines", PREFS->grid_lines);
homebank_pref_set_string (keyfile, group, "WalletPath" , PREFS->path_hbfile);
homebank_pref_set_string (keyfile, group, "ImportPath" , PREFS->path_import);
homebank_pref_set_string (keyfile, group, "ExportPath" , PREFS->path_export);
//g_key_file_set_string (keyfile, group, "NavigatorPath", PREFS->path_navigator);
+
+
+
g_key_file_set_boolean (keyfile, group, "ShowSplash", PREFS->showsplash);
g_key_file_set_boolean (keyfile, group, "LoadLast", PREFS->loadlast);
g_key_file_set_boolean (keyfile, group, "AppendScheduled", PREFS->appendscheduled);
+ g_key_file_set_boolean (keyfile, group, "UpdateCurrency", PREFS->do_update_currency);
g_key_file_set_boolean (keyfile, group, "HeritDate", PREFS->heritdate);
g_key_file_set_boolean (keyfile, group, "HideReconciled", PREFS->hidereconciled);
+ g_key_file_set_boolean (keyfile, group, "ShowRemind", PREFS->showremind);
g_key_file_set_integer_list(keyfile, group, "ColumnsOpe", PREFS->lst_ope_columns, NUM_LST_DSPOPE-1);
+ g_key_file_set_integer_list(keyfile, group, "ColumnsOpeWidth", PREFS->lst_ope_col_size, NUM_LST_DSPOPE-1);
g_key_file_set_integer (keyfile, group, "OpeSortId" , PREFS->lst_ope_sort_id);
g_key_file_set_integer (keyfile, group, "OpeSortOrder" , PREFS->lst_ope_sort_order);
@@ -972,24 +1056,30 @@ gsize length;
g_key_file_set_integer_list(keyfile, group, "Bud", (gint *)&PREFS->bud_wg, 5);
g_key_file_set_integer_list(keyfile, group, "Car", (gint *)&PREFS->cst_wg, 5);
+ g_key_file_set_integer_list(keyfile, group, "Txn", (gint *)&PREFS->txn_wg, 5);
+
g_key_file_set_integer (keyfile, group, "WalVPaned" , PREFS->wal_vpaned);
g_key_file_set_integer (keyfile, group, "WalHPaned" , PREFS->wal_hpaned);
g_key_file_set_boolean (keyfile, group, "WalToolbar", PREFS->wal_toolbar);
g_key_file_set_boolean (keyfile, group, "WalSpending", PREFS->wal_spending);
g_key_file_set_boolean (keyfile, group, "WalUpcoming", PREFS->wal_upcoming);
+ //since 5.1.3
+ DB( g_print(" -> ** Panels\n") );
+
+ group = "Panels";
+ g_key_file_set_integer(keyfile, group, "AccColAccW", PREFS->pnl_acc_col_acc_width);
+ g_key_file_set_integer(keyfile, group, "AccShowBy" , PREFS->pnl_acc_show_by);
+
+ g_key_file_set_integer(keyfile, group, "UpcColPayW", PREFS->pnl_upc_col_pay_width);
+ g_key_file_set_integer(keyfile, group, "UpcColMemW", PREFS->pnl_upc_col_mem_width);
+
DB( g_print(" -> ** format\n") );
group = "Format";
homebank_pref_set_string (keyfile, group, "DateFmt" , PREFS->date_format);
- homebank_pref_set_string (keyfile, group, "Symbol" , PREFS->base_cur.symbol);
- g_key_file_set_boolean (keyfile, group, "IsPrefix" , PREFS->base_cur.is_prefix);
- homebank_pref_set_string (keyfile, group, "DecChar" , PREFS->base_cur.decimal_char);
- homebank_pref_set_string (keyfile, group, "GroupChar" , PREFS->base_cur.grouping_char);
- g_key_file_set_integer (keyfile, group, "FracDigits", PREFS->base_cur.frac_digits);
-
//g_key_file_set_boolean (keyfile, group, "UKUnits" , PREFS->imperial_unit);
g_key_file_set_boolean (keyfile, group, "UnitIsMile" , PREFS->vehicle_unit_ismile);
g_key_file_set_boolean (keyfile, group, "UnitIsGal" , PREFS->vehicle_unit_isgal);
@@ -1000,6 +1090,7 @@ gsize length;
group = "Filter";
g_key_file_set_integer (keyfile, group, "DateRangeWal", PREFS->date_range_wal);
g_key_file_set_integer (keyfile, group, "DateRangeTxn", PREFS->date_range_txn);
+ g_key_file_set_integer (keyfile, group, "DateFutureNbDays", PREFS->date_future_nbdays);
g_key_file_set_integer (keyfile, group, "DateRangeRep", PREFS->date_range_rep);
DB( g_print(" -> ** euro\n") );
@@ -1017,7 +1108,7 @@ gsize length;
g_ascii_dtostr(ratestr, 63, PREFS->euro_value);
homebank_pref_set_string (keyfile, group, "ChangeRate", ratestr);
homebank_pref_set_string (keyfile, group, "Symbol" , PREFS->minor_cur.symbol);
- g_key_file_set_boolean (keyfile, group, "IsPrefix" , PREFS->minor_cur.is_prefix);
+ g_key_file_set_boolean (keyfile, group, "IsPrefix" , PREFS->minor_cur.sym_prefix);
homebank_pref_set_string (keyfile, group, "DecChar" , PREFS->minor_cur.decimal_char);
homebank_pref_set_string (keyfile, group, "GroupChar" , PREFS->minor_cur.grouping_char);
g_key_file_set_integer (keyfile, group, "FracDigits", PREFS->minor_cur.frac_digits);
@@ -1035,8 +1126,14 @@ gsize length;
group = "Exchange";
+ //g_key_file_set_boolean (keyfile, group, "DoIntro", PREFS->dtex_nointro);
+
g_key_file_set_integer (keyfile, group, "DateFmt", PREFS->dtex_datefmt);
+ g_key_file_set_integer (keyfile, group, "OfxName", PREFS->dtex_ofxname);
g_key_file_set_integer (keyfile, group, "OfxMemo", PREFS->dtex_ofxmemo);
+ g_key_file_set_boolean (keyfile, group, "QifMemo", PREFS->dtex_qifmemo);
+ g_key_file_set_boolean (keyfile, group, "QifSwap", PREFS->dtex_qifswap);
+
//group = "Chart";
//g_key_file_set_boolean (keyfile, group, "Legend", PREFS->chart_legend);
@@ -1071,7 +1168,6 @@ gsize length;
g_key_file_free (keyfile);
}
- _homebank_pref_createformat();
_homebank_pref_init_measurement_units();
return retval;