void gnc_features_set_used (QofBook *book, const gchar *feature) { KvpFrame *frame; const gchar *description; gchar *kvp_path; g_return_if_fail (book); g_return_if_fail (feature); gnc_features_init(); /* Can't set an unknown feature */ description = g_hash_table_lookup (features_table, feature); if (!description) { PWARN("Tried to set unknown feature as used."); return; } frame = qof_book_get_slots (book); kvp_path = g_strconcat ("/features/", feature, NULL); kvp_frame_set_string (frame, kvp_path, description); qof_book_kvp_changed (book); }
static void finish_book_options_helper(GNCOptionWin * optionwin, gpointer user_data) { GNCOptionDB * options = user_data; kvp_frame *slots = qof_book_get_slots (gnc_get_current_book ()); gboolean use_split_action_for_num_before = qof_book_use_split_action_for_num_field (gnc_get_current_book ()); gboolean use_split_action_for_num_after; if (!options) return; gnc_option_db_commit (options); gnc_option_db_save_to_kvp (options, slots, TRUE); qof_book_kvp_changed (gnc_get_current_book()); use_split_action_for_num_after = qof_book_use_split_action_for_num_field (gnc_get_current_book ()); if (use_split_action_for_num_before != use_split_action_for_num_after) gnc_book_option_num_field_source_change_cb (use_split_action_for_num_after); }