void qofEntrySetInvDiscType (GncEntry *entry, const char *type_string) { GncAmountType type; if (!entry) return; gncAmountStringToType(type_string, &type); if (entry->i_disc_type == type) return; gncEntryBeginEdit (entry); entry->i_disc_type = type; entry->values_dirty = TRUE; mark_entry (entry); gncEntryCommitEdit (entry); }
static gboolean ttentry_type_handler (xmlNodePtr node, gpointer taxtable_pdata) { struct ttentry_pdata *pdata = taxtable_pdata; GncAmountType type; char *str; gboolean ret; str = dom_tree_to_text (node); g_return_val_if_fail (str, FALSE); ret = gncAmountStringToType (str, &type); g_free (str); if (ret) gncTaxTableEntrySetType (pdata->ttentry, type); return ret; }
static gboolean entry_idisctype_handler (xmlNodePtr node, gpointer entry_pdata) { struct entry_pdata *pdata = entry_pdata; GncAmountType type; char *str; gboolean ret; str = dom_tree_to_text (node); g_return_val_if_fail (str, FALSE); ret = gncAmountStringToType (str, &type); g_free (str); if (ret) gncEntrySetInvDiscountType(pdata->entry, type); return ret; }