From 67ee1d99a4e7b226c98ab84a04864ed390ba9f2f Mon Sep 17 00:00:00 2001 From: Robert Fewell <14uBobIT@gmail.com> Date: Wed, 22 Aug 2018 20:38:36 +0100 Subject: [PATCH] Bug 796812 - gnc_date_cell_get_date and gnc_date_cell_get_date_gdate have different date validation behaviour - part 2 Change the two register get_help functions to use gnc_date_cell_get_date with the warn parameter FALSE, this way we only get one warning when the date is out of range. Also as no functions use gnc_date_cell_get_date_gdate it can be removed. --- .../register/ledger-core/gncEntryLedgerModel.c | 11 +++++------ .../register/ledger-core/split-register-model.c | 11 +++++------ gnucash/register/register-core/datecell.h | 6 ------ gnucash/register/register-gnome/datecell-gnome.c | 16 ---------------- 4 files changed, 10 insertions(+), 34 deletions(-) diff --git a/gnucash/register/ledger-core/gncEntryLedgerModel.c b/gnucash/register/ledger-core/gncEntryLedgerModel.c index 190809da8f..0a123839ec 100644 --- a/gnucash/register/ledger-core/gncEntryLedgerModel.c +++ b/gnucash/register/ledger-core/gncEntryLedgerModel.c @@ -564,19 +564,18 @@ static char * get_date_help (VirtualLocation virt_loc, gpointer user_data) { GncEntryLedger *ledger = user_data; BasicCell *cell; - char string[1024]; - GDate date; + const char *date_string; + time64 cell_time; cell = gnc_table_get_cell (ledger->table, virt_loc); if (!cell || !cell->value || *cell->value == '\0') return NULL; - g_date_clear (&date, 1); - gnc_date_cell_get_date_gdate ((DateCell *) cell, &date); + gnc_date_cell_get_date ((DateCell *) cell, &cell_time, FALSE); - g_date_strftime (string, sizeof (string), _("%A %d %B %Y"), &date); + date_string = gnc_print_time64 (cell_time, _("%A %d %B %Y")); - return g_strdup (string); + return g_strdup (date_string); } static char * get_desc_help (VirtualLocation virt_loc, gpointer user_data) diff --git a/gnucash/register/ledger-core/split-register-model.c b/gnucash/register/ledger-core/split-register-model.c index 0ecf31f7ee..d4c28d5f1f 100644 --- a/gnucash/register/ledger-core/split-register-model.c +++ b/gnucash/register/ledger-core/split-register-model.c @@ -968,19 +968,18 @@ gnc_split_register_get_date_help (VirtualLocation virt_loc, { SplitRegister *reg = user_data; BasicCell *cell; - char string[1024]; - GDate date; + const char *date_string; + time64 cell_time; cell = gnc_table_get_cell (reg->table, virt_loc); if (!cell || !cell->value || *cell->value == '\0') return NULL; - g_date_clear (&date, 1); - gnc_date_cell_get_date_gdate ((DateCell *) cell, &date); + gnc_date_cell_get_date ((DateCell *) cell, &cell_time, FALSE); - g_date_strftime (string, sizeof (string), _("%A %d %B %Y"), &date); + date_string = gnc_print_time64 (cell_time, _("%A %d %B %Y")); - return g_strdup (string); + return g_strdup (date_string); } static const char * diff --git a/gnucash/register/register-core/datecell.h b/gnucash/register/register-core/datecell.h index 709b7bc59a..8f96b7adcd 100644 --- a/gnucash/register/register-core/datecell.h +++ b/gnucash/register/register-core/datecell.h @@ -127,11 +127,5 @@ void gnc_date_cell_commit (DateCell *cell); */ void gnc_date_cell_get_date (DateCell *cell, time64 *time, gboolean warn); -/** Set a GDate to the value in the DateCell. - * @param cell The DateCell - * @param date A GDate* into which the functino will write the date. - */ - -void gnc_date_cell_get_date_gdate (DateCell *cell, GDate *date); /** @} */ #endif diff --git a/gnucash/register/register-gnome/datecell-gnome.c b/gnucash/register/register-gnome/datecell-gnome.c index 3b0399b043..8018516253 100644 --- a/gnucash/register/register-gnome/datecell-gnome.c +++ b/gnucash/register/register-gnome/datecell-gnome.c @@ -714,22 +714,6 @@ gnc_date_cell_leave (BasicCell *bcell) gnc_date_cell_set_value_secs ((DateCell *)bcell, time); } -void -gnc_date_cell_get_date_gdate (DateCell *cell, GDate *date) -{ - PopBox *box = cell->cell.gui_private; - - if (!cell || !date) - return; - - gnc_parse_date (&(box->date), cell->cell.value, FALSE); - - g_date_set_dmy(date, - box->date.tm_mday, - box->date.tm_mon + 1, - box->date.tm_year + 1900); -} - void gnc_date_cell_get_date (DateCell *cell, time64 *time, gboolean warn) {