static void sxftd_advanced_clicked(SXFromTransInfo *sxfti) { guint sx_error = sxftd_compute_sx(sxfti); GncSxEditorDialog *adv_edit_dlg; GMainContext *context; if ( sx_error != 0 && sx_error != SXFTD_ERRNO_UNBALANCED_XACTION ) { // unbalanced-xaction is "okay", since this is also checked for by // the advanced editor. g_warning("something bad happened in sxftd_compute_sx [%d]", sx_error); return; } gtk_widget_hide( sxfti->dialog ); /* force a gui update. */ context = g_main_context_default(); while (g_main_context_iteration(context, FALSE)); adv_edit_dlg = gnc_ui_scheduled_xaction_editor_dialog_create(sxfti->sx, TRUE /* newSX */); /* close ourself, since advanced editing entails us, and there are sync * issues otherwise. */ sxftd_close(sxfti, FALSE); }
static void gppsl_row_activated_cb(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GncPluginPageSxList *page = GNC_PLUGIN_PAGE_SX_LIST(user_data); GncPluginPageSxListPrivate *priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(page); SchedXaction *sx = gnc_tree_view_sx_list_get_sx_from_path(GNC_TREE_VIEW_SX_LIST(priv->tree_view), path); gnc_ui_scheduled_xaction_editor_dialog_create(sx, FALSE); }
static void gnc_plugin_page_sx_list_cmd_new(GtkAction *action, GncPluginPageSxList *page) { SchedXaction *new_sx; gboolean new_sx_flag = TRUE; new_sx = xaccSchedXactionMalloc(gnc_get_current_book()); { GDate now; Recurrence *r = new Recurrence;//g_new0(Recurrence, 1); g_date_clear(&now, 1); gnc_gdate_set_today (&now); recurrenceSet(r, 1, PERIOD_MONTH, &now, WEEKEND_ADJ_NONE); RecurrenceList_t schedule = gnc_sx_get_schedule(new_sx); schedule.push_back(r); gnc_sx_set_schedule(new_sx, schedule); } gnc_ui_scheduled_xaction_editor_dialog_create(new_sx, new_sx_flag); }
static void _edit_sx(gpointer data, gpointer user_data) { gnc_ui_scheduled_xaction_editor_dialog_create((SchedXaction*)data, FALSE); }