void qof_book_print_dirty (const QofBook *book) { if (qof_book_session_not_saved(book)) PINFO("book is dirty."); qof_book_foreach_collection (book, (QofCollectionForeachCB)qof_collection_print_dirty, NULL); }
/** Update the actions sensitivity */ static void update_inactive_actions(GncPluginPage *plugin_page) { GncMainWindow *window; GtkActionGroup *action_group; // We are readonly - so we have to switch particular actions to inactive. gboolean is_readwrite = !qof_book_is_readonly(gnc_get_current_book()); gboolean is_dirty = qof_book_session_not_saved (gnc_get_current_book ()); // We continue only if the current page is a plugin page if (!plugin_page || !GNC_IS_PLUGIN_PAGE(plugin_page)) return; window = GNC_MAIN_WINDOW(plugin_page->window); g_return_if_fail(GNC_IS_MAIN_WINDOW(window)); action_group = gnc_main_window_get_action_group(window, PLUGIN_ACTIONS_NAME); g_return_if_fail(GTK_IS_ACTION_GROUP(action_group)); /* Set the action's sensitivity */ gnc_plugin_update_actions (action_group, readwrite_only_active_actions, "sensitive", is_readwrite); gnc_plugin_update_actions (action_group, dirty_only_active_actions, "sensitive", is_dirty); }