/********************* * Create the dialog * ********************/ void gnc_sx_create_from_trans( GtkWindow *parent, Transaction *trans ) { #ifndef __MINGW32__ int errno; #endif SXFromTransInfo *sxfti = g_new0( SXFromTransInfo, 1); GtkBuilder *builder; GtkWidget *dialog; builder = gtk_builder_new(); gnc_builder_add_from_file (builder , "dialog-sx.glade", "freq_liststore"); gnc_builder_add_from_file (builder , "dialog-sx.glade", "sx_from_real_trans_dialog"); dialog = GTK_WIDGET(gtk_builder_get_object (builder, "sx_from_real_trans_dialog")); // Set the style context for this dialog so it can be easily manipulated with css gnc_widget_set_style_context (GTK_WIDGET(dialog), "GncSxFromTransDialog"); gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); sxfti->builder = builder; sxfti->dialog = dialog; sxfti->trans = trans; sxfti->sx = xaccSchedXactionMalloc(gnc_get_current_book ()); if ( (errno = sxftd_init( sxfti )) < 0 ) { if ( errno == SXFTD_ERRNO_OPEN_XACTION ) { gnc_error_dialog (NULL, "%s", _( "Cannot create a Scheduled Transaction " "from a Transaction currently " "being edited. Please Enter the " "Transaction before Scheduling." ) ); sxftd_close( sxfti, TRUE ); return; } else { g_error("sxftd_init: %d", errno); } } gtk_widget_show_all(GTK_WIDGET(sxfti->dialog)); gtk_builder_connect_signals(builder, sxfti); g_object_unref(G_OBJECT(builder)); }
/********************* * Create the dialog * ********************/ void gnc_sx_create_from_trans( Transaction *trans ) { int errno; SXFromTransInfo *sxfti = g_new0( SXFromTransInfo, 1); GtkBuilder *builder; GtkWidget *dialog; builder = gtk_builder_new(); gnc_builder_add_from_file (builder , "dialog-sx.glade", "freq_liststore"); gnc_builder_add_from_file (builder , "dialog-sx.glade", "sx_from_real_trans"); dialog = GTK_WIDGET(gtk_builder_get_object (builder, "sx_from_real_trans")); sxfti->builder = builder; sxfti->dialog = dialog; sxfti->trans = trans; sxfti->sx = xaccSchedXactionMalloc(gnc_get_current_book ()); if ( (errno = sxftd_init( sxfti )) < 0 ) { if ( errno == SXFTD_ERRNO_OPEN_XACTION ) { gnc_error_dialog( gnc_ui_get_toplevel(), "%s", _( "Cannot create a Scheduled Transaction " "from a Transaction currently " "being edited. Please Enter the " "Transaction before Scheduling." ) ); sxftd_close( sxfti, TRUE ); return; } else { g_error("sxftd_init: %d", errno); } } gtk_widget_show_all(GTK_WIDGET(sxfti->dialog)); gtk_builder_connect_signals(builder, sxfti); g_object_unref(G_OBJECT(builder)); }
void gnc_sx_create_from_trans( Transaction *trans ) { int errno; SXFromTransInfo *sxfti = g_new0( SXFromTransInfo, 1); sxfti->gxml = gnc_glade_xml_new(SX_GLADE_FILE, SXFTD_DIALOG_GLADE_NAME); sxfti->dialog = glade_xml_get_widget(sxfti->gxml, SXFTD_DIALOG_GLADE_NAME); sxfti->trans = trans; sxfti->sx = xaccSchedXactionMalloc(gnc_get_current_book ()); if ( (errno = sxftd_init( sxfti )) < 0 ) { if ( errno == SXFTD_ERRNO_OPEN_XACTION ) { gnc_error_dialog( gnc_ui_get_toplevel(), "%s", _( "Cannot create a Scheduled Transaction " "from a Transaction currently " "being edited. Please Enter the " "Transaction before Scheduling." ) ); sxftd_close( sxfti, TRUE ); return; } else { g_error("sxftd_init: %d", errno); } } gtk_widget_show_all(GTK_WIDGET(sxfti->dialog)); }