Save the Account filter settings for a Budget Page

Use the newly created functions to save and restore the account filter
settings to the saved Budget section of the state file.
pull/453/head
Robert Fewell 7 years ago
parent d4c19efc8d
commit 274dd2f8bc

@ -496,6 +496,10 @@ gbv_create_widget(GncBudgetView *view)
g_signal_connect(G_OBJECT(tree_view), "size-allocate",
G_CALLBACK(gbv_treeview_resized_cb), view);
// Read account filter state information from budget section
gnc_tree_view_account_restore_filter (GNC_TREE_VIEW_ACCOUNT(priv->tree_view), priv->fd,
gnc_state_get_current(), gnc_tree_view_get_state_section (GNC_TREE_VIEW(priv->tree_view)));
gnc_budget_view_refresh(view);
}
@ -526,7 +530,7 @@ gnc_budget_view_save(GncBudgetView *view, GKeyFile *key_file, const gchar *group
priv = GNC_BUDGET_VIEW_GET_PRIVATE(view);
//FIXME
// Save the account filter and page state information to page section
gnc_tree_view_account_save(GNC_TREE_VIEW_ACCOUNT(priv->tree_view),
priv->fd, key_file, group_name);
LEAVE(" ");
@ -586,7 +590,7 @@ gnc_budget_view_restore(GncBudgetView* view, GKeyFile *key_file, const gchar *gr
/* Create the new view */
priv = GNC_BUDGET_VIEW_GET_PRIVATE(view);
//FIXME
// Restore the account filter and page state information from page section
gnc_tree_view_account_restore(GNC_TREE_VIEW_ACCOUNT(priv->tree_view),
priv->fd, key_file, group_name);
LEAVE(" ");
@ -619,7 +623,28 @@ gnc_budget_view_delete_budget(GncBudgetView *view)
LEAVE(" ");
}
/***********************************************************************
* Save the Account filter information for this budget *
* *
* @param view The view to which the budget is associated. *
**********************************************************************/
void
gnc_budget_view_save_account_filter (GncBudgetView *view)
{
GncBudgetViewPrivate *priv;
g_return_if_fail(view != NULL);
ENTER("view %p", view);
priv = GNC_BUDGET_VIEW_GET_PRIVATE (view);
// Save account filter state information to budget section
gnc_tree_view_account_save_filter (GNC_TREE_VIEW_ACCOUNT(priv->tree_view),
priv->fd, gnc_state_get_current(), gnc_tree_view_get_state_section (GNC_TREE_VIEW(priv->tree_view)));
LEAVE(" ");
}
#if 0
/***********************************************************************

@ -64,6 +64,7 @@ GncBudgetView *gnc_budget_view_new(GncBudget *budget, AccountFilterDialog* fd);
void gnc_budget_view_save(GncBudgetView* view, GKeyFile *key_file, const gchar* group_name);
void gnc_budget_view_refresh(GncBudgetView* view);
void gnc_budget_view_delete_budget(GncBudgetView* view);
void gnc_budget_view_save_account_filter(GncBudgetView *view);
gboolean gnc_budget_view_restore(GncBudgetView* view, GKeyFile *key_file, const gchar* group_name);
GtkTreeSelection* gnc_budget_view_get_selection(GncBudgetView* view);
Account* gnc_budget_view_get_account_from_path(GncBudgetView* view, GtkTreePath* path);

@ -480,6 +480,9 @@ gnc_plugin_page_budget_destroy_widget (GncPluginPage *plugin_page)
if (priv->budget_view)
{
// save the account filter state information to budget section
gnc_budget_view_save_account_filter (priv->budget_view);
if (priv->delete_budget)
{
gnc_budget_view_delete_budget (priv->budget_view);
@ -538,7 +541,7 @@ gnc_plugin_page_budget_save_page (GncPluginPage *plugin_page,
guid_to_string_buff(gnc_budget_get_guid(priv->budget), guid_str);
g_key_file_set_string(key_file, group_name, BUDGET_GUID, guid_str);
//FIXME
// Save the Budget page information to state file
gnc_budget_view_save(priv->budget_view, key_file, group_name);
LEAVE(" ");

Loading…
Cancel
Save